From 9e0b14e1a9d8d2d11ca1f7034bfa98078f54fc6b Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Wed, 24 Sep 2014 16:42:25 +1000 Subject: [PATCH] Switch to new setup-neutron Switch to the new setup-neutron provided by os-cloud-config, and to ease developer (and git) confusion, remove and ignore the old setup-neutron script. Change-Id: Iec4cad877f3583bd37222fa87c25a1503e7ba516 --- .gitignore | 1 + scripts/devtest_overcloud.sh | 22 +++++++++- scripts/devtest_seed.sh | 17 +++++++- scripts/devtest_undercloud.sh | 17 +++++++- scripts/setup-clienttools | 2 +- scripts/setup-neutron | 75 ----------------------------------- 6 files changed, 54 insertions(+), 80 deletions(-) delete mode 100755 scripts/setup-neutron diff --git a/.gitignore b/.gitignore index a9e95c13..29f8b59a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ scripts/neutron scripts/openstack scripts/os-apply-config scripts/register-nodes +scripts/setup-neutron scripts/swift .tox diff --git a/scripts/devtest_overcloud.sh b/scripts/devtest_overcloud.sh index a433fcd4..617a5acd 100755 --- a/scripts/devtest_overcloud.sh +++ b/scripts/devtest_overcloud.sh @@ -482,9 +482,27 @@ if [ "stack-create" = "$HEAT_OP" ]; then #nodocs ${SSLBASE:+--ssl $PUBLIC_API_URL} keystone role-create --name heat_stack_user user-config -## setup-neutron "" "" 10.0.0.0/8 "" "" "" 8.8.8.8 192.0.2.45 192.0.2.64 192.0.2.0/24 + BM_NETWORK_GATEWAY=$(OS_CONFIG_FILES=$TE_DATAFILE os-apply-config --key baremetal-network.gateway-ip --type raw --key-default '192.0.2.1') OVERCLOUD_NAMESERVER=$(os-apply-config -m $TE_DATAFILE --key overcloud.nameserver --type netaddress --key-default '8.8.8.8') - setup-neutron "" "" $OVERCLOUD_FIXED_RANGE_CIDR "" "" "" $OVERCLOUD_NAMESERVER $FLOATING_START $FLOATING_END $FLOATING_CIDR #nodocs + NETWORK_JSON=$(mktemp) + jq "." < $NETWORK_JSON +{ + "float": { + "cidr": "10.0.0.0/8", + "name": "default-net", + "nameserver": "$OVERCLOUD_NAMESERVER" + }, + "external": { + "name": "ext-net", + "cidr": "$FLOATING_CIDR", + "allocation_start": "$FLOATING_START", + "allocation_end": "$FLOATING_END", + "gateway": "$BM_NETWORK_GATEWAY" + } +} +EOF + setup-neutron -n $NETWORK_JSON + rm $NETWORK_JSON ## #. If you want a demo user in your overcloud (probably a good idea). ## :: diff --git a/scripts/devtest_seed.sh b/scripts/devtest_seed.sh index faa624d0..3a0f77bb 100755 --- a/scripts/devtest_seed.sh +++ b/scripts/devtest_seed.sh @@ -272,7 +272,22 @@ wait_for 30 10 neutron agent-list -f csv -c alive -c agent_type -c host \| grep BM_NETWORK_SEED_RANGE_START=$(os-apply-config -m $TE_DATAFILE --key baremetal-network.seed.range-start --type raw --key-default '192.0.2.2') BM_NETWORK_SEED_RANGE_END=$(os-apply-config -m $TE_DATAFILE --key baremetal-network.seed.range-end --type raw --key-default '192.0.2.20') SEED_NAMESERVER=$(os-apply-config -m $TE_DATAFILE --key seed.nameserver --type netaddress --key-default '') -setup-neutron $BM_NETWORK_SEED_RANGE_START $BM_NETWORK_SEED_RANGE_END $BM_NETWORK_CIDR $BM_NETWORK_GATEWAY $BM_NETWORK_SEED_IP ctlplane $SEED_NAMESERVER +NETWORK_JSON=$(mktemp) +jq "." < $NETWORK_JSON +{ + "physical": { + "gateway": "$BM_NETWORK_GATEWAY", + "metadata_server": "$BM_NETWORK_SEED_IP", + "cidr": "$BM_NETWORK_CIDR", + "allocation_start": "$BM_NETWORK_SEED_RANGE_START", + "allocation_end": "$BM_NETWORK_SEED_RANGE_END", + "name": "ctlplane", + "nameserver": "$SEED_NAMESERVER" + } +} +EOF +setup-neutron -n $NETWORK_JSON +rm $NETWORK_JSON ## #. Nova quota runs up with the defaults quota so overide the default to ## allow unlimited cores, instances and ram. diff --git a/scripts/devtest_undercloud.sh b/scripts/devtest_undercloud.sh index 0cde080f..8495d0d2 100755 --- a/scripts/devtest_undercloud.sh +++ b/scripts/devtest_undercloud.sh @@ -353,7 +353,22 @@ BM_NETWORK_GATEWAY=$(os-apply-config -m $TE_DATAFILE --key baremetal-network.gat BM_NETWORK_UNDERCLOUD_RANGE_START=$(os-apply-config -m $TE_DATAFILE --key baremetal-network.undercloud.range-start --type raw --key-default '192.0.2.21') BM_NETWORK_UNDERCLOUD_RANGE_END=$(os-apply-config -m $TE_DATAFILE --key baremetal-network.undercloud.range-end --type raw --key-default '192.0.2.40') UNDERCLOUD_NAMESERVER=$(os-apply-config -m $TE_DATAFILE --key undercloud.nameserver --type netaddress --key-default '') -setup-neutron $BM_NETWORK_UNDERCLOUD_RANGE_START $BM_NETWORK_UNDERCLOUD_RANGE_END $BM_NETWORK_CIDR $BM_NETWORK_GATEWAY $UNDERCLOUD_IP ctlplane $UNDERCLOUD_NAMESERVER +NETWORK_JSON=$(mktemp) +jq "." < $NETWORK_JSON +{ + "physical": { + "gateway": "$BM_NETWORK_GATEWAY", + "metadata_server": "$UNDERCLOUD_IP", + "cidr": "$BM_NETWORK_CIDR", + "allocation_start": "$BM_NETWORK_UNDERCLOUD_RANGE_START", + "allocation_end": "$BM_NETWORK_UNDERCLOUD_RANGE_END", + "name": "ctlplane", + "nameserver": "$UNDERCLOUD_NAMESERVER" + } +} +EOF +setup-neutron -n $NETWORK_JSON +rm $NETWORK_JSON ## #. Nova quota runs up with the defaults quota so overide the default to ## allow unlimited cores, instances and ram. diff --git a/scripts/setup-clienttools b/scripts/setup-clienttools index 3269762d..15feaf1d 100755 --- a/scripts/setup-clienttools +++ b/scripts/setup-clienttools @@ -24,7 +24,7 @@ pip install -U 'pbr>=0.5.21,<1.0' pip install -U python-cinderclient python-novaclient python-glanceclient python-heatclient python-keystoneclient python-neutronclient python-swiftclient python-ironicclient python-openstackclient python-ceilometerclient os-apply-config os-cloud-config -for tool in os-apply-config cinder nova glance heat keystone neutron swift ironic ceilometer openstack init-keystone generate-keystone-pki register-nodes; do +for tool in os-apply-config cinder nova glance heat keystone neutron swift ironic ceilometer openstack init-keystone generate-keystone-pki register-nodes setup-neutron; do ln -sf $VENV_HOME/bin/$tool $BASE/scripts/$tool ; done echo "Installed openstack client tool symlinks in $BASE/scripts" diff --git a/scripts/setup-neutron b/scripts/setup-neutron deleted file mode 100755 index 70fcdf34..00000000 --- a/scripts/setup-neutron +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -# -# Setup neutron for a new cloud. -# -# Assumes an OpenStack rc file has been sourced already to provide credentials -# and endpoint information. - -set -eu -set -o pipefail - -# Future work: -# Make this take options -# or perhaps eliminate it and describe it as raw commands in incubator. - -# Start of DHCP range -ALLOCATION_START=$1 -# End of DHCP range -ALLOCATION_END=$2 -# Network CIDR -NETWORK_CIDR=$3 -# Where to route traffic -NETWORK_GATEWAY=$4 -# Where the metadata service is - ideally nova-bm would manage this: -# https://bugs.launchpad.net/tripleo/+bug/1239481 -METADATA_SERVER=$5 -# If non-empty create a provider flat network with this name otherwise create a -# virtual network and setup a router etc. -PHYSICAL_NETWORK=${6:-""} -# Use custom DNS server (neutron's server IP is used by default) -NAMESERVER=${7:-""} -# Start of floating range -FLOATING_START=${8:-""} -# End of floating range -FLOATING_END=${9:-""} -# Floating CIDR -FLOATING_CIDR=${10:-""} - -# Create command line parameters -if [ -n "$ALLOCATION_START" -a -n "$ALLOCATION_END" ] ; then - ALLOCATION_POOL="start=${ALLOCATION_START},end=${ALLOCATION_END}" -fi - -# Find the admin tenant. -TENANT_ID=$(keystone tenant-list | grep ' admin ' | awk '{print $2}') - -if [ -n "$PHYSICAL_NETWORK" ] ; then - # Underclouds - NET_NAME=$PHYSICAL_NETWORK - NET_EXTRA="--tenant_id $TENANT_ID --provider:network_type flat --provider:physical_network $PHYSICAL_NETWORK" - SUBNET_EXTRA="--tenant_id $TENANT_ID --host_routes type=dict list=true destination=169.254.169.254/32,nexthop=$METADATA_SERVER" -else - # Overclouds - NET_NAME="default-net" - NET_EXTRA="--shared" - SUBNET_EXTRA="" -fi - -if [ -n "$NAMESERVER" ] ; then - SUBNET_EXTRA="$SUBNET_EXTRA --dns-nameservers list=true $NAMESERVER" -fi - -NET_ID=$(neutron net-create $NET_NAME $NET_EXTRA | grep ' id ' | awk '{print $4}') -SUBNET_ID=$(neutron subnet-create --ip_version 4 ${ALLOCATION_POOL:+--allocation-pool $ALLOCATION_POOL} ${NETWORK_GATEWAY:+--gateway $NETWORK_GATEWAY} $NET_ID $NETWORK_CIDR $SUBNET_EXTRA | grep ' id ' | awk '{print $4}') - -if [ -z "$PHYSICAL_NETWORK" ] ; then - neutron router-create default-router - neutron router-interface-add default-router $SUBNET_ID -fi - -if [ -n "$FLOATING_START" -a -n "$FLOATING_END" -a -n "$FLOATING_CIDR" ] ; then - neutron net-create ext-net --router:external=True - SUBNET_ID=$(neutron subnet-create ext-net $FLOATING_CIDR --disable-dhcp \ - --allocation-pool start=$FLOATING_START,end=$FLOATING_END) - neutron router-gateway-set default-router ext-net -fi