setup/bindir/cloud-migrate-databases.in (41 lines of code) (raw):

#!/bin/bash # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you 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. LOGFILE=/tmp/cloudstack-migrate-databases.log check_if_svc_active() { svc_name=$1 systemctl is-active $svc_name -q if [ $? -eq 0 ];then echo "service $svc_name is still active. Please stop it and retry." |tee -a ${LOGFILE} exit 1 fi } if [ "$1" != "" ] && [ "$1" != "-h" ] && [ "$1" != "--help" ];then check_if_svc_active "cloudstack-management" check_if_svc_active "cloudstack-usage" fi java -classpath /etc/cloudstack/management:/usr/share/cloudstack-management/lib/* \ com.cloud.utils.crypt.EncryptionSecretKeyChanger \ "$@" \ > >(tee -a ${LOGFILE}) 2> >(tee -a ${LOGFILE} >/dev/null) res=$? if [ $res -eq 0 ];then rm -f $LOGFILE else echo "Failed to migrate databases. You may find more logs in $LOGFILE" fi exit $res