Support IPA for devstack-plugin
Change-Id: Idff4374aad1609ebfce8e9affe0b4692155012b6
This commit is contained in:
parent
eb9b3da67a
commit
29f29eab70
|
@ -77,6 +77,9 @@ components. There is a plugin for installing **ironic-inspector** on DevStack.
|
|||
Example local.conf
|
||||
------------------
|
||||
|
||||
Using simple ramdisk
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
[[local|localrc]]
|
||||
|
@ -122,6 +125,43 @@ Notes
|
|||
|
||||
rm -rf /opt/stack/ironic-inspector
|
||||
|
||||
Using IPA
|
||||
~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
[[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
|
||||
enable_service s-proxy s-object s-container s-account
|
||||
disable_service heat h-api h-api-cfn h-api-cw h-eng
|
||||
disable_service cinder c-sch c-api c-vol
|
||||
|
||||
enable_plugin ironic-inspector https://github.com/openstack/ironic-inspector
|
||||
|
||||
IRONIC_BAREMETAL_BASIC_OPS=True
|
||||
IRONIC_VM_COUNT=2
|
||||
IRONIC_VM_SPECS_RAM=1024
|
||||
IRONIC_DEPLOY_FLAVOR="fedora ironic-agent"
|
||||
|
||||
IRONIC_INSPECTOR_RAMDISK_FLAVOR="fedora ironic-agent"
|
||||
|
||||
VIRT_DRIVER=ironic
|
||||
|
||||
LOGDAYS=1
|
||||
LOGFILE=~/logs/stack.sh.log
|
||||
SCREEN_LOGDIR=~/logs/screen
|
||||
|
||||
DEFAULT_INSTANCE_TYPE=baremetal
|
||||
TEMPEST_ALLOW_TENANT_ISOLATION=False
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
* Set IRONIC_INSPECTOR_BUILD_RAMDISK to True if you want to build ramdisk.
|
||||
Default value is False and ramdisk will be download instead of building.
|
||||
|
||||
Test
|
||||
----
|
||||
|
||||
|
|
|
@ -12,6 +12,9 @@ IRONIC_INSPECTOR_MANAGE_FIREWALL=$(trueorfalse True $IRONIC_INSPECTOR_MANAGE_FIR
|
|||
IRONIC_INSPECTOR_HOST=$HOST_IP
|
||||
IRONIC_INSPECTOR_PORT=5050
|
||||
IRONIC_INSPECTOR_URI="http://$IRONIC_INSPECTOR_HOST:$IRONIC_INSPECTOR_PORT"
|
||||
IRONIC_INSPECTOR_BUILD_RAMDISK=$(trueorfalse False IRONIC_INSPECTOR_BUILD_RAMDISK)
|
||||
IRONIC_AGENT_KERNEL_URL=${IRONIC_AGENT_KERNEL_URL:-http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe.vmlinuz}
|
||||
IRONIC_AGENT_RAMDISK_URL=${IRONIC_AGENT_RAMDISK_URL:-http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem.cpio.gz}
|
||||
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
|
||||
|
@ -79,27 +82,52 @@ function stop_inspector_dhcp {
|
|||
screen -S $SCREEN_NAME -p ironic-inspector-dhcp -X kill
|
||||
}
|
||||
|
||||
function inspector_uses_ipa {
|
||||
[[ $IRONIC_INSPECTOR_RAMDISK_ELEMENT = "ironic-agent" ]] || [[ $IRONIC_INSPECTOR_RAMDISK_FLAVOR =~ (ironic-agent$|^ironic-agent) ]] && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
### Configuration
|
||||
|
||||
function prepare_tftp {
|
||||
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"
|
||||
IRONIC_INSPECTOR_CALLBACK_URI="$IRONIC_INSPECTOR_INTERNAL_URI/v1/continue"
|
||||
|
||||
if [ ! -e "$IRONIC_INSPECTOR_KERNEL_PATH" -o ! -e "$IRONIC_INSPECTOR_INITRAMFS_PATH" ]; then
|
||||
if [[ $(type -P ramdisk-image-create) == "" ]]; then
|
||||
pip_install diskimage_builder
|
||||
if inspector_uses_ipa; then
|
||||
IRONIC_INSPECTOR_KERNEL_CMDLINE="ipa-inspection-callback-url=$IRONIC_INSPECTOR_CALLBACK_URI systemd.journald.forward_to_console=yes"
|
||||
if [[ "$IRONIC_INSPECTOR_BUILD_RAMDISK" == "True" ]]; then
|
||||
IRONIC_INSPECTOR_KERNEL_PATH="$IRONIC_INSPECTOR_IMAGE_PATH.vmlinuz"
|
||||
if [ ! -e "$IRONIC_INSPECTOR_KERNEL_PATH" -o ! -e "$IRONIC_INSPECTOR_INITRAMFS_PATH" ]; then
|
||||
if [[ $(type -P disk-image-create) == "" ]]; then
|
||||
pip_install_gr diskimage-builder
|
||||
fi
|
||||
disk-image-create $IRONIC_INSPECTOR_RAMDISK_FLAVOR \
|
||||
-o $IRONIC_INSPECTOR_IMAGE_PATH
|
||||
sudo chown $STACK_USER $IRONIC_INSPECTOR_KERNEL_PATH
|
||||
fi
|
||||
else
|
||||
# download the agent image tarball
|
||||
IRONIC_INSPECTOR_KERNEL_PATH="$IRONIC_INSPECTOR_IMAGE_PATH.kernel"
|
||||
wget "$IRONIC_AGENT_KERNEL_URL" -O $IRONIC_INSPECTOR_KERNEL_PATH
|
||||
wget "$IRONIC_AGENT_RAMDISK_URL" -O $IRONIC_INSPECTOR_INITRAMFS_PATH
|
||||
fi
|
||||
else
|
||||
IRONIC_INSPECTOR_KERNEL_PATH="$IRONIC_INSPECTOR_IMAGE_PATH.kernel"
|
||||
IRONIC_INSPECTOR_KERNEL_CMDLINE="discoverd_callback_url=$IRONIC_INSPECTOR_CALLBACK_URI inspector_callback_url=$IRONIC_INSPECTOR_CALLBACK_URI"
|
||||
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_INSPECTOR_RAMDISK_FLAVOR \
|
||||
-o $IRONIC_INSPECTOR_IMAGE_PATH
|
||||
fi
|
||||
ramdisk-image-create $IRONIC_INSPECTOR_RAMDISK_FLAVOR \
|
||||
-o $IRONIC_INSPECTOR_IMAGE_PATH
|
||||
fi
|
||||
|
||||
mkdir_chown_stack "$IRONIC_TFTPBOOT_DIR/pxelinux.cfg"
|
||||
cp $IRONIC_INSPECTOR_KERNEL_PATH $IRONIC_INSPECTOR_INITRAMFS_PATH \
|
||||
$IRONIC_TFTPBOOT_DIR
|
||||
cp $IRONIC_INSPECTOR_KERNEL_PATH $IRONIC_TFTPBOOT_DIR/ironic-inspector.kernel
|
||||
cp $IRONIC_INSPECTOR_INITRAMFS_PATH $IRONIC_TFTPBOOT_DIR
|
||||
|
||||
IRONIC_INSPECTOR_CALLBACK_URI="$IRONIC_INSPECTOR_INTERNAL_URI/v1/continue"
|
||||
IRONIC_INSPECTOR_KERNEL_CMDLINE="discoverd_callback_url=$IRONIC_INSPECTOR_CALLBACK_URI inspector_callback_url=$IRONIC_INSPECTOR_CALLBACK_URI"
|
||||
cat > "$IRONIC_TFTPBOOT_DIR/pxelinux.cfg/default" <<EOF
|
||||
default inspect
|
||||
|
||||
|
|
Loading…
Reference in New Issue