mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	* cloudstack: add support for EL10 This adds support for Fedora 40 and (upcoming) EL10 distro to be used as mgmt/usage server, mysql/nfs & KVM host. Python3 version has changed to 3.12.9 which isn't automatically determining the python-path. * python: WIP code, this fails right now Need to discuss/check if we can skip this code. Where/how is cgroup setup used with KVM agent. * prep cloudutils to be EL10 ready Fixes issue for Fedora, it was running old EL6 hooks which isn't applicable for modern Fedora version that are closer to EL8/9/10
		
			
				
	
	
		
			77 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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 os
 | |
| import sys
 | |
| # ---- This snippet of code adds the sources path and the waf configured PYTHONDIR to the Python path ----
 | |
| # ---- We do this so cloud_utils can be looked up in the following order:
 | |
| # ---- 1) Sources directory
 | |
| # ---- 2) waf configured PYTHONDIR
 | |
| # ---- 3) System Python path
 | |
| for pythonpath in (
 | |
|         "@PYTHONDIR@",
 | |
|         os.path.join(os.path.dirname(__file__),os.path.pardir,os.path.pardir,"python","lib"),
 | |
|     ):
 | |
|         if os.path.isdir(pythonpath): sys.path.insert(0,pythonpath)
 | |
| # ---- End snippet of code ----
 | |
| 
 | |
| 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 ports 8080, 8250, 8443, and 9090 are opened and not firewalled for the management server and not in use by other processes on this host.")
 | |
|     except (CloudRuntimeException, CloudInternalException) as e:
 | |
|         print(e)
 | |
|         print("Try to restore your system:")
 | |
|         try:
 | |
|             syscfg.restore()
 | |
|         except:
 | |
|             pass
 |