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
This commit is contained in:
Steve Kowalik 2014-09-24 16:42:25 +10:00
parent 450415bd88
commit 9e0b14e1a9
6 changed files with 54 additions and 80 deletions

1
.gitignore vendored
View File

@ -23,6 +23,7 @@ scripts/neutron
scripts/openstack
scripts/os-apply-config
scripts/register-nodes
scripts/setup-neutron
scripts/swift
.tox

View File

@ -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 "." <<EOF > $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).
## ::

View File

@ -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 "." <<EOF > $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.

View File

@ -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 "." <<EOF > $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.

View File

@ -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"

View File

@ -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