3d24d19309
nsxv_cleanup and nsxv3_cleanup scripts are called by unstack.sh and removes all backend resources, even resources which may have been created by other devstack deployments using the same backend. This patch fix this issue, when calling 'unstack.sh' the script will only remove backend resources that have db record, if 'clean.sh' is called, then previous behavior is used and all backend resources created by openstack are removed. To run the scripts manually, in such way that only backend resources with db records are cleaned, one must specify '--db-connection' (e.g - iniget /etc/neutron/neutron.conf database connection) option so the script can query the DB. When '--db-connection' option is not specified then all backend resources are cleaned. Change-Id: I2283bdb2758c303a46574296e0067f458a6eefcf
77 lines
3.0 KiB
Bash
77 lines
3.0 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_dvs' ]]; then
|
|
source $dir/lib/vmware_dvs
|
|
fi
|