From 579c7213a76483d26fafaa7e5b6b4bb0bb5d222e Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 19 Apr 2017 12:51:40 +0530 Subject: [PATCH] cloudutils: Fix regression from PR#2033 This fixes regression from PR #2033 which breaks cloudstack deployment for centos6/7. Signed-off-by: Rohit Yadav --- python/lib/cloudutils/serviceConfigServer.py | 40 ++++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/python/lib/cloudutils/serviceConfigServer.py b/python/lib/cloudutils/serviceConfigServer.py index e2c643ded9e..c975f6eb9cf 100644 --- a/python/lib/cloudutils/serviceConfigServer.py +++ b/python/lib/cloudutils/serviceConfigServer.py @@ -89,10 +89,12 @@ class cloudManagementConfig(serviceCfgBase): if os.path.exists("/etc/cloudstack/management/server.xml"): bash("rm -f /etc/cloudstack/management/server.xml") bash("ln -s /etc/cloudstack/management/server7-ssl.xml /etc/cloudstack/management/server.xml") - bash("rm -f /usr/share/cloudstack-management/bin") - bash("rm -f /usr/share/cloudstack-management/lib") - bash("ln -s /usr/share/tomcat7/bin /usr/share/cloudstack-management/bin") - bash("ln -s /usr/share/tomcat7/lib /usr/share/cloudstack-management/lib") + if os.path.exists("/usr/share/tomcat7/bin"): + bash("rm -f /usr/share/cloudstack-management/bin") + bash("ln -s /usr/share/tomcat7/bin /usr/share/cloudstack-management/bin") + if os.path.exists("/usr/share/tomcat7/lib"): + bash("rm -f /usr/share/cloudstack-management/lib") + bash("ln -s /usr/share/tomcat7/lib /usr/share/cloudstack-management/lib") else: if not os.path.exists("/etc/cloudstack/management/server-ssl.xml") or not os.path.exists("/etc/cloudstack/management/tomcat6-ssl.conf"): raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-ssl.xml or /etc/cloudstack/management/tomcat6-ssl.conf, https enable failed") @@ -102,10 +104,12 @@ class cloudManagementConfig(serviceCfgBase): bash("rm -f /etc/cloudstack/management/tomcat6.conf") bash("ln -s /etc/cloudstack/management/server-ssl.xml /etc/cloudstack/management/server.xml") bash("ln -s /etc/cloudstack/management/tomcat6-ssl.conf /etc/cloudstack/management/tomcat6.conf") - bash("rm -f /usr/share/cloudstack-management/bin") - bash("rm -f /usr/share/cloudstack-management/lib") - bash("ln -s /usr/share/tomcat6/bin /usr/share/cloudstack-management/bin") - bash("ln -s /usr/share/tomcat6/lib /usr/share/cloudstack-management/lib") + if os.path.exists("/usr/share/tomcat6/bin"): + bash("rm -f /usr/share/cloudstack-management/bin") + bash("ln -s /usr/share/tomcat6/bin /usr/share/cloudstack-management/bin") + if os.path.exists("/usr/share/tomcat6/lib"): + bash("rm -f /usr/share/cloudstack-management/lib") + bash("ln -s /usr/share/tomcat6/lib /usr/share/cloudstack-management/lib") if not bash("iptables-save |grep PREROUTING | grep 6443").isSuccess(): bash("iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-port 6443") else: @@ -115,10 +119,12 @@ class cloudManagementConfig(serviceCfgBase): if os.path.exists("/etc/cloudstack/management/server.xml"): bash("rm -f /etc/cloudstack/management/server.xml") bash("ln -s /etc/cloudstack/management/server7-nonssl.xml /etc/cloudstack/management/server.xml") - bash("rm -f /usr/share/cloudstack-management/bin") - bash("rm -f /usr/share/cloudstack-management/lib") - bash("ln -s /usr/share/tomcat7/bin /usr/share/cloudstack-management/bin") - bash("ln -s /usr/share/tomcat7/lib /usr/share/cloudstack-management/lib") + if os.path.exists("/usr/share/tomcat7/bin"): + bash("rm -f /usr/share/cloudstack-management/bin") + bash("ln -s /usr/share/tomcat7/bin /usr/share/cloudstack-management/bin") + if os.path.exists("/usr/share/tomcat7/lib"): + bash("rm -f /usr/share/cloudstack-management/lib") + bash("ln -s /usr/share/tomcat7/lib /usr/share/cloudstack-management/lib") else: if not os.path.exists("/etc/cloudstack/management/server-nonssl.xml") or not os.path.exists("/etc/cloudstack/management/tomcat6-nonssl.conf"): raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-nonssl.xml or /etc/cloudstack/management/tomcat6-nonssl.conf, https enable failed") @@ -128,10 +134,12 @@ class cloudManagementConfig(serviceCfgBase): bash("rm -f /etc/cloudstack/management/tomcat6.conf") bash("ln -s /etc/cloudstack/management/server-nonssl.xml /etc/cloudstack/management/server.xml") bash("ln -s /etc/cloudstack/management/tomcat6-nonssl.conf /etc/cloudstack/management/tomcat6.conf") - bash("rm -f /usr/share/cloudstack-management/bin") - bash("rm -f /usr/share/cloudstack-management/lib") - bash("ln -s /usr/share/tomcat6/bin /usr/share/cloudstack-management/bin") - bash("ln -s /usr/share/tomcat6/lib /usr/share/cloudstack-management/lib") + if os.path.exists("/usr/share/tomcat6/bin"): + bash("rm -f /usr/share/cloudstack-management/bin") + bash("ln -s /usr/share/tomcat6/bin /usr/share/cloudstack-management/bin") + if os.path.exists("/usr/share/tomcat6/lib"): + bash("rm -f /usr/share/cloudstack-management/lib") + bash("ln -s /usr/share/tomcat6/lib /usr/share/cloudstack-management/lib") bash("touch /var/run/cloudstack-management.pid") bash("chown cloud.cloud /var/run/cloudstack-management.pid") #distro like sl 6.1 needs this folder, or tomcat6 failed to start