summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--cloudinit/config/cc_ntp.py13
-rw-r--r--cloudinit/config/cc_yum_add_repo.py1
-rw-r--r--cloudinit/distros/__init__.py1
-rw-r--r--cloudinit/distros/openmandriva.py14
-rw-r--r--cloudinit/net/sysconfig.py1
-rw-r--r--cloudinit/util.py1
-rw-r--r--config/cloud.cfg.tmpl15
-rw-r--r--systemd/cloud-init-generator.tmpl2
-rw-r--r--systemd/cloud-init.service.tmpl2
-rw-r--r--tests/unittests/test_cli.py4
-rw-r--r--tests/unittests/test_util.py27
-rw-r--r--tools/.github-cla-signers1
-rwxr-xr-xtools/render-cloudcfg1
14 files changed, 75 insertions, 10 deletions
diff --git a/README.md b/README.md
index f2a745f8..0a4d36c6 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ get in contact with that distribution and send them our way!
| Supported OSes | Supported Public Clouds | Supported Private Clouds |
| --- | --- | --- |
-| Alpine Linux<br />ArchLinux<br />Debian<br />DragonFlyBSD<br />Fedora<br />FreeBSD<br />Gentoo Linux<br />NetBSD<br />OpenBSD<br />openEuler<br />RHEL/CentOS/AlmaLinux/Rocky/PhotonOS/Virtuozzo/EuroLinux/CloudLinux/MIRACLE LINUX<br />SLES/openSUSE<br />Ubuntu<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> | Amazon Web Services<br />Microsoft Azure<br />Google Cloud Platform<br />Oracle Cloud Infrastructure<br />Softlayer<br />Rackspace Public Cloud<br />IBM Cloud<br />DigitalOcean<br />Bigstep<br />Hetzner<br />Joyent<br />CloudSigma<br />Alibaba Cloud<br />OVH<br />OpenNebula<br />Exoscale<br />Scaleway<br />CloudStack<br />AltCloud<br />SmartOS<br />HyperOne<br />Vultr<br />Rootbox<br /> | Bare metal installs<br />OpenStack<br />LXD<br />KVM<br />Metal-as-a-Service (MAAS)<br />VMware<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />|
+| Alpine Linux<br />ArchLinux<br />Debian<br />DragonFlyBSD<br />Fedora<br />FreeBSD<br />Gentoo Linux<br />NetBSD<br />OpenBSD<br />openEuler<br />OpenMandriva<br />RHEL/CentOS/AlmaLinux/Rocky/PhotonOS/Virtuozzo/EuroLinux/CloudLinux/MIRACLE LINUX<br />SLES/openSUSE<br />Ubuntu<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> | Amazon Web Services<br />Microsoft Azure<br />Google Cloud Platform<br />Oracle Cloud Infrastructure<br />Softlayer<br />Rackspace Public Cloud<br />IBM Cloud<br />DigitalOcean<br />Bigstep<br />Hetzner<br />Joyent<br />CloudSigma<br />Alibaba Cloud<br />OVH<br />OpenNebula<br />Exoscale<br />Scaleway<br />CloudStack<br />AltCloud<br />SmartOS<br />HyperOne<br />Vultr<br />Rootbox<br /> | Bare metal installs<br />OpenStack<br />LXD<br />KVM<br />Metal-as-a-Service (MAAS)<br />VMware<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />|
## To start developing cloud-init
diff --git a/cloudinit/config/cc_ntp.py b/cloudinit/config/cc_ntp.py
index 3bc1d303..ef1c02ca 100644
--- a/cloudinit/config/cc_ntp.py
+++ b/cloudinit/config/cc_ntp.py
@@ -30,6 +30,7 @@ distros = [
"fedora",
"miraclelinux",
"openEuler",
+ "openmandriva",
"opensuse",
"photon",
"rhel",
@@ -92,6 +93,18 @@ DISTRO_CLIENT_CONFIG = {
"confpath": "/etc/chrony/chrony.conf",
},
},
+ "openmandriva": {
+ "chrony": {
+ "service_name": "chronyd",
+ },
+ "ntp": {
+ "confpath": "/etc/ntp.conf",
+ "service_name": "ntpd",
+ },
+ "systemd-timesyncd": {
+ "check_exe": "/lib/systemd/systemd-timesyncd",
+ },
+ },
"opensuse": {
"chrony": {
"service_name": "chronyd",
diff --git a/cloudinit/config/cc_yum_add_repo.py b/cloudinit/config/cc_yum_add_repo.py
index 1609e9c6..405207ad 100644
--- a/cloudinit/config/cc_yum_add_repo.py
+++ b/cloudinit/config/cc_yum_add_repo.py
@@ -29,6 +29,7 @@ distros = [
"eurolinux",
"fedora",
"openEuler",
+ "openmandriva",
"photon",
"rhel",
"rocky",
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index b034e2c8..9da5ac8b 100644
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -47,6 +47,7 @@ OSFAMILIES = {
"fedora",
"miraclelinux",
"openEuler",
+ "openmandriva",
"photon",
"rhel",
"rocky",
diff --git a/cloudinit/distros/openmandriva.py b/cloudinit/distros/openmandriva.py
new file mode 100644
index 00000000..b4ba8439
--- /dev/null
+++ b/cloudinit/distros/openmandriva.py
@@ -0,0 +1,14 @@
+# Copyright (C) 2021 LinDev
+#
+# Author: Bernhard Rosenkraenzer <bero@lindev.ch>
+#
+# This file is part of cloud-init. See LICENSE file for license information.
+
+from cloudinit.distros import fedora
+
+
+class Distro(fedora.Distro):
+ pass
+
+
+# vi: ts=4 expandtab
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
index b80e25b5..698724ab 100644
--- a/cloudinit/net/sysconfig.py
+++ b/cloudinit/net/sysconfig.py
@@ -28,6 +28,7 @@ KNOWN_DISTROS = [
"fedora",
"miraclelinux",
"openEuler",
+ "openmandriva",
"rhel",
"rocky",
"suse",
diff --git a/cloudinit/util.py b/cloudinit/util.py
index b35503b0..224b6b77 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -601,6 +601,7 @@ def _get_variant(info):
"fedora",
"miraclelinux",
"openeuler",
+ "openmandriva",
"photon",
"rhel",
"rocky",
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
index 707a050c..8c9b8398 100644
--- a/config/cloud.cfg.tmpl
+++ b/config/cloud.cfg.tmpl
@@ -33,7 +33,7 @@ disable_root: true
{% endif %}
{% if variant in ["almalinux", "alpine", "amazon", "centos", "cloudlinux", "eurolinux",
- "fedora", "miraclelinux", "openEuler", "rhel", "rocky", "virtuozzo"] %}
+ "fedora", "miraclelinux", "openEuler", "openmandriva", "rhel", "rocky", "virtuozzo"] %}
{% if variant == "rhel" %}
mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service,_netdev', '0', '2']
{% else %}
@@ -43,7 +43,7 @@ mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
resize_rootfs: noblock
{% endif %}
resize_rootfs_tmp: /dev
-ssh_pwauth: 0
+ssh_pwauth: false
{% endif %}
# This will cause the set+update hostname module to not operate (if true)
@@ -125,7 +125,7 @@ cloud_config_modules:
{% if variant in ["rhel"] %}
- rh_subscription
{% endif %}
-{% if variant in ["rhel", "fedora", "photon"] %}
+{% if variant in ["rhel", "fedora", "openmandriva", "photon"] %}
{% if variant not in ["photon"] %}
- spacewalk
{% endif %}
@@ -192,7 +192,7 @@ system_info:
# This will affect which distro class gets used
{% if variant in ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "debian",
"eurolinux", "fedora", "freebsd", "gentoo", "netbsd", "miraclelinux", "openbsd", "openEuler",
- "photon", "rhel", "rocky", "suse", "ubuntu", "virtuozzo"] %}
+ "openmandriva", "photon", "rhel", "rocky", "suse", "ubuntu", "virtuozzo"] %}
distro: {{ variant }}
{% elif variant in ["dragonfly"] %}
distro: dragonflybsd
@@ -245,7 +245,7 @@ system_info:
security: http://ports.ubuntu.com/ubuntu-ports
ssh_svcname: ssh
{% elif variant in ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "eurolinux",
- "fedora", "gentoo", "miraclelinux", "openEuler", "rhel", "rocky", "suse", "virtuozzo"] %}
+ "fedora", "gentoo", "miraclelinux", "openEuler", "openmandriva", "rhel", "rocky", "suse", "virtuozzo"] %}
# Default user name + that default users groups (if added/used)
default_user:
{% if variant == "amazon" %}
@@ -271,6 +271,8 @@ system_info:
groups: [adm, sudo]
{% elif variant == "arch" %}
groups: [wheel, users]
+{% elif variant == "openmandriva" %}
+ groups: [wheel, users, systemd-journal]
{% elif variant == "rhel" %}
groups: [adm, systemd-journal]
{% else %}
@@ -352,4 +354,7 @@ system_info:
{% elif variant in ["rhel", "fedora"] %}
network:
renderers: ['netplan', 'network-manager', 'networkd', 'sysconfig', 'eni']
+{% elif variant == "openmandriva" %}
+ network:
+ renderers: ['network-manager', 'networkd']
{% endif %}
diff --git a/systemd/cloud-init-generator.tmpl b/systemd/cloud-init-generator.tmpl
index 66893098..f8121e99 100644
--- a/systemd/cloud-init-generator.tmpl
+++ b/systemd/cloud-init-generator.tmpl
@@ -21,7 +21,7 @@ CLOUD_SYSTEM_TARGET="/usr/lib/systemd/system/cloud-init.target"
CLOUD_SYSTEM_TARGET="/lib/systemd/system/cloud-init.target"
{% endif %}
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora",
- "miraclelinux", "openEuler", "rhel", "rocky", "virtuozzo"] %}
+ "miraclelinux", "openEuler", "openmandriva", "rhel", "rocky", "virtuozzo"] %}
dsidentify="/usr/libexec/cloud-init/ds-identify"
{% else %}
dsidentify="/usr/lib/cloud-init/ds-identify"
diff --git a/systemd/cloud-init.service.tmpl b/systemd/cloud-init.service.tmpl
index c170aef7..a9e180ee 100644
--- a/systemd/cloud-init.service.tmpl
+++ b/systemd/cloud-init.service.tmpl
@@ -13,7 +13,7 @@ After=systemd-networkd-wait-online.service
After=networking.service
{% endif %}
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora",
- "miraclelinux", "openEuler", "rhel", "rocky", "virtuozzo"] %}
+ "miraclelinux", "openEuler", "openmandriva", "rhel", "rocky", "virtuozzo"] %}
After=network.service
After=NetworkManager.service
{% endif %}
diff --git a/tests/unittests/test_cli.py b/tests/unittests/test_cli.py
index e859aba4..9da0c469 100644
--- a/tests/unittests/test_cli.py
+++ b/tests/unittests/test_cli.py
@@ -260,8 +260,8 @@ class TestCLI(test_helpers.FilesystemMockingTestCase):
"**Supported distros:** all",
"**Supported distros:** almalinux, alpine, centos, "
"cloudlinux, debian, eurolinux, fedora, miraclelinux, "
- "openEuler, opensuse, photon, rhel, rocky, sles, ubuntu, "
- "virtuozzo",
+ "openEuler, openmandriva, opensuse, photon, rhel, rocky, "
+ "sles, ubuntu, virtuozzo",
"**Config schema**:\n **resize_rootfs:** "
"(``true``/``false``/``noblock``)",
"**Examples**::\n\n runcmd:\n - [ ls, -l, / ]\n",
diff --git a/tests/unittests/test_util.py b/tests/unittests/test_util.py
index 28cab205..c330b3c7 100644
--- a/tests/unittests/test_util.py
+++ b/tests/unittests/test_util.py
@@ -321,6 +321,25 @@ OS_RELEASE_PHOTON = """\
BUG_REPORT_URL="https://github.com/vmware/photon/issues"
"""
+OS_RELEASE_OPENMANDRIVA = dedent(
+ """\
+ NAME="OpenMandriva Lx"\n
+ VERSION="4.90 (Nickel) Cooker"\n
+ ID="openmandriva"\n
+ VERSION_ID="4.90"\n
+ PRETTY_NAME="OpenMandriva Lx 4.90 (Nickel) Cooker"\n
+ BUILD_ID="20220606.19"\n
+ VERSION_CODENAME="nickel"\n
+ ANSI_COLOR="1;43"\n
+ LOGO="openmandriva"\n
+ CPE_NAME="cpe:/o:openmandriva:openmandriva_lx:4.90"\n
+ HOME_URL="http://openmandriva.org/"\n
+ BUG_REPORT_URL="http://issues.openmandriva.org/"\n
+ SUPPORT_URL="https://forum.openmandriva.org"\n
+ PRIVACY_POLICY_URL="https://www.openmandriva.org/tos"\n
+"""
+)
+
class FakeCloud(object):
def __init__(self, hostname, fqdn):
@@ -1025,6 +1044,14 @@ class TestGetLinuxDistro(CiTestCase):
dist = util.get_linux_distro()
self.assertEqual(("photon", "4.0", "VMware Photon OS/Linux"), dist)
+ @mock.patch(M_PATH + "load_file")
+ def test_get_linux_openmandriva(self, m_os_release, m_path_exists):
+ """Verify we get the correct name and machine arch on OpenMandriva"""
+ m_os_release.return_value = OS_RELEASE_OPENMANDRIVA
+ m_path_exists.side_effect = TestGetLinuxDistro.os_release_exists
+ dist = util.get_linux_distro()
+ self.assertEqual(("openmandriva", "4.90", "nickel"), dist)
+
@mock.patch("platform.system")
@mock.patch("platform.dist", create=True)
def test_get_linux_distro_no_data(
diff --git a/tools/.github-cla-signers b/tools/.github-cla-signers
index 7270be9d..bb0765d2 100644
--- a/tools/.github-cla-signers
+++ b/tools/.github-cla-signers
@@ -12,6 +12,7 @@ antonyc
aswinrajamannar
beantaxi
beezly
+berolinux
bipinbachhao
BirknerAlex
bmhughes
diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
index 176df36b..eae83217 100755
--- a/tools/render-cloudcfg
+++ b/tools/render-cloudcfg
@@ -25,6 +25,7 @@ def main():
"netbsd",
"openbsd",
"openEuler",
+ "openmandriva",
"photon",
"rhel",
"suse",