ab6f32c12b
When using the TVD plugin, sometimes nsx-v or nsx-v3 are not configured. This patch ensures that the devstack cleanup will clean only the relevant NSX backend, to avoid errors in the logs. And also that the devstack configuration will skip unconfigured plugins Change-Id: I27ad52ea9a4052c0b8f3d1ea4d485fcc44b19f6d
107 lines
4.5 KiB
Bash
107 lines
4.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright 2015 VMware, Inc.
|
|
#
|
|
# All Rights Reserved
|
|
#
|
|
# 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.
|
|
|
|
|
|
GITDIR['vmware-nsxlib']=$DEST/vmware-nsxlib
|
|
GITREPO['vmware-nsxlib']=${NSXLIB_REPO:-${GIT_BASE}/openstack/vmware-nsxlib.git}
|
|
GITBRANCH['vmware-nsxlib']=${NSXLIB_BRANCH:-master}
|
|
|
|
dir=${GITDIR['vmware-nsx']}/devstack
|
|
|
|
if [[ "$1" == "stack" && "$2" == "install" ]]; then
|
|
if use_library_from_git 'vmware-nsxlib'; then
|
|
git_clone_by_name 'vmware-nsxlib'
|
|
setup_dev_lib 'vmware-nsxlib'
|
|
fi
|
|
setup_develop ${GITDIR['vmware-nsx']}
|
|
fi
|
|
|
|
if [[ $Q_PLUGIN == 'vmware_nsx_v' ]]; then
|
|
source $dir/lib/vmware_nsx_v
|
|
if [[ "$1" == "unstack" ]]; then
|
|
db_connection=$(iniget $NEUTRON_CONF database connection)
|
|
python $dir/tools/nsxv_cleanup.py --vsm-ip ${NSXV_MANAGER_URI/https:\/\/} --user $NSXV_USER --password $NSXV_PASSWORD --db-connection $db_connection
|
|
elif [[ "$1" == "clean" ]]; then
|
|
if is_service_enabled q-svc || is_service_enabled neutron-api; then
|
|
python $dir/tools/nsxv_cleanup.py --vsm-ip ${NSXV_MANAGER_URI/https:\/\/} --user $NSXV_USER --password $NSXV_PASSWORD
|
|
fi
|
|
fi
|
|
|
|
elif [[ $Q_PLUGIN == 'vmware_nsx' ]]; then
|
|
source $dir/lib/vmware_nsx
|
|
if [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
|
init_vmware_nsx
|
|
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
|
check_vmware_nsx
|
|
elif [[ "$1" == "unstack" ]]; then
|
|
stop_vmware_nsx
|
|
fi
|
|
elif [[ $Q_PLUGIN == 'vmware_nsx_v3' ]]; then
|
|
source $dir/lib/vmware_nsx_v3
|
|
if [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
|
init_vmware_nsx_v3
|
|
elif [[ "$1" == "unstack" ]]; then
|
|
db_connection=$(iniget $NEUTRON_CONF database connection)
|
|
stop_vmware_nsx_v3
|
|
# only clean up when q-svc (legacy support) or neutron-api is enabled
|
|
if is_service_enabled q-svc || is_service_enabled neutron-api; then
|
|
NSX_MANAGER=${NSX_MANAGERS:-$NSX_MANAGER}
|
|
IFS=','
|
|
NSX_MANAGER=($NSX_MANAGER)
|
|
unset IFS
|
|
python $dir/tools/nsxv3_cleanup.py --mgr-ip $NSX_MANAGER --user $NSX_USER --password $NSX_PASSWORD --db-connection $db_connection
|
|
fi
|
|
elif [[ "$1" == 'clean' ]]; then
|
|
if is_service_enabled q-svc || is_service_enabled neutron-api; then
|
|
python $dir/tools/nsxv3_cleanup.py --mgr-ip $NSX_MANAGER --user $NSX_USER --password $NSX_PASSWORD
|
|
fi
|
|
fi
|
|
elif [[ $Q_PLUGIN == 'vmware_nsx_tvd' ]]; then
|
|
source $dir/lib/vmware_nsx_tvd
|
|
if [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
|
init_vmware_nsx_tvd
|
|
elif [[ "$1" == "unstack" ]]; then
|
|
db_connection=$(iniget $NEUTRON_CONF database connection)
|
|
stop_vmware_nsx_tvd
|
|
# only clean up when q-svc (legacy support) or neutron-api is enabled
|
|
if is_service_enabled q-svc || is_service_enabled neutron-api; then
|
|
NSX_MANAGER=${NSX_MANAGERS:-$NSX_MANAGER}
|
|
IFS=','
|
|
NSX_MANAGER=($NSX_MANAGER)
|
|
unset IFS
|
|
if [[ "$NSX_MANAGER" != "" ]]; then
|
|
python $dir/tools/nsxv3_cleanup.py --mgr-ip $NSX_MANAGER --user $NSX_USER --password $NSX_PASSWORD --db-connection $db_connection
|
|
fi
|
|
if [[ "$NSXV_MANAGER_URI" != "" ]]; then
|
|
python $dir/tools/nsxv_cleanup.py --vsm-ip ${NSXV_MANAGER_URI/https:\/\/} --user $NSXV_USER --password $NSXV_PASSWORD --db-connection $db_connection
|
|
fi
|
|
fi
|
|
elif [[ "$1" == 'clean' ]]; then
|
|
if is_service_enabled q-svc || is_service_enabled neutron-api; then
|
|
if [[ "$NSX_MANAGER" != "" ]]; then
|
|
python $dir/tools/nsxv3_cleanup.py --mgr-ip $NSX_MANAGER --user $NSX_USER --password $NSX_PASSWORD
|
|
fi
|
|
if [[ "$NSXV_MANAGER_URI" != "" ]]; then
|
|
python $dir/tools/nsxv_cleanup.py --vsm-ip ${NSXV_MANAGER_URI/https:\/\/} --user $NSXV_USER --password $NSXV_PASSWORD
|
|
fi
|
|
fi
|
|
fi
|
|
elif [[ $Q_PLUGIN == 'vmware_dvs' ]]; then
|
|
source $dir/lib/vmware_dvs
|
|
fi
|