diff --git a/devstack/README.rst b/devstack/README.rst new file mode 100644 index 0000000..cca1b5e --- /dev/null +++ b/devstack/README.rst @@ -0,0 +1,33 @@ +=========================================== +DevStack plugin for neutron-fwaas-dashboard +=========================================== + +This is setup as a DevStack plugin. +For more information on DevStack plugins, +see the `DevStack Plugins documentation +`__. + +How to enable FWaaS v1 dsashboard +--------------------------------- + +Add the following to the localrc section of your local.conf. +You need to configure FWaaS v1 DevStack plugin as well. + +If ``q-fwaas-v1`` (or ``q-fwaas``) is enabled, +FWaaS v1 dashboard ``neutron-fwaas-v1-dashboard`` is automatically enabled. + +.. code-block:: none + + [[local|localrc]] + enable_plugin neutron-fwaas https://git.openstack.org/openstack/neutron-fwaas master + enable_service q-fwaas-v1 + enable_plugin neutron-fwaas-dashboard https://git.openstack.org/openstack/neutron-fwaas-dashboard master + +If you run horizon in a separate server from neutron server and +neutron-fwaas is not configured, +``neutron-fwaas-v1-dashboard`` is enabled by default. + +How to enable FWaaS v2 dsashboard +--------------------------------- + +Coming soon. diff --git a/devstack/plugin.sh b/devstack/plugin.sh new file mode 100644 index 0000000..7cabb1e --- /dev/null +++ b/devstack/plugin.sh @@ -0,0 +1,61 @@ +# plugin.sh - DevStack plugin.sh dispatch script neutron-fwaas-dashboard + +FWAAS_DASHBOARD_DIR=$(cd $(dirname $BASH_SOURCE)/.. && pwd) +FWAAS_ENABLED_DIR=$FWAAS_DASHBOARD_DIR/neutron_fwaas_dashboard/enabled +HORIZON_ENABLED_DIR=$DEST/horizon/openstack_dashboard/local/enabled + +function install_neutron_fwaas_dashboard { + setup_develop $FWAAS_DASHBOARD_DIR +} + +function configure_neutron_fwaas_dashboard { + if is_service_enabled neutron-fwaas-v1-dashboard; then + cp -a $FWAAS_ENABLED_DIR/_1460_project_firewalls_panel.py $HORIZON_ENABLED_DIR + fi + # NOTE: If locale directory does not exist, compilemessages will fail, + # so check for an existence of locale directory is required. + if [ -d $FWAAS_DASHBOARD_DIR/neutron_fwaas_dashboard/locale ]; then + (cd $FWAAS_DASHBOARD_DIR/neutron_fwaas_dashboard; \ + DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages) + fi +} + +# check for service enabled +if is_service_enabled neutron-fwaas-v1-dashboard neutron-fwaas-v2-dashboard; 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 Neutron FWaaS Dashboard" + install_neutron_fwaas_dashboard + + elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then + # Configure after the other layer 1 and 2 services have been configured + echo_summary "Configurng Neutron FWaaS Dashboard" + configure_neutron_fwaas_dashboard + + elif [[ "$1" == "stack" && "$2" == "extra" ]]; then + # no-op + : + fi + + if [[ "$1" == "unstack" ]]; then + # Remove enabled file(s) + for _enabled_file in $FWAAS_ENABLED_DIR/_[0-9]*.py; do + _enabled_basename=$(basename $_enabled_file .py) + rm -f $HORIZON_ENABLED_DIR/${_enabled_basename}.py* + rm -f $HORIZON_ENABLED_DIR/__pycache__/${_enabled_basename}.*pyc + done + fi + + if [[ "$1" == "clean" ]]; then + # Remove state and transient data + # Remember clean.sh first calls unstack.sh + # no-op + : + fi +fi diff --git a/devstack/settings b/devstack/settings new file mode 100644 index 0000000..3cc521e --- /dev/null +++ b/devstack/settings @@ -0,0 +1,8 @@ +# settings file for neutron-fwaas-dashboard plugin +if is_service_enabled q-fwaas q-fwaas-v1; then + enable_service neutron-fwaas-v1-dashboard +elif is_service_enabled q-fwaas-v2; then + enable_service neutron-fwaas-v2-dashboard +else + enable_service neutron-fwaas-v1-dashboard +fi diff --git a/doc/source/contributor/devstack-plugin.rst b/doc/source/contributor/devstack-plugin.rst new file mode 100644 index 0000000..da85f63 --- /dev/null +++ b/doc/source/contributor/devstack-plugin.rst @@ -0,0 +1 @@ +.. include:: ../../../devstack/README.rst diff --git a/doc/source/index.rst b/doc/source/index.rst index adfc931..98639c1 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -18,12 +18,22 @@ Neutron FWaaS Dashboard Project ================================ -Introduction -============ - Neutron FWaaS Dashboard is a horizon plugin for Neutron FWaaS. +User Documentation +------------------ + +Under preparing. + +Contributor Guide +----------------- + +.. toctree:: + :maxdepth: 1 + + contributor/devstack-plugin + Release Notes -============= +------------- See http://docs.openstack.org/releasenotes/neutron-fwaas-dashboard/.