Setup for using the Grenade 'early_create' phase

* Create a 'devstack/upgrade/resources.sh' file to be used by
   Grenade.
 * Create an 'early_create' phase to call the create_ovs_tap()
   function.
 * Refactor the create_ovs_tap() function to accept an argument for
   the network to use.

Change-Id: I0efe427a7023d0336f25856c362c655c138102df
This commit is contained in:
John L. Villalovos 2016-05-13 10:47:34 -07:00
parent ecae841dc6
commit f0beeada9d
2 changed files with 83 additions and 3 deletions

View File

@ -650,16 +650,19 @@ function stop_ironic {
sudo rm -rf $IRONIC_LIBVIRT_HOOKS_PATH/qemu
}
# create_ovs_taps is also called by the devstack/upgrade/resources.sh script
#
# create_ovs_taps ironic_network_id
function create_ovs_taps {
local ironic_net_id
ironic_net_id=$(neutron net-list | grep private | get_field 1)
ironic_net_id=$1
die_if_not_set $LINENO ironic_net_id "Failed to get ironic network id"
# Work around: No netns exists on host until a Neutron port is created. We
# need to create one in Neutron to know what netns to tap into prior to the
# first node booting.
local port_id
port_id=$(neutron port-create private | grep " id " | get_field 2)
port_id=$(neutron port-create ${ironic_net_id} | grep " id " | get_field 2)
die_if_not_set $LINENO port_id "Failed to create neutron port"
# intentional sleep to make sure the tag has been set to port
@ -735,7 +738,9 @@ function create_bridge_and_vms {
$vbmc_port $log_arg $IRONIC_VM_SPECS_DISK_FORMAT" >> $IRONIC_VM_MACS_CSV_FILE
vbmc_port=$((vbmc_port+1))
done
create_ovs_taps
local ironic_net_id
ironic_net_id=$(neutron net-list | grep private | get_field 1)
create_ovs_taps $ironic_net_id
}
function wait_for_nova_resources {

75
devstack/upgrade/resources.sh Executable file
View File

@ -0,0 +1,75 @@
#!/bin/bash
#
# Copyright 2015 Hewlett-Packard Development Company, L.P.
# Copyright 2016 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -o errexit
source $GRENADE_DIR/grenaderc
source $GRENADE_DIR/functions
source $TOP_DIR/openrc admin admin
IRONIC_DEVSTACK_DIR=$(cd $(dirname "$0")/.. && pwd)
source $IRONIC_DEVSTACK_DIR/lib/ironic
set -o xtrace
function early_create {
local net_id
net_id=$(resource_get network net_id)
create_ovs_taps $net_id
}
function create {
:
}
function verify {
:
}
function verify_noapi {
:
}
function destroy {
:
}
# Dispatcher
case $1 in
"early_create")
early_create
;;
"create")
create
;;
"verify_noapi")
verify_noapi
;;
"verify")
verify
;;
"destroy")
destroy
;;
"force_destroy")
set +o errexit
destroy
;;
esac