| #!/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 |