Commit Graph

29 Commits

Author SHA1 Message Date
Andreas Jaeger 6d253ca7f1 Cleanup py27 support
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
  know about the requirement
- Remove obsolete sections from setup.cfg
- Update classifiers
- Remove install_command from tox.ini, the default is fine
- Use TOX_CONSTRAINTS_FILE instead of obsolete UPPER_CONSTRAINTS_FILE.
- Update hacking to current version 3.1.0, fix problems found.

Change-Id: I86c18b4c73f9b3dc0b3d804559d825dac5a78436
2020-06-09 14:00:32 +02:00
Peter Piela 2e9c34b4cc Added support for injecting non-maskable interrupts
A a new action 'Inject NMI' has been added to node actions dropdown
menu in the 'Node Details' page.

Closes-Bug: #1713519
Change-Id: I01e9d7f352119c201d701127bb08fa2f0607a214
2018-01-02 13:57:31 +00:00
Anup Navare c73492c877 Allow selecting interfaces while enrolling nodes
Adds support for selecting from the enabled interfaces for the
underlying driver while creating nodes. A new tab is added in the
enroll node modal.

Also enhanced "package.json" and "karma.conf.js" to widen the
range of accepted versions and jasmine capabilities.

Change-Id: Ie1b24cbf147b849a1d57fcdcbd735429ea7c9e34
Partial-Bug: #1672729
2017-10-22 20:21:09 -04:00
Jenkins 3929d0696f Merge "Set target raid configuration on a node" 2017-09-26 14:48:41 +00:00
Peter Piela 47c6cee5a8 Cleanup ironic-ui REST API
Improvements include:
- Update the delete node/port endpoints to make them more RESTy and consistent with
the underlying Ironic web API
- Update the endpoint for retrieving the ports associated with a node
- Improve consistency of the code documentation.

Change-Id: I79165c75844dbc15ffd12536ba0e6edea532cd22
2017-09-01 15:40:28 -04:00
Peter Piela c5e47e36ff Cleanup ironic-ui portgroup REST interface
Minor modifications to the ironic-ui REST endpoints for portgroups. The
endpoint to query the portgroups associated with a node is now:
get /api/ironic/nodes/<node-id>/portgroups, and a portgroup is
deleted using: delete /api/ironic/portgroups/<portgroup-id>

Change-Id: I1c77869cbb395410612619f382b68eda7ac64198
2017-08-31 13:39:31 -04:00
Ramamani Yeleswarapu 5b9c6f61b7 Set target raid configuration on a node
Adds menu option to set basic target raid configuration.

Unit tests to be added in a follow-up patch.

Change-Id: I2886e5ca4e5757209ff6da5f9162f874f648e135
Partial-Bug: #1648553
2017-08-24 14:08:00 -07:00
Peter Piela 00a09331cb Adds support for editing portgroups
Adds support for editing portgroups from the node-details/configuration
page. Each entry in the portgroups table has an associated
``Edit portgroup`` button that when clicked will launch a modal
dialog that guides the user in making changes.

Unit tests will follow.

Change-Id: I8907800f23cc42c301fc8f077fb00a9a6cb18821
2017-07-27 20:46:28 -04:00
Peter Piela 386b6783cf Add the capability to associate ports with portgroups
The create/edit port elements have been modified to enable
specification of an associated portgroup. The portgroup table in
the node-detail/configuration tab has been modeified to show the
number of ports for each portgroup.

Change-Id: I851b07110bcf85cce8ba1351509d4a8afcc9cd60
2017-07-18 16:51:28 -04:00
Ramamani Yeleswarapu 41488737f6 Set current boot device on a node
This would also include collecting the possible boot devices.

Change-Id: I49c47169d5c511f992480c60f64062183064bfc6
Closes-Bug: #1671567
2017-06-30 12:05:42 -07:00
Peter Piela 863e9e6295 Add functionality to view portgroups
This is the first in a series of reviews that will add functionality
to manage portgroups within the Ironic UI. Specifically, this commit
adds the following items:

- API functions for listing, creating, and deleting portgroups
- A tabular view of the portgroups associated with a node in
  the node-details/configuration table
- The portgroup table utilizes expandable detail rows for
  giving the user access to additional information. Detail
  rows provide a scalable way to display additional information
  without resorting to a separate tab/page.
- The node-details/configuration ports table has been reworked
  to take advantage of detail rows.
- The batch and inividual delete-portgroup actions are working.

I am looking for feedback on all aspects of the new functionality,
including the use of detail rows in data tables.

Change-Id: I4c150db4e56fa6970cc112c87cdc54cb3fbb28e5
2017-06-28 16:02:26 -04:00
Peter Piela eba06599a4 Modify regex pattern used to validate node ids
We have been changing the ironic-ui client api to accept both node
uuids and names (to be consistent with the ironic client); however,
the urls defining the rest endpoints only accepted uuids. This
change uses a logical-name-pattern to accept both uuids and names.

Change-Id: I288d8e3c4d949e4787f67b62d87372fec539dd32
2017-05-18 10:02:07 -04:00
Peter Piela 47198c2af2 Add support for soft power transitions
- Add support for reboot, soft reboot, and soft power off transitions
- When appropriate node action lists will contain additional items
for soft power transitions
- The order of items in node action lists has been slightly modified,
placing a known to exist singleton "Edit" at the top of the list.
Power items are now generated as a data-driven enumeration.

Change-Id: If308539e78a7bf707304049534affaa8468fe9f0
Closes-Bug: #1663341
2017-05-01 20:07:51 -04:00
Peter Piela 6193569103 Add support for starting/stopping/accessing the serial console
- The action menu in the node-details panel has a new item
Enable|Disable console.
- The node-details/overview panel has a new "Console info." item
in the "General" section. The value of this field is dependent on
the console type. For "shellinabox" the value is an anchor with
the URL of the console and title "shellinabox". For others, the
value is a string representation of the console_info object
returned by the get_console api call.

Closes-Bug: #1655690
Change-Id: Ibfa687f50d2251987276367d743ffb2a88e52796
2017-04-17 18:00:29 -04:00
Jenkins ea73fa49d2 Merge "Show boot device in Node Details/Configuration" 2017-03-30 10:29:17 +00:00
Miles Gould 18e6379814 Show boot device in Node Details/Configuration
Partial-Bug: #1671567
Change-Id: I3208dde3e47477e42f4ce59d8c65e8d5049d0c0e
2017-03-28 15:25:49 +01:00
Jenkins 51d6a0ee98 Merge "Fix docstrings for node validation" 2017-03-20 18:35:32 +00:00
Miles Gould 64378a51bc Fix typos in docstrings
"maintetance" -> "maintenance"

Change-Id: Ie60993c721c72dfbb742397471eb9f46db18dd69
2017-03-13 14:41:47 +00:00
Miles Gould f101fb80d2 Fix docstrings for node validation
The docstrings for the worker method and the API call claimed they return
a dictionary, but they actually return a list of dictionaries.

Change-Id: I8f6bd9cf351021a1ea37bc907aa1a28f8a476027
2017-03-13 14:40:51 +00:00
Peter Piela 3fc9f6039a Cleanup code associated with the ironic REST api
- In the ironic_rest_api module use specific names like node, port,
driver for return values. I believe this is more descriptive than
the current approach of using "items" in all function returns. The
use of specific names also reduces the possibility of cut and paste
errors in client code.
- Rethink data returned from functions in the ironic.service. For
example, I believe that a function like getNodes should return a
list of nodes as opposed to a HTTP response as is done today. The
client should receieve the requested data, and be abstracted from
how it was obtained
- Modify controllers to take advantage of the api simplifications

Change-Id: Ica8c9ff8dfa9299cd5ef2893d296e366065bca97
2017-02-28 14:53:31 -05:00
Peter Piela 736c2dab54 Add support for manual cleaning of nodes
- The action list associated with a node in manageable state will have
a "Clean" item.
- When the clean action is initiated the user is prompted with a modal
dialog in which he or she enters or copies a set of cleaning steps
in JSON format.
- Basic validation is performed on the JSON. The user is able to
submit the cleaning request only when validation is successful.
- Cleaning is not currently available as a batch action.

Change-Id: I2af9385e2d9532a9ec46993d65f8c510e419b6c9
Closes-Bug: #1648559
2017-02-14 11:56:25 -05:00
Peter Piela 0c4c948324 Add support for editing Ironic network ports
The port table in node-detais/configuration tab has been updated to
include an "Edit port" action for each port.

Closes-Bug: #1648563
Change-Id: I04ec8904dc67f98ff9f0d94a7fa46618cfba956c
2017-02-06 09:28:51 -05:00
Peter Piela eeaa2ecf06 Incorporate driver-validation into node-detail panels
Driver validation information has been added to the node-details/
configuration page. The driver validation information is located
in close proximity to the driver properties section, and will
update as property values are changed.

To accomodate the driver validation information the following
changes have been made to the layout and organization of the
node-details/configuration page:
(1) The list of Extra properties has been removed from the General
section and is now treated as a separate collection in a similar
manner to Properties and Instance_info.
(2) The new grid layout is:
  Row 1 (top) General, Ports
  Row 2 Driver Info, Driver Validation
  Row 3 Properties, Instance Info
  Row 4 Extra
(3) The list of instance_info items displayed for the pxe_ssh
driver has been enhanced.

Change-Id: I0ba8ac0fc1e4a1b0f2f4b03b738f56ed380a11c7
2016-11-21 13:32:22 -05:00
Peter Piela a5220eb243 Added support for editing Ironic nodes
- Split out base-node from enroll-node and use it to implement edit-node
- Enrollemnt no longer requires that all required attributes be specified
- Edit-node functionality supports instance_info properties

Change-Id: Ied1f21c8790f0d9dc3a238defa930181789a7281
Co-Authored-By: Beth Elwell
2016-09-27 11:43:06 -05:00
Peter Piela ef29a977b9 Minor state-machine fixes/updates
- Added missing form elements to the enroll-node form
- Improved the node-list refresh behavior. Refresh the table once when all
port requests have completed.
- Replace the use of "state" with "verb" in the functions that set node
provision-state.

Change-Id: I78abf7c88693e833c449b4cc027573111df5d833
2016-09-22 12:41:43 -04:00
Elizabeth Elwell e476fe9344 Updated to ironic API v1.11 and added manageable state
Newly registered nodes begin in the enroll provision state by default
instead of available.

Actions added to the current dropdown on node view to enable move to
manageable, available and active states. Actions are enabled and
disabled in view as the current state permits.

All necessary fields required to move a node to available state are
still required on the enroll node modal. This will be changed to only
the necessary fields to move a node to enroll state once the
functionality for editing a node is ready.

Change-Id: I349a293a1069ad01fd782d1828bad607f9b9d6b0
Co-Authored-By: Peter Piela <ppiela@cray.com>
2016-09-19 15:24:50 +01:00
Peter Piela 04973a788d Added support for creating/deleting network ports
Network ports can be created in both the node list and node
detail pages. Network ports can be deleted from the the node
detail page.

Change-Id: I3047a0adef9df58aaabd0f2d99a09351233fa06b
2016-08-16 14:17:51 +01:00
Peter Piela 3a8ff7b3c8 Added functionality to enroll a node, and delete node(s)
These changes add functionality to enroll a node into the Ironic database,
and delete node(s) from the database.

Change-Id: Id0837b75e946ff702e81a47b9f8c3656beb5a783
2016-05-10 10:26:31 -04:00
Elizabeth Elwell df7ba412ea Changed naming of Ironic api files
Changed naming of Ironic api files from horizon plugin defaults to
meaningful names for the Ironic-UI. Code has also been amended where
necessary to account for changes to file names.

Change-Id: Ibfb60e8705d2d599bb9c15fa5aeb44c3b2e90394
2016-03-04 23:25:01 +00:00