Source lib/ironic in grenade settings

We set global variables in Ironic devstack plugin like
DEFAULT_IMAGE_NAME. Ensure that grenade uses them by
sourcing lib/ironic from upgrade/settings.

Set IRONIC_DEPLOY_DRIVER by default to pxe_ipmitool. As we no longer
add IRONIC_DEPLOY_DRIVER to IRONIC_ENABLED_DRIVERS and defaults are
conflicting.

Closes-Bug: #1663371

Change-Id: I462ac792ad7920beff64c15a7c005406fcfa5cce
This commit is contained in:
Vasyl Saienko 2017-02-09 10:14:48 +02:00
parent 2b6ff862c1
commit 5efde6a7a3
2 changed files with 19 additions and 2 deletions
devstack
lib
upgrade

@ -20,6 +20,10 @@
# - stop_ironic
# - cleanup_ironic
# ensure we don't re-source this in the same environment
[[ -z "$_IRONIC_DEVSTACK_LIB" ]] || return 0
declare -r _IRONIC_DEVSTACK_LIB=1
# Save xtrace and pipefail settings
_XTRACE_IRONIC=$(set +o | grep xtrace)
_PIPEFAIL_IRONIC=$(set +o | grep pipefail)
@ -246,7 +250,7 @@ fi
# Additional valid choices if IRONIC_IS_HARDWARE == true are:
# ``pxe_iscsi_cimc``, ``pxe_agent_cimc``, ``pxe_ucs``, ``pxe_cimc``,
# ``*_pxe_oneview`` and ``pxe_drac``
IRONIC_DEPLOY_DRIVER=${IRONIC_DEPLOY_DRIVER:-pxe_ssh}
IRONIC_DEPLOY_DRIVER=${IRONIC_DEPLOY_DRIVER:-pxe_ipmitool}
# If the requested driver is not yet enable, enable it, if it is not it will fail anyway
if [[ -z "$(echo ${IRONIC_ENABLED_DRIVERS},${IRONIC_ENABLED_HARDWARE_TYPES} | grep -w ${IRONIC_DEPLOY_DRIVER})" ]]; then
@ -565,7 +569,7 @@ fi
# NOTE(vsaienko) set DEFAULT_IMAGE_NAME here, as it is still used by grenade
# https://github.com/openstack-dev/grenade/blob/90c4ead2f2a7ed48c873c51cef415b83d655752e/projects/60_nova/resources.sh#L31
DEFAULT_IMAGE_NAME=$IRONIC_IMAGE_NAME
export DEFAULT_IMAGE_NAME=$IRONIC_IMAGE_NAME
# Syslinux >= 5.00 pxelinux.0 binary is not "stand-alone" anymore,
# it depends on some c32 modules to work correctly.

@ -15,3 +15,16 @@ devstack_localrc base enable_service ir-api ir-cond ironic
devstack_localrc target enable_plugin ironic https://git.openstack.org/openstack/ironic
devstack_localrc target enable_service ir-api ir-cond ironic
# Duplicate some setup bits from target DevStack. Use old devstack as we install base environment from it.
BASE_TOP_DIR=$TOP_DIR/../../old/devstack/
source $BASE_TOP_DIR/stackrc
source $BASE_TOP_DIR/lib/tls
source $BASE_TOP_DIR/lib/nova
source $BASE_TOP_DIR/lib/neutron-legacy
source $BASE_TOP_DIR/lib/apache
source $BASE_TOP_DIR/lib/keystone
# Update global variables like DEFAULT_IMAGE_NAME that are set in ironic devstack plugin
IRONIC_BASE_DEVSTACK_DIR=$BASE_TOP_DIR/../ironic/devstack
source $IRONIC_BASE_DEVSTACK_DIR/lib/ironic