mirror of https://github.com/apache/cloudstack.git
kvm: Add check if host meets the minimum requirements (#5369)
* kvm: Add check if host meets min req * Fix typo * Update serviceConfig.py * Remove obsessive checks * Update error message
This commit is contained in:
parent
981dac7bca
commit
f0eac35e3d
|
|
@ -495,6 +495,27 @@ class nfsConfig(serviceCfgBase):
|
|||
logging.debug(formatExceptionInfo())
|
||||
return False
|
||||
|
||||
class hostConfig(serviceCfgBase):
|
||||
def __init__(self, syscfg):
|
||||
super(hostConfig, self).__init__(syscfg)
|
||||
self.serviceName = "Host"
|
||||
|
||||
def config(self):
|
||||
try:
|
||||
cfo = configFileOps("/etc/cloudstack/agent/agent.properties", self)
|
||||
reservedMemory = float(cfo.getEntry("host.reserved.mem.mb").strip() or 1024)
|
||||
totalMemory = float(bash("awk '/MemTotal/ { printf \"%.3f \\n\", $2/1024 }' /proc/meminfo").getStdout().strip())
|
||||
if totalMemory < reservedMemory :
|
||||
raise CloudRuntimeException("CloudStack requires more than %d MB memory since %d MB is reserved" %(reservedMemory, reservedMemory))
|
||||
|
||||
if int(bash('ip a | grep "^\\w" | grep -iv "^lo" | wc -l').getStdout()) < 1 :
|
||||
raise CloudRuntimeException("CloudStack requires at least a single NIC")
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
logging.debug(e)
|
||||
return False
|
||||
|
||||
class securityPolicyConfigUbuntu(serviceCfgBase):
|
||||
def __init__(self, syscfg):
|
||||
super(securityPolicyConfigUbuntu, self).__init__(syscfg)
|
||||
|
|
|
|||
|
|
@ -166,7 +166,8 @@ class sysConfigAgentUbuntu(sysConfigAgent):
|
|||
super(sysConfigAgentUbuntu, self).__init__(glbEnv)
|
||||
self.svo = serviceOpsUbuntu()
|
||||
|
||||
self.services = [securityPolicyConfigUbuntu(self),
|
||||
self.services = [hostConfig(self),
|
||||
securityPolicyConfigUbuntu(self),
|
||||
networkConfigUbuntu(self),
|
||||
libvirtConfigUbuntu(self),
|
||||
firewallConfigUbuntu(self),
|
||||
|
|
@ -177,7 +178,8 @@ class sysConfigAgentUbuntu(sysConfigAgent):
|
|||
class sysConfigRedhat6(sysConfigAgentRedhatBase):
|
||||
def __init__(self, glbEnv):
|
||||
super(sysConfigRedhat6, self).__init__(glbEnv)
|
||||
self.services = [cgroupConfig(self),
|
||||
self.services = [hostConfig(self),
|
||||
cgroupConfig(self),
|
||||
securityPolicyConfigRedhat(self),
|
||||
networkConfigRedhat(self),
|
||||
libvirtConfigRedhat(self),
|
||||
|
|
@ -189,7 +191,7 @@ class sysConfigRedhat6(sysConfigAgentRedhatBase):
|
|||
class sysConfigRedhat5(sysConfigAgentRedhatBase):
|
||||
def __init__(self, glbEnv):
|
||||
super(sysConfigRedhat5, self).__init__(glbEnv)
|
||||
self.services = [
|
||||
self.services = [hostConfig(self),
|
||||
securityPolicyConfigRedhat(self),
|
||||
networkConfigRedhat(self),
|
||||
libvirtConfigRedhat(self),
|
||||
|
|
@ -200,7 +202,8 @@ class sysConfigRedhat5(sysConfigAgentRedhatBase):
|
|||
class sysConfigRedhat7(sysConfigAgentRedhat7Base):
|
||||
def __init__(self, glbEnv):
|
||||
super(sysConfigRedhat7, self).__init__(glbEnv)
|
||||
self.services = [securityPolicyConfigRedhat(self),
|
||||
self.services = [hostConfig(self),
|
||||
securityPolicyConfigRedhat(self),
|
||||
networkConfigRedhat(self),
|
||||
libvirtConfigRedhat(self),
|
||||
firewallConfigAgent(self),
|
||||
|
|
@ -211,7 +214,8 @@ class sysConfigRedhat7(sysConfigAgentRedhat7Base):
|
|||
class sysConfigRedhat8(sysConfigAgentRedhat8Base):
|
||||
def __init__(self, glbEnv):
|
||||
super(sysConfigRedhat8, self).__init__(glbEnv)
|
||||
self.services = [securityPolicyConfigRedhat(self),
|
||||
self.services = [hostConfig(self),
|
||||
securityPolicyConfigRedhat(self),
|
||||
networkConfigRedhat(self),
|
||||
libvirtConfigRedhat(self),
|
||||
firewallConfigAgent(self),
|
||||
|
|
@ -221,7 +225,8 @@ class sysConfigRedhat8(sysConfigAgentRedhat8Base):
|
|||
class sysConfigSUSE(sysConfigAgentSUSE):
|
||||
def __init__(self, glbEnv):
|
||||
super(sysConfigSUSE, self).__init__(glbEnv)
|
||||
self.services = [securityPolicyConfigSUSE(self),
|
||||
self.services = [hostConfig(self),
|
||||
securityPolicyConfigSUSE(self),
|
||||
networkConfigSUSE(self),
|
||||
libvirtConfigSUSE(self),
|
||||
firewallConfigAgent(self),
|
||||
|
|
|
|||
Loading…
Reference in New Issue