| #!/bin/sh | |
| # 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. | |
| set -e | |
| if [ "$1" = configure ]; then | |
| if ! getent passwd cloud >/dev/null; then | |
| adduser --quiet --system --group --no-create-home --home /var/lib/cloudstack/management cloud | |
| else | |
| usermod -m -d /var/lib/cloudstack/management cloud || true | |
| fi | |
| rm -fr /var/cache/cloudstack/management/work/* | |
| for i in /var/cache/cloudstack/management \ | |
| /var/log/cloudstack/management \ | |
| /var/lib/cloudstack/management | |
| do | |
| chmod 0770 $i | |
| chgrp cloud $i | |
| done | |
| OLDCONFDIR="/etc/cloud/management" | |
| NEWCONFDIR="/etc/cloudstack/management" | |
| CONFFILES="db.properties key" | |
| # Copy old configuration so the admin doesn't have to do that | |
| # Only do so when we are installing for the first time | |
| if [ -z "$2" ]; then | |
| for FILE in $CONFFILES; do | |
| if [ -f "$OLDCONFDIR/${FILE}" ]; then | |
| cp -a $OLDCONFDIR/$FILE $NEWCONFDIR/$FILE | |
| fi | |
| done | |
| fi | |
| CONFDIR="/etc/cloudstack/management" | |
| DBPROPS="db.properties" | |
| chmod 0640 ${CONFDIR}/${DBPROPS} | |
| chgrp cloud ${CONFDIR}/${DBPROPS} | |
| chown -R cloud:cloud /var/log/cloudstack/management | |
| chown -R cloud:cloud /usr/share/cloudstack-management/templates | |
| find /usr/share/cloudstack-management/templates -type d -exec chmod 0770 {} \; | |
| ln -sf ${CONFDIR}/log4j-cloud.xml ${CONFDIR}/log4j2.xml | |
| # Add jdbc MySQL driver settings to db.properties if not present | |
| grep -s -q "db.cloud.driver=jdbc:mysql" ${CONFDIR}/${DBPROPS} || sed -i -e "\$adb.cloud.driver=jdbc:mysql" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "db.usage.driver=jdbc:mysql" ${CONFDIR}/${DBPROPS} || sed -i -e "\$adb.usage.driver=jdbc:mysql" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "db.simulator.driver=jdbc:mysql" ${CONFDIR}/${DBPROPS} || sed -i -e "\$adb.simulator.driver=jdbc:mysql" ${CONFDIR}/${DBPROPS} | |
| # Update DB properties having master and slave(s), with source and replica(s) respectively (for inclusiveness) | |
| grep -s -q "^db.cloud.slaves=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.cloud.slaves=/db.cloud.replicas=/g" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "^db.cloud.secondsBeforeRetryMaster=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.cloud.secondsBeforeRetryMaster=/db.cloud.secondsBeforeRetrySource=/g" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "^db.cloud.queriesBeforeRetryMaster=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.cloud.queriesBeforeRetryMaster=/db.cloud.queriesBeforeRetrySource=/g" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "^db.usage.slaves=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.usage.slaves=/db.usage.replicas=/g" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "^db.usage.secondsBeforeRetryMaster=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.usage.secondsBeforeRetryMaster=/db.usage.secondsBeforeRetrySource=/g" ${CONFDIR}/${DBPROPS} | |
| grep -s -q "^db.usage.queriesBeforeRetryMaster=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.usage.queriesBeforeRetryMaster=/db.usage.queriesBeforeRetrySource=/g" ${CONFDIR}/${DBPROPS} | |
| # Print help message | |
| if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then | |
| acs_version=$(dpkg -l |grep cloudstack-management |head -n1 |awk '{print $3}') | |
| sed -i "s,^ACS_VERSION=.*,ACS_VERSION=$acs_version,g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text | |
| /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text management | |
| fi | |
| fi | |
| #DEBHELPER# |