| #!/usr/bin/python3 |
| # 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. |
| |
| import sys |
| from cloudutils.syscfg import sysConfigFactory |
| from cloudutils.utilities import initLoging, UnknownSystemException |
| from cloudutils.cloudException import CloudRuntimeException, CloudInternalException |
| from cloudutils.globalEnv import globalEnv |
| from cloudutils.serviceConfigServer import cloudManagementConfig |
| from optparse import OptionParser |
| if __name__ == '__main__': |
| initLoging("@MSLOGDIR@/setupManagement.log") |
| glbEnv = globalEnv() |
| |
| parser = OptionParser() |
| 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="Depreciated option, don't use it") |
| parser.add_option("--no-start", action="store_true", dest="nostart", help="Do not start management server after successful configuration") |
| (options, args) = parser.parse_args() |
| if options.https: |
| glbEnv.svrMode = "HttpsServer" |
| if options.tomcat7: |
| print("The --tomcat7 option is deprecated, CloudStack now uses embedded Jetty server.") |
| if options.nostart: |
| glbEnv.noStart = True |
| |
| glbEnv.mode = "Server" |
| |
| print("Starting to configure CloudStack Management Server:") |
| try: |
| syscfg = sysConfigFactory.getSysConfigFactory(glbEnv) |
| except UnknownSystemException: |
| print("Error: CloudStack failed to detect your " |
| "operating system. Exiting.", file=sys.stderr) |
| sys.exit(1) |
| try: |
| syscfg.registerService(cloudManagementConfig) |
| syscfg.config() |
| print("CloudStack Management Server setup is Done!") |
| print("Please ensure the following ports are open for the management server to function properly : 8080 8250 8443 9090") |
| except (CloudRuntimeException, CloudInternalException) as e: |
| print(e) |
| print("Try to restore your system:") |
| try: |
| syscfg.restore() |
| except: |
| pass |