Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 />RHEL/CentOS/AlmaLinux/Rocky/PhotonOS/Virtuozzo/EuroLinux/CloudLinux<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 />RHEL/CentOS/AlmaLinux/Rocky/PhotonOS/Virtuozzo/EuroLinux/CloudLinux<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

Expand Down
4 changes: 2 additions & 2 deletions cloudinit/config/cc_ntp.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
NTP_CONF = '/etc/ntp.conf'
NR_POOL_SERVERS = 4
distros = ['almalinux', 'alpine', 'centos', 'cloudlinux', 'debian',
'eurolinux', 'fedora', 'opensuse', 'photon', 'rhel', 'rocky',
'sles', 'ubuntu', 'virtuozzo']
'eurolinux', 'fedora', 'openEuler', 'opensuse', 'photon',
'rhel', 'rocky', 'sles', 'ubuntu', 'virtuozzo']

NTP_CLIENT_CONFIG = {
'chrony': {
Expand Down
4 changes: 2 additions & 2 deletions cloudinit/config/cc_yum_add_repo.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
**Module frequency:** per always

**Supported distros:** almalinux, centos, cloudlinux, eurolinux, fedora,
photon, rhel, rocky, virtuozzo
openEuler, photon, rhel, rocky, virtuozzo

**Config keys**::

Expand All @@ -38,7 +38,7 @@
from cloudinit import util

distros = ['almalinux', 'centos', 'cloudlinux', 'eurolinux', 'fedora',
'photon', 'rhel', 'rocky', 'virtuozzo']
'openEuler', 'photon', 'rhel', 'rocky', 'virtuozzo']


def _canonicalize_id(repo_id):
Expand Down
2 changes: 1 addition & 1 deletion cloudinit/distros/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
'freebsd': ['freebsd'],
'gentoo': ['gentoo'],
'redhat': ['almalinux', 'amazon', 'centos', 'cloudlinux', 'eurolinux',
'fedora', 'photon', 'rhel', 'rocky', 'virtuozzo'],
'fedora', 'openEuler', 'photon', 'rhel', 'rocky', 'virtuozzo'],
'suse': ['opensuse', 'sles'],
}

Expand Down
9 changes: 9 additions & 0 deletions cloudinit/distros/openEuler.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This file is part of cloud-init. See LICENSE file for license information.

from cloudinit.distros import rhel


class Distro(rhel.Distro):
pass

# vi: ts=4 expandtab
2 changes: 1 addition & 1 deletion cloudinit/net/sysconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

LOG = logging.getLogger(__name__)
KNOWN_DISTROS = ['almalinux', 'centos', 'cloudlinux', 'eurolinux', 'fedora',
'rhel', 'rocky', 'suse', 'virtuozzo']
'openEuler', 'rhel', 'rocky', 'suse', 'virtuozzo']
NM_CFG_FILE = "/etc/NetworkManager/NetworkManager.conf"


Expand Down
17 changes: 17 additions & 0 deletions cloudinit/tests/test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,15 @@
BUG_REPORT_URL="https://www.cloudlinux.com/support"
""")

OS_RELEASE_OPENEULER_20 = dedent("""\
NAME="openEuler"
VERSION="20.03 (LTS-SP2)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS-SP2)"
ANSI_COLOR="0;31"
""")

REDHAT_RELEASE_CENTOS_6 = "CentOS release 6.10 (Final)"
REDHAT_RELEASE_CENTOS_7 = "CentOS Linux release 7.5.1804 (Core)"
REDHAT_RELEASE_REDHAT_6 = (
Expand Down Expand Up @@ -718,6 +727,14 @@ def test_get_linux_debian(self, m_os_release, m_path_exists):
dist = util.get_linux_distro()
self.assertEqual(('debian', '9', 'stretch'), dist)

@mock.patch('cloudinit.util.load_file')
def test_get_linux_openeuler(self, m_os_release, m_path_exists):
"""Verify get the correct name and release name on Openeuler."""
m_os_release.return_value = OS_RELEASE_OPENEULER_20
m_path_exists.side_effect = TestGetLinuxDistro.os_release_exists
dist = util.get_linux_distro()
self.assertEqual(('openEuler', '20.03', 'LTS-SP2'), dist)

@mock.patch('cloudinit.util.load_file')
def test_get_linux_opensuse(self, m_os_release, m_path_exists):
"""Verify we get the correct name and machine arch on openSUSE
Expand Down
4 changes: 2 additions & 2 deletions cloudinit/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -549,8 +549,8 @@ def system_info():
linux_dist = info['dist'][0].lower()
if linux_dist in (
'almalinux', 'alpine', 'arch', 'centos', 'cloudlinux',
'debian', 'eurolinux', 'fedora', 'photon', 'rhel', 'rocky',
'suse', 'virtuozzo'):
'debian', 'eurolinux', 'fedora', 'openEuler', 'photon',
'rhel', 'rocky', 'suse', 'virtuozzo'):
var = linux_dist
elif linux_dist in ('ubuntu', 'linuxmint', 'mint'):
var = 'ubuntu'
Expand Down
6 changes: 3 additions & 3 deletions config/cloud.cfg.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ disable_root: true
{% endif %}

{% if variant in ["almalinux", "alpine", "amazon", "centos", "cloudlinux", "eurolinux",
"fedora", "rhel", "rocky", "virtuozzo"] %}
"fedora", "openEuler", "rhel", "rocky", "virtuozzo"] %}
mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
{% if variant == "amazon" %}
resize_rootfs: noblock
Expand Down Expand Up @@ -174,7 +174,7 @@ cloud_final_modules:
system_info:
# This will affect which distro class gets used
{% if variant in ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "debian",
"eurolinux", "fedora", "freebsd", "netbsd", "openbsd",
"eurolinux", "fedora", "freebsd", "netbsd", "openbsd", "openEuler",
"photon", "rhel", "rocky", "suse", "ubuntu", "virtuozzo"] %}
distro: {{ variant }}
{% elif variant in ["dragonfly"] %}
Expand Down Expand Up @@ -229,7 +229,7 @@ system_info:
security: http://ports.ubuntu.com/ubuntu-ports
ssh_svcname: ssh
{% elif variant in ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "eurolinux",
"fedora", "rhel", "rocky", "suse", "virtuozzo"] %}
"fedora", "openEuler", "rhel", "rocky", "suse", "virtuozzo"] %}
# Default user name + that default users groups (if added/used)
default_user:
{% if variant == "amazon" %}
Expand Down
4 changes: 2 additions & 2 deletions systemd/cloud-init-generator.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ default() {

check_for_datasource() {
local ds_rc=""
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora", "rhel",
"rocky", "virtuozzo"] %}
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora",
"openEuler", "rhel", "rocky", "virtuozzo"] %}
local dsidentify="/usr/libexec/cloud-init/ds-identify"
{% else %}
local dsidentify="/usr/lib/cloud-init/ds-identify"
Expand Down
4 changes: 2 additions & 2 deletions systemd/cloud-init.service.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ After=systemd-networkd-wait-online.service
{% if variant in ["ubuntu", "unknown", "debian"] %}
After=networking.service
{% endif %}
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora", "rhel",
"rocky", "virtuozzo"] %}
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora",
"openEuler", "rhel", "rocky", "virtuozzo"] %}
After=network.service
After=NetworkManager.service
{% endif %}
Expand Down
4 changes: 2 additions & 2 deletions tests/unittests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,8 @@ def test_wb_devel_schema_subcommand_doc_content(self):
expected_doc_sections = [
'**Supported distros:** all',
('**Supported distros:** almalinux, alpine, centos, cloudlinux, '
'debian, eurolinux, fedora, opensuse, photon, rhel, rocky, '
'sles, ubuntu, virtuozzo'),
'debian, eurolinux, fedora, openEuler, opensuse, photon, rhel, '
'rocky, sles, ubuntu, virtuozzo'),
'**Config schema**:\n **resize_rootfs:** (true/false/noblock)',
'**Examples**::\n\n runcmd:\n - [ ls, -l, / ]\n'
]
Expand Down
1 change: 1 addition & 0 deletions tools/.github-cla-signers
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,4 @@ Vultaire
WebSpider
xiachen-rh
xnox
zhuzaifangxuele
2 changes: 1 addition & 1 deletion tools/render-cloudcfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import os
import sys

VARIANTS = ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "debian",
"eurolinux", "fedora", "freebsd", "netbsd", "openbsd", "photon",
"eurolinux", "fedora", "freebsd", "netbsd", "openbsd", "openEuler", "photon",
"rhel", "suse","rocky", "ubuntu", "unknown", "virtuozzo"]


Expand Down