Merge "DevStack: Add configuration for boot-from-volume"
This commit is contained in:
commit
2f63c4a953
@ -364,6 +364,11 @@ IRONIC_PROVISION_ALLOCATION_POOL=${IRONIC_PROVISION_ALLOCATION_POOL:-'start=10.0
|
|||||||
IRONIC_PROVISION_PROVIDER_SUBNET_NAME=${IRONIC_PROVISION_PROVIDER_SUBNET_NAME:-${IRONIC_PROVISION_NETWORK_NAME}-subnet}
|
IRONIC_PROVISION_PROVIDER_SUBNET_NAME=${IRONIC_PROVISION_PROVIDER_SUBNET_NAME:-${IRONIC_PROVISION_NETWORK_NAME}-subnet}
|
||||||
|
|
||||||
|
|
||||||
|
# This is the storage interface to use for a node
|
||||||
|
# Only 'cinder' can be set for testing boot from volume
|
||||||
|
IRONIC_STORAGE_INTERFACE=${IRONIC_STORAGE_INTERFACE:-}
|
||||||
|
|
||||||
|
|
||||||
# With multinode case all ironic-conductors should have IP from provisioning network.
|
# With multinode case all ironic-conductors should have IP from provisioning network.
|
||||||
# IRONIC_PROVISION_SUBNET_GATEWAY - is configured on primary node.
|
# IRONIC_PROVISION_SUBNET_GATEWAY - is configured on primary node.
|
||||||
# Ironic provision subnet gateway.
|
# Ironic provision subnet gateway.
|
||||||
@ -385,6 +390,10 @@ fi
|
|||||||
|
|
||||||
IRONIC_HTTP_SERVER=${IRONIC_HTTP_SERVER:-$IRONIC_TFTPSERVER_IP}
|
IRONIC_HTTP_SERVER=${IRONIC_HTTP_SERVER:-$IRONIC_TFTPSERVER_IP}
|
||||||
|
|
||||||
|
# Port that must be permitted for iSCSI connections to be
|
||||||
|
# established from the tenant network.
|
||||||
|
ISCSI_SERVICE_PORT=${ISCSI_SERVICE_PORT:-3260}
|
||||||
|
|
||||||
# Retrieving logs from the deploy ramdisk
|
# Retrieving logs from the deploy ramdisk
|
||||||
#
|
#
|
||||||
# IRONIC_DEPLOY_LOGS_COLLECT possible values are:
|
# IRONIC_DEPLOY_LOGS_COLLECT possible values are:
|
||||||
@ -1653,6 +1662,16 @@ function enroll_nodes {
|
|||||||
|
|
||||||
local ironic_api_version='--ironic-api-version latest'
|
local ironic_api_version='--ironic-api-version latest'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${IRONIC_STORAGE_INTERFACE}" == "cinder" ]]; then
|
||||||
|
local connector_iqn="iqn.2017-05.org.openstack.$node_prefix-$total_nodes"
|
||||||
|
if [[ -n "$node_capabilities" ]]; then
|
||||||
|
node_capabilities+=",iscsi_boot:True"
|
||||||
|
else
|
||||||
|
node_capabilities+=" -p capabilities=iscsi_boot:True"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
# Currently we require all hardware platform have same CPU/RAM/DISK info
|
# Currently we require all hardware platform have same CPU/RAM/DISK info
|
||||||
# in future, this can be enhanced to support different type, and then
|
# in future, this can be enhanced to support different type, and then
|
||||||
@ -1772,6 +1791,19 @@ function enroll_nodes {
|
|||||||
die_if_not_set $LINENO n_id "Failed to update network interface for node"
|
die_if_not_set $LINENO n_id "Failed to update network interface for node"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${IRONIC_STORAGE_INTERFACE}" ]]; then
|
||||||
|
openstack --os-baremetal-api-version latest baremetal node set \
|
||||||
|
$node_id --storage-interface $IRONIC_STORAGE_INTERFACE || \
|
||||||
|
die $LINENO "Failed to update storage interface for node $node_id"
|
||||||
|
|
||||||
|
if [[ -n "${connector_iqn}" ]]; then
|
||||||
|
openstack --os-baremetal-api-version latest baremetal \
|
||||||
|
volume connector create --node $node_id --type iqn \
|
||||||
|
--connector-id $connector_iqn || \
|
||||||
|
die $LINENO "Failed to create volume connector for node $node_id"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
local resource_class
|
local resource_class
|
||||||
if [[ "$IRONIC_USE_RESOURCE_CLASSES" == "True" ]]; then
|
if [[ "$IRONIC_USE_RESOURCE_CLASSES" == "True" ]]; then
|
||||||
# TODO(jroll) consider making this configurable, for now just make it unique per hardware combo
|
# TODO(jroll) consider making this configurable, for now just make it unique per hardware combo
|
||||||
@ -1855,6 +1887,10 @@ function configure_iptables {
|
|||||||
if [[ "$IRONIC_IPXE_ENABLED" == "True" ]] ; then
|
if [[ "$IRONIC_IPXE_ENABLED" == "True" ]] ; then
|
||||||
sudo iptables -I INPUT -d $IRONIC_HTTP_SERVER -p tcp --dport $IRONIC_HTTP_PORT -j ACCEPT || true
|
sudo iptables -I INPUT -d $IRONIC_HTTP_SERVER -p tcp --dport $IRONIC_HTTP_PORT -j ACCEPT || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${IRONIC_STORAGE_INTERFACE}" == "cinder" ]]; then
|
||||||
|
sudo iptables -I INPUT -d $HOST_IP -p tcp --dport $ISCSI_SERVICE_PORT -s $FLOATING_RANGE -j ACCEPT || true
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure_tftpd {
|
function configure_tftpd {
|
||||||
|
Loading…
Reference in New Issue
Block a user