a772a30f07
Change-Id: I54addea00b4ab91d8fe4925f88cacd582888a7f3
33 lines
1.3 KiB
Smarty
33 lines
1.3 KiB
Smarty
#!/bin/bash
|
|
|
|
{{/*
|
|
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 -xe
|
|
|
|
# If any non-compute service is down, then sleep for 2 times the report_interval
|
|
# to confirm service is still down.
|
|
DISABLED_SVC="$(openstack compute service list -f value | grep -v 'nova-compute' | grep 'down' || true)"
|
|
if [ ! -z "${DISABLED_SVC}" ]; then
|
|
sleep {{ .Values.jobs.service_cleaner.sleep_time }}
|
|
fi
|
|
|
|
NOVA_SERVICES_TO_CLEAN="$(openstack compute service list -f value -c Binary | sort | uniq | grep -v '^nova-compute$')"
|
|
for NOVA_SERVICE in ${NOVA_SERVICES_TO_CLEAN}; do
|
|
DEAD_SERVICE_IDS=$(openstack compute service list --service ${NOVA_SERVICE} -f json | jq -r '.[] | select(.State == "down") | .ID')
|
|
for SERVICE_ID in ${DEAD_SERVICE_IDS}; do
|
|
openstack compute service delete "${SERVICE_ID}"
|
|
done
|
|
done
|