Ironic plugin UI for Horizon to allow users to view and manage bare metal.
Go to file
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
devstack Adds Ironic-UI Devstack plugin 2017-03-24 14:59:25 -04:00
doc/source Replace ironic with ironic-ui in contributing doc 2017-02-14 10:25:12 +08:00
ironic_ui Add functionality to view portgroups 2017-06-28 16:02:26 -04:00
releasenotes Add functionality to view portgroups 2017-06-28 16:02:26 -04:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 17:16:48 +05:30
.eslintignore Added eslint config to ironic-ui 2016-03-23 11:55:49 +00:00
.eslintrc Added eslint config to ironic-ui 2016-03-23 11:55:49 +00:00
.gitignore Setup JavaScript test environment 2017-05-25 13:10:57 +00:00
.gitreview Added .gitreview 2016-01-11 14:56:03 +00:00
.mailmap Added cookiecutter files 2016-01-20 19:00:52 +00:00
.testr.conf Added cookiecutter files 2016-01-20 19:00:52 +00:00
babel-django.cfg Fix translation setup 2016-03-13 08:00:06 +00:00
babel-djangojs.cfg Fix translation setup 2016-03-13 08:00:06 +00:00
CONTRIBUTING.rst Added cookiecutter files 2016-01-20 19:00:52 +00:00
HACKING.rst Added cookiecutter files 2016-01-20 19:00:52 +00:00
LICENSE Added cookiecutter files 2016-01-20 19:00:52 +00:00
manage.py Plugin setup 2016-02-01 13:15:11 +00:00
MANIFEST.in Plugin setup 2016-02-01 13:15:11 +00:00
package.json Unit test framework for Ironic-UI API service 2017-06-20 13:07:13 -04:00
README.rst Setup JavaScript test environment 2017-05-25 13:10:57 +00:00
requirements.txt Updated from global requirements 2017-04-12 04:12:42 +00:00
setup.cfg Remove py34 env from tox 2017-02-09 11:39:48 +08:00
setup.py Updated from global requirements 2017-03-05 03:13:02 +00:00
test-requirements.txt Updated from global requirements 2017-06-27 12:11:15 +00:00
test-shim.js Setup JavaScript test environment 2017-05-25 13:10:57 +00:00
tox.ini Fix oslo_debug_helper not running 2017-02-22 20:10:02 +08:00

Team and repository tags

image

Ironic UI

The Ironic UI is a Horizon plugin that will allow users to view and manage bare metal nodes, ports and drivers.

Features

  • View bare metal nodes
  • View node details
  • Apply maintenance and power on/off actions to the nodes

Installation Instructions

Please note that the following instructions assume that you have an existing installation of the OpenStack Horizon dashboard application. For Horizon installation please see http://docs.openstack.org/developer/horizon/quickstart.html

  1. Clone the Ironic UI repository:

    git clone https://git.openstack.org/openstack/ironic-ui
  2. Change into the root directory of your horizon installation and activate the python virtual environment. Example:

    source .venv/bin/activate

    Note

    The .venv folder is preinstalled when horizon is setup with ./run_tests.sh. Do not attempt to reinstall the virtual environment.

  3. Copy the _2200_ironic.py file from ironic_ui/enabled/_2200_ironic.py file to horizon/openstack_dashboard/local/enabled directory. Example, set as if being executed from the root of the ironic-ui repository:

    cp ./ironic_ui/enabled/_2200_ironic.py ../horizon/horizon/openstack_dashboard/local/enabled
  4. Change into the ironic-ui repository and package the plugin:

    pip install -e .

    This will build and install the ironic-ui plugin into the active virtual environment associated with your horizon installation. The plugin is installed in "editable" mode as a link back to your ironic-ui plugin directory.

    Also ensure that all packages as per requirements.txt have been installed.

  5. Change back into the horizon repository and bring up your environment:

    ./run_tests.sh --runserver

    The Ironic Bare Metal Provisioning plugin should now be visible in the Horizon navigation.

Installation Instructions with devstack

In order to use the Ironic UI with devstack, you will need to enable the UI plugin separately. This is done in a similar fashion to enabling Ironic for devstack. Make sure you have horizon enabled (enabled by default in devstack). Then, enable the Ironic UI plugin appending the following line to the end of the local.conf file, just after Ironic plugin enablement:

enable_plugin ironic-ui https://github.com/openstack/ironic-ui

After this, you can run ./stack.sh from the devstack directory.

The Ironic Bare Metal Provisioning plugin should now be visible in the Horizon navigation.

  1. Run JavaScript unit tests by either:

    Running the tests locally with npm run test.

    Visiting http://localhost:8000/jasmine/?spec=horizon.dashboard.admin.ironic in your browser.

Uninstallation

To uninstall, use pip uninstall ironic-ui from with-in the horizon virtual environment. You will also need to remove the openstack_dashboard/enabled/_2200_ironic.py file from the horizon installation.