Adds Ironic-UI Devstack plugin

This change proposes to add Ironic-UI Devstack plugin.

Change-Id: Ided8819c2ec9f8fbbbbf1d76a7ec41ae7717288a
Closes-Bug: #1663840
This commit is contained in:
Rushil Chugh 2017-03-16 00:42:27 -04:00
parent 64378a51bc
commit ee8fa6deca
3 changed files with 69 additions and 0 deletions

View File

@ -67,6 +67,24 @@ http://docs.openstack.org/developer/horizon/quickstart.html
./run_tests.sh --runserver ./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 The Ironic Bare Metal Provisioning plugin should now be visible in the Horizon
navigation. navigation.

46
devstack/plugin.sh Normal file
View File

@ -0,0 +1,46 @@
# plugin.sh - DevStack plugin.sh dispatch script ironic-ui
function install_ironic_ui {
# NOTE(crushil): workaround for devstack bug: 1540328
# where devstack installs 'test-requirements' but should not do it
# for ironic-ui project as it installs Horizon from url.
# Remove following two 'mv' commands when mentioned bug is fixed.
mv $IRONIC_UI_DIR/test-requirements.txt $IRONIC_UI_DIR/_test-requirements.txt
setup_develop ${IRONIC_UI_DIR}
mv $IRONIC_UI_DIR/_test-requirements.txt $IRONIC_UI_DIR/test-requirements.txt
}
# check for service enabled
if is_service_enabled horizon && is_service_enabled ironic && is_service_enabled ironic-ui; then
if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
# Set up system services
# no-op
:
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
# Perform installation of service source
echo_summary "Installing Ironic UI"
install_ironic_ui
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
# Configure after the other layer 1 and 2 services have been configured
echo_summary "Configuring Ironic UI"
cp -a ${IRONIC_UI_DIR}/ironic_ui/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
# no-op
:
fi
if [[ "$1" == "unstack" ]]; then
# no-op
:
fi
if [[ "$1" == "clean" ]]; then
# Remove state and transient data
# Remember clean.sh first calls unstack.sh
# no-op
:
fi
fi

5
devstack/settings Normal file
View File

@ -0,0 +1,5 @@
# settings file for ironic-ui plugin
enable_service ironic-ui
# set up default directories
IRONIC_UI_DIR=${IRONIC_UI_DIR:=$DEST/ironic-ui}