diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 106b2acca..cc6dbb9d6 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -64,9 +64,78 @@ Run the service with::
Of course you may have to modify ``example.conf`` to match your OpenStack
environment.
-You can develop and test **ironic-inspector** using
-`DevStack `_ plugin - see
-https://etherpad.openstack.org/p/DiscoverdDevStack for the current status.
+You can develop and test **ironic-inspector** using DevStack - see
+`DevStack Support`_ for the current status.
+
+DevStack Support
+~~~~~~~~~~~~~~~~
+
+`DevStack `_ provides a way to
+quickly build full OpenStack development environment with requested
+components. There is a plugin for installing **ironic-inspector** on DevStack.
+
+Example local.conf
+------------------
+
+::
+
+ [[local|localrc]]
+ enable_service ironic ir-api ir-cond
+ disable_service n-net n-novnc
+ enable_service neutron q-svc q-agt q-dhcp q-l3 q-meta
+ disable_service heat h-api h-api-cfn h-api-cw h-eng
+
+ enable_plugin ironic-inspector https://github.com/stackforge/ironic-discoverd
+
+ IRONIC_BAREMETAL_BASIC_OPS=True
+ IRONIC_VM_COUNT=2
+ IRONIC_VM_SPECS_RAM=1024
+ IRONIC_DEPLOY_FLAVOR="fedora deploy-ironic"
+
+ IRONIC_INSPECTOR_RAMDISK_FLAVOR="fedora ironic-discoverd-ramdisk"
+
+ VIRT_DRIVER=ironic
+
+ LOGDAYS=1
+ LOGFILE=~/logs/stack.sh.log
+ SCREEN_LOGDIR=~/logs/screen
+
+ DEFAULT_INSTANCE_TYPE=baremetal
+ TEMPEST_ALLOW_TENANT_ISOLATION=False
+
+Notes
+-----
+
+* Replace "fedora" with whatever you have
+
+* You need at least 1G of RAM for VMs, default value of 512 MB won't work
+
+* Network configuration is pretty sensitive, better not to touch it
+ without deep understanding
+
+* Before restarting stack.sh::
+
+ rm -rf /opt/stack/ironic-inspector
+
+Test
+----
+
+There is a test script included::
+
+ source devstack/openrc admin admin
+ /opt/stack/ironic-inspector/functest/devstack-test.sh
+
+Usage
+-----
+
+Start introspection for a node manually::
+
+ source devstack/openrc admin admin
+ openstack baremetal introspection start
+
+Then check status via API::
+
+ openstack baremetal introspection status
Writing a Plugin
~~~~~~~~~~~~~~~~
diff --git a/README.rst b/README.rst
index a27807d9b..95f1622d7 100644
--- a/README.rst
+++ b/README.rst
@@ -104,8 +104,7 @@ environment)::
pip install ironic-inspector
Also there is a `DevStack `_
-plugin for **ironic-inspector** - see
-https://etherpad.openstack.org/p/DiscoverdDevStack for the current status.
+plugin for **ironic-inspector** - see CONTRIBUTING.rst_ for the current status.
Finally, some distributions (e.g. Fedora) provide **ironic-inspector**
packaged, some of them - under its old name *ironic-discoverd*.
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index 146c75285..a87c90a43 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -1,25 +1,26 @@
-IRONIC_DISCOVERD_DEBUG=${IRONIC_DISCOVERD_DEBUG:-false}
-IRONIC_DISCOVERD_DIR=$DEST/ironic-discoverd
-IRONIC_DISCOVERD_BIN_DIR=$(get_python_exec_prefix)
-IRONIC_DISCOVERD_BIN_FILE=$IRONIC_DISCOVERD_BIN_DIR/ironic-discoverd
-IRONIC_DISCOVERD_CONF_DIR=${IRONIC_DISCOVERD_CONF_DIR:-/etc/ironic-discoverd}
-IRONIC_DISCOVERD_CONF_FILE=$IRONIC_DISCOVERD_CONF_DIR/discoverd.conf
-IRONIC_DISCOVERD_DHCP_CONF_FILE=$IRONIC_DISCOVERD_CONF_DIR/dnsmasq.conf
-IRONIC_DISCOVERD_DATA_DIR=$DATA_DIR/ironic-discoverd
-IRONIC_DISCOVERD_ADMIN_USER=${IRONIC_DISCOVERD_ADMIN_USER:-ironic-discoverd}
-IRONIC_DISCOVERD_MANAGE_FIREWALL=$(trueorfalse True $IRONIC_DISCOVERD_MANAGE_FIREWALL)
-IRONIC_DISCOVERD_HOST=$HOST_IP
-IRONIC_DISCOVERD_PORT=5050
-IRONIC_DISCOVERD_URI="http://$IRONIC_DISCOVERD_HOST:$IRONIC_DISCOVERD_PORT"
-IRONIC_DISCOVERD_RAMDISK_ELEMENT=${IRONIC_DISCOVERD_RAMDISK_ELEMENT:-ironic-discoverd-ramdisk}
-IRONIC_DISCOVERD_RAMDISK_FLAVOR=${IRONIC_DISCOVERD_RAMDISK_FLAVOR:-fedora $IRONIC_DISCOVERD_RAMDISK_ELEMENT}
+IRONIC_INSPECTOR_DEBUG=${IRONIC_INSPECTOR_DEBUG:-false}
+IRONIC_INSPECTOR_DIR=$DEST/ironic-inspector
+IRONIC_INSPECTOR_BIN_DIR=$(get_python_exec_prefix)
+IRONIC_INSPECTOR_BIN_FILE=$IRONIC_INSPECTOR_BIN_DIR/ironic-inspector
+IRONIC_INSPECTOR_CONF_DIR=${IRONIC_INSPECTOR_CONF_DIR:-/etc/ironic-inspector}
+IRONIC_INSPECTOR_CONF_FILE=$IRONIC_INSPECTOR_CONF_DIR/inspector.conf
+IRONIC_INSPECTOR_CMD="sudo $IRONIC_INSPECTOR_BIN_FILE --config-file $IRONIC_INSPECTOR_CONF_FILE"
+IRONIC_INSPECTOR_DHCP_CONF_FILE=$IRONIC_INSPECTOR_CONF_DIR/dnsmasq.conf
+IRONIC_INSPECTOR_DATA_DIR=$DATA_DIR/ironic-inspector
+IRONIC_INSPECTOR_ADMIN_USER=${IRONIC_INSPECTOR_ADMIN_USER:-ironic-inspector}
+IRONIC_INSPECTOR_MANAGE_FIREWALL=$(trueorfalse True $IRONIC_INSPECTOR_MANAGE_FIREWALL)
+IRONIC_INSPECTOR_HOST=$HOST_IP
+IRONIC_INSPECTOR_PORT=5050
+IRONIC_INSPECTOR_URI="http://$IRONIC_INSPECTOR_HOST:$IRONIC_INSPECTOR_PORT"
+IRONIC_INSPECTOR_RAMDISK_ELEMENT=${IRONIC_INSPECTOR_RAMDISK_ELEMENT:-ironic-discoverd-ramdisk}
+IRONIC_INSPECTOR_RAMDISK_FLAVOR=${IRONIC_INSPECTOR_RAMDISK_FLAVOR:-fedora $IRONIC_INSPECTOR_RAMDISK_ELEMENT}
# These should not overlap with other ranges/networks
-IRONIC_DISCOVERD_INTERNAL_IP=${IRONIC_DISCOVERD_INTERNAL_IP:-172.24.5.254}
-IRONIC_DISCOVERD_INTERNAL_SUBNET_SIZE=${IRONIC_DISCOVERD_INTERNAL_SUBNET_SIZE:-24}
-IRONIC_DISCOVERD_DHCP_RANGE=${IRONIC_DISCOVERD_DHCP_RANGE:-172.24.5.100,172.24.5.253}
-IRONIC_DISCOVERD_INTERFACE=${IRONIC_DISCOVERD_INTERFACE:-br-discoverd}
-IRONIC_DISCOVERD_INTERNAL_URI="http://$IRONIC_DISCOVERD_INTERNAL_IP:$IRONIC_DISCOVERD_PORT"
-IRONIC_DISCOVERD_INTERNAL_IP_WITH_NET=$IRONIC_DISCOVERD_INTERNAL_IP/$IRONIC_DISCOVERD_INTERNAL_SUBNET_SIZE
+IRONIC_INSPECTOR_INTERNAL_IP=${IRONIC_INSPECTOR_INTERNAL_IP:-172.24.5.254}
+IRONIC_INSPECTOR_INTERNAL_SUBNET_SIZE=${IRONIC_INSPECTOR_INTERNAL_SUBNET_SIZE:-24}
+IRONIC_INSPECTOR_DHCP_RANGE=${IRONIC_INSPECTOR_DHCP_RANGE:-172.24.5.100,172.24.5.253}
+IRONIC_INSPECTOR_INTERFACE=${IRONIC_INSPECTOR_INTERFACE:-br-inspector}
+IRONIC_INSPECTOR_INTERNAL_URI="http://$IRONIC_INSPECTOR_INTERNAL_IP:$IRONIC_INSPECTOR_PORT"
+IRONIC_INSPECTOR_INTERNAL_IP_WITH_NET=$IRONIC_INSPECTOR_INTERNAL_IP/$IRONIC_INSPECTOR_INTERNAL_SUBNET_SIZE
### Utilities
@@ -30,102 +31,106 @@ function mkdir_chown_stack {
sudo chown $STACK_USER "$1"
}
-function discoverd_iniset {
- iniset "$IRONIC_DISCOVERD_CONF_FILE" discoverd $1 $2
+function inspector_iniset {
+ iniset "$IRONIC_INSPECTOR_CONF_FILE" $1 $2 $3
}
### Install-start-stop
-function install_discoverd {
- setup_develop $IRONIC_DISCOVERD_DIR
+function install_inspector {
+ setup_develop $IRONIC_INSPECTOR_DIR
# NOTE(dtantsur): required for tests
install_package jq
}
-function install_discoverd_dhcp {
+function install_inspector_dhcp {
install_package dnsmasq
}
-function start_discoverd {
- screen_it ironic-discoverd "cd $IRONIC_DISCOVERD_DIR && sudo $IRONIC_DISCOVERD_BIN_FILE --config-file $IRONIC_DISCOVERD_CONF_FILE"
+function start_inspector {
+ screen_it ironic-inspector \
+ "cd $IRONIC_INSPECTOR_DIR && $IRONIC_INSPECTOR_CMD"
}
-function start_discoverd_dhcp {
- screen_it ironic-discoverd-dhcp "sudo dnsmasq --conf-file=$IRONIC_DISCOVERD_DHCP_CONF_FILE"
+function start_inspector_dhcp {
+ screen_it ironic-inspector-dhcp \
+ "sudo dnsmasq --conf-file=$IRONIC_INSPECTOR_DHCP_CONF_FILE"
}
-function stop_discoverd {
- screen -S $SCREEN_NAME -p ironic-discoverd -X kill
+function stop_inspector {
+ screen -S $SCREEN_NAME -p ironic-inspector -X kill
}
-function stop_discoverd_dhcp {
- screen -S $SCREEN_NAME -p ironic-discoverd-dhcp -X kill
+function stop_inspector_dhcp {
+ screen -S $SCREEN_NAME -p ironic-inspector-dhcp -X kill
}
### Configuration
function prepare_tftp {
- IRONIC_DISCOVERD_IMAGE_PATH="$TOP_DIR/files/ironic-discoverd"
- IRONIC_DISCOVERD_KERNEL_PATH="$IRONIC_DISCOVERD_IMAGE_PATH.kernel"
- IRONIC_DISCOVERD_INITRAMFS_PATH="$IRONIC_DISCOVERD_IMAGE_PATH.initramfs"
+ IRONIC_INSPECTOR_IMAGE_PATH="$TOP_DIR/files/ironic-inspector"
+ IRONIC_INSPECTOR_KERNEL_PATH="$IRONIC_INSPECTOR_IMAGE_PATH.kernel"
+ IRONIC_INSPECTOR_INITRAMFS_PATH="$IRONIC_INSPECTOR_IMAGE_PATH.initramfs"
- if [ ! -e "$IRONIC_DISCOVERD_KERNEL_PATH" -o ! -e "$IRONIC_DISCOVERD_INITRAMFS_PATH" ]; then
+ if [ ! -e "$IRONIC_INSPECTOR_KERNEL_PATH" -o ! -e "$IRONIC_INSPECTOR_INITRAMFS_PATH" ]; then
if [[ $(type -P ramdisk-image-create) == "" ]]; then
pip_install diskimage_builder
fi
- ramdisk-image-create $IRONIC_DISCOVERD_RAMDISK_FLAVOR \
- -o $IRONIC_DISCOVERD_IMAGE_PATH
+ ramdisk-image-create $IRONIC_INSPECTOR_RAMDISK_FLAVOR \
+ -o $IRONIC_INSPECTOR_IMAGE_PATH
fi
mkdir_chown_stack "$IRONIC_TFTPBOOT_DIR/pxelinux.cfg"
-
- cp $IRONIC_DISCOVERD_KERNEL_PATH $IRONIC_DISCOVERD_INITRAMFS_PATH \
+ cp $IRONIC_INSPECTOR_KERNEL_PATH $IRONIC_INSPECTOR_INITRAMFS_PATH \
$IRONIC_TFTPBOOT_DIR
- cat > "$IRONIC_TFTPBOOT_DIR/pxelinux.cfg/default" < "$IRONIC_TFTPBOOT_DIR/pxelinux.cfg/default" < "$IRONIC_DISCOVERD_DHCP_CONF_FILE" < "$IRONIC_INSPECTOR_DHCP_CONF_FILE" <