mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
cloudstack-setup-agent: mask libvirt non-monolithic services (#7114)
This masks sockets such as virtqemud.socket virtqemud-ro.socket virtqemud-admin.socket, and services virtqemud virtnetworkd virtstoraged that block libvirtd to be used a monolithic service. Useful for both EL9 and existing Ubuntu 22.04, and newer distros. Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> Co-authored-by: dahn <daan.hoogland@gmail.com>
This commit is contained in:
parent
e7b7efe117
commit
833d1b4523
@ -617,11 +617,20 @@ class libvirtConfigRedhat(serviceCfgBase):
|
|||||||
cfo.addEntry("LIBVIRTD_ARGS", "-l")
|
cfo.addEntry("LIBVIRTD_ARGS", "-l")
|
||||||
cfo.save()
|
cfo.save()
|
||||||
if os.path.exists("/lib/systemd/system/libvirtd.socket"):
|
if os.path.exists("/lib/systemd/system/libvirtd.socket"):
|
||||||
bash("/bin/systemctl mask libvirtd.socket");
|
bash("/bin/systemctl mask \
|
||||||
bash("/bin/systemctl mask libvirtd-ro.socket");
|
libvirtd.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-admin.socket");
|
libvirtd-ro.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-tls.socket");
|
libvirtd-admin.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-tcp.socket");
|
libvirtd-tls.socket \
|
||||||
|
libvirtd-tcp.socket");
|
||||||
|
if os.path.exists("/lib/systemd/system/virtqemud.socket"):
|
||||||
|
bash("/bin/systemctl mask \
|
||||||
|
virtqemud.socket \
|
||||||
|
virtqemud-ro.socket \
|
||||||
|
virtqemud-admin.socket \
|
||||||
|
virtqemud \
|
||||||
|
virtnetworkd \
|
||||||
|
virtstoraged");
|
||||||
|
|
||||||
filename = "/etc/libvirt/qemu.conf"
|
filename = "/etc/libvirt/qemu.conf"
|
||||||
|
|
||||||
@ -650,11 +659,12 @@ class libvirtConfigSUSE(serviceCfgBase):
|
|||||||
configureLibvirtConfig(self.syscfg.env.secure, self)
|
configureLibvirtConfig(self.syscfg.env.secure, self)
|
||||||
|
|
||||||
if os.path.exists("/usr/lib/systemd/system/libvirtd.socket"):
|
if os.path.exists("/usr/lib/systemd/system/libvirtd.socket"):
|
||||||
bash("/bin/systemctl mask libvirtd.socket");
|
bash("/bin/systemctl mask \
|
||||||
bash("/bin/systemctl mask libvirtd-ro.socket");
|
libvirtd.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-admin.socket");
|
libvirtd-ro.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-tls.socket");
|
libvirtd-admin.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-tcp.socket");
|
libvirtd-tls.socket \
|
||||||
|
libvirtd-tcp.socket");
|
||||||
|
|
||||||
cfo = configFileOps("/etc/sysconfig/libvirtd", self)
|
cfo = configFileOps("/etc/sysconfig/libvirtd", self)
|
||||||
cfo.addEntry("LIBVIRTD_ARGS", "-l")
|
cfo.addEntry("LIBVIRTD_ARGS", "-l")
|
||||||
@ -694,11 +704,20 @@ class libvirtConfigUbuntu(serviceCfgBase):
|
|||||||
cfo = configFileOps("/etc/default/libvirtd", self)
|
cfo = configFileOps("/etc/default/libvirtd", self)
|
||||||
cfo.replace_or_add_line("libvirtd_opts=","libvirtd_opts='-l'")
|
cfo.replace_or_add_line("libvirtd_opts=","libvirtd_opts='-l'")
|
||||||
if os.path.exists("/lib/systemd/system/libvirtd.socket"):
|
if os.path.exists("/lib/systemd/system/libvirtd.socket"):
|
||||||
bash("/bin/systemctl mask libvirtd.socket");
|
bash("/bin/systemctl mask \
|
||||||
bash("/bin/systemctl mask libvirtd-ro.socket");
|
libvirtd.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-admin.socket");
|
libvirtd-ro.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-tls.socket");
|
libvirtd-admin.socket \
|
||||||
bash("/bin/systemctl mask libvirtd-tcp.socket");
|
libvirtd-tls.socket \
|
||||||
|
libvirtd-tcp.socket");
|
||||||
|
if os.path.exists("/lib/systemd/system/virtqemud.socket"):
|
||||||
|
bash("/bin/systemctl mask \
|
||||||
|
virtqemud.socket \
|
||||||
|
virtqemud-ro.socket \
|
||||||
|
virtqemud-admin.socket \
|
||||||
|
virtqemud \
|
||||||
|
virtnetworkd \
|
||||||
|
virtstoraged");
|
||||||
|
|
||||||
def config(self):
|
def config(self):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@ -37,14 +37,14 @@ class sysConfigAgentFactory:
|
|||||||
distribution = glbEnv.distribution.getVersion()
|
distribution = glbEnv.distribution.getVersion()
|
||||||
if distribution == "Ubuntu":
|
if distribution == "Ubuntu":
|
||||||
return sysConfigAgentUbuntu(glbEnv)
|
return sysConfigAgentUbuntu(glbEnv)
|
||||||
elif distribution == "Fedora" or distribution == "RHEL6":
|
|
||||||
return sysConfigRedhat6(glbEnv)
|
|
||||||
elif distribution == "CentOS" or distribution == "RHEL5":
|
elif distribution == "CentOS" or distribution == "RHEL5":
|
||||||
return sysConfigRedhat5(glbEnv)
|
return sysConfigEL5(glbEnv)
|
||||||
|
elif distribution == "Fedora" or distribution == "RHEL6":
|
||||||
|
return sysConfigEL6(glbEnv)
|
||||||
elif distribution == "RHEL7":
|
elif distribution == "RHEL7":
|
||||||
return sysConfigRedhat7(glbEnv)
|
return sysConfigEL7(glbEnv)
|
||||||
elif distribution == "RHEL8":
|
elif distribution in ["RHEL8", "RHEL9"]:
|
||||||
return sysConfigRedhat8(glbEnv)
|
return sysConfigEL(glbEnv)
|
||||||
elif distribution == "SUSE":
|
elif distribution == "SUSE":
|
||||||
return sysConfigSUSE(glbEnv)
|
return sysConfigSUSE(glbEnv)
|
||||||
else:
|
else:
|
||||||
@ -151,10 +151,10 @@ class sysConfigAgentRedhat7Base(sysConfigAgent):
|
|||||||
self.svo = serviceOpsRedhat7Later()
|
self.svo = serviceOpsRedhat7Later()
|
||||||
super(sysConfigAgentRedhat7Base, self).__init__(env)
|
super(sysConfigAgentRedhat7Base, self).__init__(env)
|
||||||
|
|
||||||
class sysConfigAgentRedhat8Base(sysConfigAgent):
|
class sysConfigAgentELBase(sysConfigAgent):
|
||||||
def __init__(self, env):
|
def __init__(self, env):
|
||||||
self.svo = serviceOpsRedhat7Later()
|
self.svo = serviceOpsRedhat7Later()
|
||||||
super(sysConfigAgentRedhat8Base, self).__init__(env)
|
super(sysConfigAgentELBase, self).__init__(env)
|
||||||
|
|
||||||
class sysConfigAgentSUSE(sysConfigAgent):
|
class sysConfigAgentSUSE(sysConfigAgent):
|
||||||
def __init__(self, env):
|
def __init__(self, env):
|
||||||
@ -174,10 +174,21 @@ class sysConfigAgentUbuntu(sysConfigAgent):
|
|||||||
nfsConfig(self),
|
nfsConfig(self),
|
||||||
cloudAgentConfig(self)]
|
cloudAgentConfig(self)]
|
||||||
|
|
||||||
#it covers RHEL6/Fedora13/Fedora14
|
#It covers RHEL5/CentOS5, the mainly difference is that there is no cgroup
|
||||||
class sysConfigRedhat6(sysConfigAgentRedhatBase):
|
class sysConfigEL5(sysConfigAgentRedhatBase):
|
||||||
def __init__(self, glbEnv):
|
def __init__(self, glbEnv):
|
||||||
super(sysConfigRedhat6, self).__init__(glbEnv)
|
super(sysConfigEL5, self).__init__(glbEnv)
|
||||||
|
self.services = [hostConfig(self),
|
||||||
|
securityPolicyConfigRedhat(self),
|
||||||
|
networkConfigRedhat(self),
|
||||||
|
libvirtConfigRedhat(self),
|
||||||
|
firewallConfigAgent(self),
|
||||||
|
cloudAgentConfig(self)]
|
||||||
|
|
||||||
|
#it covers RHEL6/Fedora13/Fedora14
|
||||||
|
class sysConfigEL6(sysConfigAgentRedhatBase):
|
||||||
|
def __init__(self, glbEnv):
|
||||||
|
super(sysConfigEL6, self).__init__(glbEnv)
|
||||||
self.services = [hostConfig(self),
|
self.services = [hostConfig(self),
|
||||||
cgroupConfig(self),
|
cgroupConfig(self),
|
||||||
securityPolicyConfigRedhat(self),
|
securityPolicyConfigRedhat(self),
|
||||||
@ -187,21 +198,10 @@ class sysConfigRedhat6(sysConfigAgentRedhatBase):
|
|||||||
nfsConfig(self),
|
nfsConfig(self),
|
||||||
cloudAgentConfig(self)]
|
cloudAgentConfig(self)]
|
||||||
|
|
||||||
#It covers RHEL5/CentOS5, the mainly difference is that there is no cgroup
|
|
||||||
class sysConfigRedhat5(sysConfigAgentRedhatBase):
|
|
||||||
def __init__(self, glbEnv):
|
|
||||||
super(sysConfigRedhat5, self).__init__(glbEnv)
|
|
||||||
self.services = [hostConfig(self),
|
|
||||||
securityPolicyConfigRedhat(self),
|
|
||||||
networkConfigRedhat(self),
|
|
||||||
libvirtConfigRedhat(self),
|
|
||||||
firewallConfigAgent(self),
|
|
||||||
cloudAgentConfig(self)]
|
|
||||||
|
|
||||||
#it covers RHEL7
|
#it covers RHEL7
|
||||||
class sysConfigRedhat7(sysConfigAgentRedhat7Base):
|
class sysConfigEL7(sysConfigAgentRedhat7Base):
|
||||||
def __init__(self, glbEnv):
|
def __init__(self, glbEnv):
|
||||||
super(sysConfigRedhat7, self).__init__(glbEnv)
|
super(sysConfigEL7, self).__init__(glbEnv)
|
||||||
self.services = [hostConfig(self),
|
self.services = [hostConfig(self),
|
||||||
securityPolicyConfigRedhat(self),
|
securityPolicyConfigRedhat(self),
|
||||||
networkConfigRedhat(self),
|
networkConfigRedhat(self),
|
||||||
@ -210,10 +210,10 @@ class sysConfigRedhat7(sysConfigAgentRedhat7Base):
|
|||||||
nfsConfig(self),
|
nfsConfig(self),
|
||||||
cloudAgentConfig(self)]
|
cloudAgentConfig(self)]
|
||||||
|
|
||||||
#it covers RHEL8
|
#it covers RHEL8 and later
|
||||||
class sysConfigRedhat8(sysConfigAgentRedhat8Base):
|
class sysConfigEL(sysConfigAgentELBase):
|
||||||
def __init__(self, glbEnv):
|
def __init__(self, glbEnv):
|
||||||
super(sysConfigRedhat8, self).__init__(glbEnv)
|
super(sysConfigEL, self).__init__(glbEnv)
|
||||||
self.services = [hostConfig(self),
|
self.services = [hostConfig(self),
|
||||||
securityPolicyConfigRedhat(self),
|
securityPolicyConfigRedhat(self),
|
||||||
networkConfigRedhat(self),
|
networkConfigRedhat(self),
|
||||||
|
|||||||
@ -120,6 +120,10 @@ class Distribution:
|
|||||||
version.find("CentOS Linux release 8") != -1 or version.find("CentOS release 8.") != -1 or
|
version.find("CentOS Linux release 8") != -1 or version.find("CentOS release 8.") != -1 or
|
||||||
version.find("Linux release 8") != -1):
|
version.find("Linux release 8") != -1):
|
||||||
self.distro = "RHEL8"
|
self.distro = "RHEL8"
|
||||||
|
elif (version.find("Red Hat Enterprise Linux Server release 9") != -1 or version.find("Scientific Linux release 9") != -1 or
|
||||||
|
version.find("Red Hat Enterprise Linux release 9") != -1 or version.find("Linux release 9.") != -1 or
|
||||||
|
version.find("Linux release 9") != -1):
|
||||||
|
self.distro = "RHEL9"
|
||||||
elif version.find("CentOS") != -1:
|
elif version.find("CentOS") != -1:
|
||||||
self.distro = "CentOS"
|
self.distro = "CentOS"
|
||||||
else:
|
else:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user