mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge pull request #1052 from davidamorimfaria/centos7-packaging
CLOUDSTACK-9049: fix Centos7 with Tomcat7 packaging and python libsCLOUDSTACK-9049: Fix Centos7 with Tomcat7 packaging and python libs * pr/1052: CLOUDSTACK-9049: fix Centos7 with Tomcat7 packaging and python libs * adjust library to support tomcat7 config files * adjust centos7 spec to use tomcat7 config files from deployment * add option to use tomcat7 files in management server setup reorder content to match original Signed-off-by: Remi Bergsma <github@remi.nl>
This commit is contained in:
commit
ee639cffe4
@ -29,9 +29,12 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
parser = OptionParser()
|
parser = OptionParser()
|
||||||
parser.add_option("--https", action="store_true", dest="https", help="Enable HTTPs connection of management server")
|
parser.add_option("--https", action="store_true", dest="https", help="Enable HTTPs connection of management server")
|
||||||
|
parser.add_option("--tomcat7", action="store_true", dest="tomcat7", help="Use Tomcat7 configuration files in Management Server")
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
if options.https:
|
if options.https:
|
||||||
glbEnv.svrMode = "HttpsServer"
|
glbEnv.svrMode = "HttpsServer"
|
||||||
|
if options.tomcat7:
|
||||||
|
glbEnv.svrConf = "Tomcat7"
|
||||||
|
|
||||||
glbEnv.mode = "Server"
|
glbEnv.mode = "Server"
|
||||||
|
|
||||||
|
|||||||
@ -249,16 +249,16 @@ cp -r client/target/cloud-client-ui-%{_maventag}/* ${RPM_BUILD_ROOT}%{_datadir}/
|
|||||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts
|
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts
|
||||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms
|
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms
|
||||||
|
|
||||||
for name in catalina.properties db.properties log4j-cloud.xml web.xml \
|
for name in db.properties log4j-cloud.xml server7-nonssl.xml server7-ssl.xml \
|
||||||
server.xml commons-logging.properties environment.properties java.security.ciphers tomcat-users.xml
|
commons-logging.properties catalina.policy catalina.properties classpath.conf \
|
||||||
|
tomcat-users.xml web.xml environment.properties java.security.ciphers
|
||||||
do
|
do
|
||||||
cp packaging/centos7/tomcat7/$name \
|
mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/$name \
|
||||||
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name
|
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name
|
||||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/$name
|
|
||||||
done
|
done
|
||||||
|
|
||||||
#ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \
|
ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \
|
||||||
# ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/log4j-cloud.xml
|
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/log4j-cloud.xml
|
||||||
|
|
||||||
mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/context.xml \
|
mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/context.xml \
|
||||||
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client
|
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client
|
||||||
@ -438,10 +438,13 @@ fi
|
|||||||
%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties
|
%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml
|
%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml
|
%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.policy
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.properties
|
%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.properties
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/management/classpath.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/management/server7-nonssl.xml
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/management/server7-ssl.xml
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat-users.xml
|
%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat-users.xml
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/web.xml
|
%config(noreplace) %{_sysconfdir}/%{name}/management/web.xml
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/server.xml
|
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties
|
%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers
|
%config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/management/commons-logging.properties
|
%config(noreplace) %{_sysconfdir}/%{name}/management/commons-logging.properties
|
||||||
|
|||||||
@ -1,101 +1,101 @@
|
|||||||
# Licensed to the Apache Software Foundation (ASF) under one
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
# or more contributor license agreements. See the NOTICE file
|
# or more contributor license agreements. See the NOTICE file
|
||||||
db.usage.maxActive=100
|
|
||||||
# distributed with this work for additional information
|
# distributed with this work for additional information
|
||||||
|
|
||||||
|
|
||||||
# to you under the Apache License, Version 2.0 (the
|
|
||||||
# with the License. You may obtain a copy of the License at
|
|
||||||
# "License"); you may not use this file except in compliance
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
# software distributed under the License is distributed on an
|
|
||||||
# regarding copyright ownership. The ASF licenses this file
|
# 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,
|
# Unless required by applicable law or agreed to in writing,
|
||||||
db.cloud.name=cloud
|
# software distributed under the License is distributed on an
|
||||||
db.cloud.password=ENC(vlzQjmqOV4s5q7n+S1OMbA==)
|
|
||||||
# specific language governing permissions and limitations
|
|
||||||
# KIND, either express or implied. See the License for the
|
|
||||||
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# in which the management server(Tomcat) is running
|
|
||||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
# "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.
|
# under the License.
|
||||||
|
|
||||||
# management server clustering parameters, change cluster.node.IP to the machine IP address
|
# management server clustering parameters, change cluster.node.IP to the machine IP address
|
||||||
|
# in which the management server(Tomcat) is running
|
||||||
# usage database tuning parameters
|
|
||||||
|
|
||||||
db.usage.maxWait=10000
|
|
||||||
db.cloud.port=3306
|
|
||||||
# High Availability And Cluster Properties
|
|
||||||
db.usage.maxIdle=30
|
|
||||||
# CloudStack database settings
|
|
||||||
cluster.node.IP=127.0.0.1
|
cluster.node.IP=127.0.0.1
|
||||||
db.cloud.testOnBorrow=true
|
|
||||||
db.cloud.maxIdle=30
|
|
||||||
db.cloud.autoReconnectForPools=true
|
|
||||||
db.cloud.trustStore=
|
|
||||||
region.id=1
|
|
||||||
cluster.servlet.port=9090
|
cluster.servlet.port=9090
|
||||||
db.cloud.host=localhost
|
region.id=1
|
||||||
db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true
|
|
||||||
# CloudStack database tuning parameters
|
# CloudStack database settings
|
||||||
db.usage.name=cloud_usage
|
|
||||||
db.cloud.poolPreparedStatements=false
|
|
||||||
db.ha.enabled=false
|
|
||||||
db.cloud.keyStorePassphrase=vmops.com
|
|
||||||
db.simulator.maxActive=250
|
|
||||||
db.cloud.username=cloud
|
db.cloud.username=cloud
|
||||||
db.usage.port=3306
|
db.cloud.password=ENC(vlzQjmqOV4s5q7n+S1OMbA==)
|
||||||
db.cloud.maxWait=10000
|
db.cloud.host=localhost
|
||||||
db.cloud.timeBetweenEvictionRunsMillis=40000
|
db.cloud.port=3306
|
||||||
db.cloud.keyStorePassword=
|
db.cloud.name=cloud
|
||||||
# usage database settings
|
|
||||||
db.cloud.queriesBeforeRetryMaster=5000
|
# CloudStack database tuning parameters
|
||||||
db.cloud.validationQuery=SELECT 1
|
|
||||||
db.usage.failOverReadOnly=false
|
|
||||||
db.cloud.maxActive=250
|
db.cloud.maxActive=250
|
||||||
|
db.cloud.maxIdle=30
|
||||||
db.cloud.useSSL=false
|
db.cloud.maxWait=10000
|
||||||
db.usage.host=localhost
|
db.cloud.validationQuery=SELECT 1
|
||||||
db.cloud.initialTimeout=3600
|
db.cloud.testOnBorrow=true
|
||||||
# Encryption Settings
|
|
||||||
db.cloud.minEvictableIdleTimeMillis=240000
|
|
||||||
db.cloud.testWhileIdle=true
|
db.cloud.testWhileIdle=true
|
||||||
# CloudStack database SSL settings
|
db.cloud.timeBetweenEvictionRunsMillis=40000
|
||||||
db.cloud.slaves=localhost,localhost
|
db.cloud.minEvictableIdleTimeMillis=240000
|
||||||
db.simulator.maxIdle=30
|
db.cloud.poolPreparedStatements=false
|
||||||
db.cloud.keyStore=
|
db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true
|
||||||
db.cloud.encrypt.secret=ENC(zaGuSF5a4KyWayn2t0yyjDa0HjdToVtZ)
|
|
||||||
db.cloud.encryption.type=file
|
|
||||||
db.cloud.failOverReadOnly=false
|
|
||||||
|
|
||||||
db.simulator.port=3306
|
# CloudStack database SSL settings
|
||||||
|
db.cloud.useSSL=false
|
||||||
|
db.cloud.keyStore=
|
||||||
|
db.cloud.keyStorePassword=
|
||||||
|
db.cloud.trustStore=
|
||||||
|
db.cloud.trustStorePassword=
|
||||||
|
db.cloud.keyStorePassphrase=vmops.com
|
||||||
|
|
||||||
|
# Encryption Settings
|
||||||
|
db.cloud.encryption.type=file
|
||||||
|
db.cloud.encrypt.secret=ENC(zaGuSF5a4KyWayn2t0yyjDa0HjdToVtZ)
|
||||||
|
|
||||||
|
# usage database settings
|
||||||
db.usage.password=ENC(cQEcN5aVucSYK+WUkPjDcw==)
|
db.usage.password=ENC(cQEcN5aVucSYK+WUkPjDcw==)
|
||||||
db.usage.username=cloud
|
db.usage.username=cloud
|
||||||
db.cloud.trustStorePassword=
|
db.usage.host=localhost
|
||||||
db.simulator.username=cloud
|
db.usage.port=3306
|
||||||
|
db.usage.name=cloud_usage
|
||||||
|
|
||||||
|
# usage database tuning parameters
|
||||||
|
db.usage.maxActive=100
|
||||||
|
db.usage.maxIdle=30
|
||||||
|
db.usage.maxWait=10000
|
||||||
db.usage.url.params=
|
db.usage.url.params=
|
||||||
db.usage.initialTimeout=3600
|
|
||||||
|
|
||||||
# Simulator database settings
|
# Simulator database settings
|
||||||
db.cloud.reconnectAtTxEnd=true
|
db.simulator.username=cloud
|
||||||
db.usage.autoReconnect=true
|
|
||||||
#usage Database
|
|
||||||
db.simulator.maxWait=10000
|
|
||||||
# cloud stack Database
|
|
||||||
db.simulator.password=cloud
|
db.simulator.password=cloud
|
||||||
db.usage.reconnectAtTxEnd=true
|
db.simulator.host=localhost
|
||||||
|
db.simulator.port=3306
|
||||||
|
db.simulator.name=simulator
|
||||||
|
db.simulator.maxActive=250
|
||||||
|
db.simulator.maxIdle=30
|
||||||
|
db.simulator.maxWait=10000
|
||||||
db.simulator.autoReconnect=true
|
db.simulator.autoReconnect=true
|
||||||
|
|
||||||
|
|
||||||
|
# High Availability And Cluster Properties
|
||||||
|
db.ha.enabled=false
|
||||||
db.ha.loadBalanceStrategy=com.cloud.utils.db.StaticStrategy
|
db.ha.loadBalanceStrategy=com.cloud.utils.db.StaticStrategy
|
||||||
|
# cloud stack Database
|
||||||
|
db.cloud.slaves=localhost,localhost
|
||||||
db.cloud.autoReconnect=true
|
db.cloud.autoReconnect=true
|
||||||
db.simulator.host=localhost
|
db.cloud.failOverReadOnly=false
|
||||||
db.simulator.name=simulator
|
db.cloud.reconnectAtTxEnd=true
|
||||||
db.usage.queriesBeforeRetryMaster=5000
|
db.cloud.autoReconnectForPools=true
|
||||||
db.usage.slaves=localhost,localhost
|
|
||||||
db.usage.secondsBeforeRetryMaster=3600
|
|
||||||
db.usage.autoReconnectForPools=true
|
|
||||||
db.cloud.secondsBeforeRetryMaster=3600
|
db.cloud.secondsBeforeRetryMaster=3600
|
||||||
|
db.cloud.queriesBeforeRetryMaster=5000
|
||||||
|
db.cloud.initialTimeout=3600
|
||||||
|
|
||||||
|
#usage Database
|
||||||
|
db.usage.slaves=localhost,localhost
|
||||||
|
db.usage.autoReconnect=true
|
||||||
|
db.usage.failOverReadOnly=false
|
||||||
|
db.usage.reconnectAtTxEnd=true
|
||||||
|
db.usage.autoReconnectForPools=true
|
||||||
|
db.usage.secondsBeforeRetryMaster=3600
|
||||||
|
db.usage.queriesBeforeRetryMaster=5000
|
||||||
|
db.usage.initialTimeout=3600
|
||||||
|
|||||||
@ -22,6 +22,8 @@ class globalEnv:
|
|||||||
self.svrMode = None
|
self.svrMode = None
|
||||||
#myCloud/Agent/Console
|
#myCloud/Agent/Console
|
||||||
self.agentMode = None
|
self.agentMode = None
|
||||||
|
#Tomcat6/Tomcat7
|
||||||
|
self.svrConf = None
|
||||||
#debug
|
#debug
|
||||||
self.debug = False
|
self.debug = False
|
||||||
#management server IP
|
#management server IP
|
||||||
|
|||||||
@ -79,30 +79,43 @@ class cloudManagementConfig(serviceCfgBase):
|
|||||||
|
|
||||||
if not cmd.isSuccess():
|
if not cmd.isSuccess():
|
||||||
raise CloudInternalException(cmd.getErrMsg())
|
raise CloudInternalException(cmd.getErrMsg())
|
||||||
|
if not self.syscfg.env.svrConf == "Tomcat7":
|
||||||
cfo = configFileOps("/etc/cloudstack/management/tomcat6.conf", self)
|
cfo = configFileOps("/etc/cloudstack/management/tomcat6.conf", self)
|
||||||
cfo.add_lines("JAVA_OPTS+=\" -Djavax.net.ssl.trustStore=%s \""%keyPath)
|
cfo.add_lines("JAVA_OPTS+=\" -Djavax.net.ssl.trustStore=%s \""%keyPath)
|
||||||
elif self.syscfg.env.svrMode == "HttpsServer":
|
elif self.syscfg.env.svrMode == "HttpsServer":
|
||||||
if not os.path.exists("/etc/cloudstack/management/server-ssl.xml") or not os.path.exists("/etc/cloudstack/management/tomcat6-ssl.conf"):
|
if self.syscfg.env.svrConf == "Tomcat7":
|
||||||
raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-ssl.xml or /etc/cloudstack/management/tomcat6-ssl.conf, https enables failed")
|
if not os.path.exists("/etc/cloudstack/management/server7-ssl.xml"):
|
||||||
if os.path.exists("/etc/cloudstack/management/server.xml"):
|
raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server7-ssl.xml, https enable failed")
|
||||||
bash("rm -f /etc/cloudstack/management/server.xml")
|
if os.path.exists("/etc/cloudstack/management/server.xml"):
|
||||||
if os.path.exists("/etc/cloudstack/management/tomcat6.conf"):
|
bash("rm -f /etc/cloudstack/management/server.xml")
|
||||||
bash("rm -f /etc/cloudstack/management/tomcat6.conf")
|
bash("ln -s /etc/cloudstack/management/server7-ssl.xml /etc/cloudstack/management/server.xml")
|
||||||
bash("ln -s /etc/cloudstack/management/server-ssl.xml /etc/cloudstack/management/server.xml")
|
else:
|
||||||
bash("ln -s /etc/cloudstack/management/tomcat6-ssl.conf /etc/cloudstack/management/tomcat6.conf")
|
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")
|
||||||
|
if os.path.exists("/etc/cloudstack/management/server.xml"):
|
||||||
|
bash("rm -f /etc/cloudstack/management/server.xml")
|
||||||
|
if os.path.exists("/etc/cloudstack/management/tomcat6.conf"):
|
||||||
|
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")
|
||||||
if not bash("iptables-save |grep PREROUTING | grep 6443").isSuccess():
|
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")
|
bash("iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-port 6443")
|
||||||
else:
|
else:
|
||||||
if not os.path.exists("/etc/cloudstack/management/server-nonssl.xml") or not os.path.exists("/etc/cloudstack/management/tomcat6-nonssl.conf"):
|
if self.syscfg.env.svrConf == "Tomcat7":
|
||||||
raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-nonssl.xml or /etc/cloudstack/management/tomcat6-nonssl.conf, https enables failed")
|
if not os.path.exists("/etc/cloudstack/management/server7-nonssl.xml"):
|
||||||
if os.path.exists("/etc/cloudstack/management/server.xml"):
|
raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server7-nonssl.xml, https enable failed")
|
||||||
bash("rm -f /etc/cloudstack/management/server.xml")
|
if os.path.exists("/etc/cloudstack/management/server.xml"):
|
||||||
if os.path.exists("/etc/cloudstack/management/tomcat6.conf"):
|
bash("rm -f /etc/cloudstack/management/server.xml")
|
||||||
bash("rm -f /etc/cloudstack/management/tomcat6.conf")
|
bash("ln -s /etc/cloudstack/management/server7-nonssl.xml /etc/cloudstack/management/server.xml")
|
||||||
bash("ln -s /etc/cloudstack/management/server-nonssl.xml /etc/cloudstack/management/server.xml")
|
else:
|
||||||
bash("ln -s /etc/cloudstack/management/tomcat6-nonssl.conf /etc/cloudstack/management/tomcat6.conf")
|
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")
|
||||||
|
if os.path.exists("/etc/cloudstack/management/server.xml"):
|
||||||
|
bash("rm -f /etc/cloudstack/management/server.xml")
|
||||||
|
if os.path.exists("/etc/cloudstack/management/tomcat6.conf"):
|
||||||
|
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("touch /var/run/cloudstack-management.pid")
|
bash("touch /var/run/cloudstack-management.pid")
|
||||||
bash("chown cloud.cloud /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
|
#distro like sl 6.1 needs this folder, or tomcat6 failed to start
|
||||||
@ -116,7 +129,10 @@ class cloudManagementConfig(serviceCfgBase):
|
|||||||
cfo.save()
|
cfo.save()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.syscfg.svo.disableService("tomcat6")
|
if self.syscfg.env.svrConf == "Tomcat7":
|
||||||
|
self.syscfg.svo.disableService("tomcat")
|
||||||
|
else:
|
||||||
|
self.syscfg.svo.disableService("tomcat6")
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user