Revert OL modifications
This commit is contained in:
parent
fc3275b885
commit
80e354bc04
@ -1,50 +0,0 @@
|
|||||||
Enable ec2_utils to stop retrying to get ec2 metadata
|
|
||||||
|
|
||||||
Signed-off-by: David Sloboda <david.x.sloboda@oracle.com>
|
|
||||||
Reviewed-by: Laurence Rochfort <laurence.rochfort@oracle.com>
|
|
||||||
|
|
||||||
diff -ruN a/cloudinit/sources/helpers/openstack.py b/cloudinit/sources/helpers/openstack.py
|
|
||||||
--- a/cloudinit/sources/helpers/openstack.py 2018-04-02 12:51:20.053828637 -0700
|
|
||||||
+++ b/cloudinit/sources/helpers/openstack.py 2018-04-02 12:33:20.000000000 -0700
|
|
||||||
@@ -464,6 +464,16 @@
|
|
||||||
|
|
||||||
return results
|
|
||||||
|
|
||||||
+def should_retry_cb(_request_args, cause):
|
|
||||||
+ try:
|
|
||||||
+ code = int(cause.code)
|
|
||||||
+ if code >= 400:
|
|
||||||
+ return False
|
|
||||||
+ except (TypeError, ValueError):
|
|
||||||
+ # Older versions of requests didn't have a code.
|
|
||||||
+ pass
|
|
||||||
+ return True
|
|
||||||
+
|
|
||||||
|
|
||||||
class MetadataReader(BaseReader):
|
|
||||||
def __init__(self, base_url, ssl_details=None, timeout=5, retries=5):
|
|
||||||
@@ -489,16 +499,6 @@
|
|
||||||
return self._versions
|
|
||||||
|
|
||||||
def _path_read(self, path, decode=False):
|
|
||||||
- def should_retry_cb(_request_args, cause):
|
|
||||||
- try:
|
|
||||||
- code = int(cause.code)
|
|
||||||
- if code >= 400:
|
|
||||||
- return False
|
|
||||||
- except (TypeError, ValueError):
|
|
||||||
- # Older versions of requests didn't have a code.
|
|
||||||
- pass
|
|
||||||
- return True
|
|
||||||
-
|
|
||||||
response = url_helper.readurl(
|
|
||||||
path,
|
|
||||||
retries=self.retries,
|
|
||||||
@@ -519,6 +519,7 @@
|
|
||||||
ssl_details=self.ssl_details,
|
|
||||||
timeout=self.timeout,
|
|
||||||
retries=self.retries,
|
|
||||||
+ exception_cb=should_retry_cb,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
@ -1,136 +0,0 @@
|
|||||||
From 37a6837813e418486af8cbef436ab82a8be3e3fa Mon Sep 17 00:00:00 2001
|
|
||||||
From: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Date: Fri, 23 Feb 2024 06:06:30 -0800
|
|
||||||
Subject: [PATCH] tests/unittests: add a new unit test for network manager net
|
|
||||||
activator (#4672)
|
|
||||||
|
|
||||||
Some changes in behavior in network manager net activator was brought in with
|
|
||||||
the commit
|
|
||||||
d1d5166895da ("net/nm: check for presence of ifcfg files when nm connection files are absent")
|
|
||||||
|
|
||||||
This change adds some unit tests that exercizes network manager activator's
|
|
||||||
bring_up_interface() method that tests failure scenarios as well as cases
|
|
||||||
where an ifcfg file is used to bring the interface up.
|
|
||||||
|
|
||||||
Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
|
||||||
(cherry picked from commit bb474df78bfe45ea5f05907eb710e8d5de764fc8)
|
|
||||||
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
---
|
|
||||||
tests/unittests/test_net_activators.py | 101 +++++++++++++++++++++++++
|
|
||||||
1 file changed, 101 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/tests/unittests/test_net_activators.py b/tests/unittests/test_net_activators.py
|
|
||||||
index 2a363ec..f95c8a7 100644
|
|
||||||
--- a/tests/unittests/test_net_activators.py
|
|
||||||
+++ b/tests/unittests/test_net_activators.py
|
|
||||||
@@ -288,6 +288,107 @@ class TestActivatorsBringUp:
|
|
||||||
for call in m_subp.call_args_list:
|
|
||||||
assert call in expected_call_list
|
|
||||||
|
|
||||||
+class TestNetworkManagerActivatorBringUp:
|
|
||||||
+ @patch("cloudinit.subp.subp", return_value=("", ""))
|
|
||||||
+ @patch(
|
|
||||||
+ "cloudinit.net.network_manager.available_nm_ifcfg_rh",
|
|
||||||
+ return_value=True,
|
|
||||||
+ )
|
|
||||||
+ @patch("os.path.isfile")
|
|
||||||
+ @patch("os.path.exists", return_value=True)
|
|
||||||
+ def test_bring_up_interface_no_nm_conn(
|
|
||||||
+ self, m_exists, m_isfile, m_plugin, m_subp
|
|
||||||
+ ):
|
|
||||||
+ """
|
|
||||||
+ There is no network manager connection file but ifcfg-rh plugin is
|
|
||||||
+ present and ifcfg interface config files are also present. In this
|
|
||||||
+ case, we should use ifcfg files.
|
|
||||||
+ """
|
|
||||||
+
|
|
||||||
+ def fake_isfile_no_nmconn(filename):
|
|
||||||
+ return False if filename.endswith(".nmconnection") else True
|
|
||||||
+
|
|
||||||
+ m_isfile.side_effect = fake_isfile_no_nmconn
|
|
||||||
+
|
|
||||||
+ expected_call_list = [
|
|
||||||
+ (
|
|
||||||
+ (
|
|
||||||
+ [
|
|
||||||
+ "nmcli",
|
|
||||||
+ "connection",
|
|
||||||
+ "load",
|
|
||||||
+ "".join(
|
|
||||||
+ [
|
|
||||||
+ "/etc/sysconfig/network-scripts/ifcfg-eth0",
|
|
||||||
+ ]
|
|
||||||
+ ),
|
|
||||||
+ ],
|
|
||||||
+ ),
|
|
||||||
+ {},
|
|
||||||
+ ),
|
|
||||||
+ (
|
|
||||||
+ (
|
|
||||||
+ [
|
|
||||||
+ "nmcli",
|
|
||||||
+ "connection",
|
|
||||||
+ "up",
|
|
||||||
+ "filename",
|
|
||||||
+ "".join(
|
|
||||||
+ [
|
|
||||||
+ "/etc/sysconfig/network-scripts/ifcfg-eth0",
|
|
||||||
+ ]
|
|
||||||
+ ),
|
|
||||||
+ ],
|
|
||||||
+ ),
|
|
||||||
+ {},
|
|
||||||
+ ),
|
|
||||||
+ ]
|
|
||||||
+
|
|
||||||
+ index = 0
|
|
||||||
+ assert NetworkManagerActivator.bring_up_interface("eth0")
|
|
||||||
+ for call in m_subp.call_args_list:
|
|
||||||
+ assert call == expected_call_list[index]
|
|
||||||
+ index += 1
|
|
||||||
+
|
|
||||||
+ @patch("cloudinit.subp.subp", return_value=("", ""))
|
|
||||||
+ @patch(
|
|
||||||
+ "cloudinit.net.network_manager.available_nm_ifcfg_rh",
|
|
||||||
+ return_value=False,
|
|
||||||
+ )
|
|
||||||
+ @patch("os.path.isfile")
|
|
||||||
+ @patch("os.path.exists", return_value=True)
|
|
||||||
+ def test_bring_up_interface_no_plugin_no_nm_conn(
|
|
||||||
+ self, m_exists, m_isfile, m_plugin, m_subp
|
|
||||||
+ ):
|
|
||||||
+ """
|
|
||||||
+ The ifcfg-rh plugin is absent and nmconnection file is also
|
|
||||||
+ not present. In this case, we can't use ifcfg file and the
|
|
||||||
+ interface bring up should fail.
|
|
||||||
+ """
|
|
||||||
+
|
|
||||||
+ def fake_isfile_no_nmconn(filename):
|
|
||||||
+ return False if filename.endswith(".nmconnection") else True
|
|
||||||
+
|
|
||||||
+ m_isfile.side_effect = fake_isfile_no_nmconn
|
|
||||||
+ assert not NetworkManagerActivator.bring_up_interface("eth0")
|
|
||||||
+
|
|
||||||
+ @patch("cloudinit.subp.subp", return_value=("", ""))
|
|
||||||
+ @patch(
|
|
||||||
+ "cloudinit.net.network_manager.available_nm_ifcfg_rh",
|
|
||||||
+ return_value=True,
|
|
||||||
+ )
|
|
||||||
+ @patch("os.path.isfile", return_value=False)
|
|
||||||
+ @patch("os.path.exists", return_value=True)
|
|
||||||
+ def test_bring_up_interface_no_conn_file(
|
|
||||||
+ self, m_exists, m_isfile, m_plugin, m_subp
|
|
||||||
+ ):
|
|
||||||
+ """
|
|
||||||
+ Neither network manager connection files are present nor
|
|
||||||
+ ifcfg files are present. Even if ifcfg-rh plugin is present,
|
|
||||||
+ we can not bring up the interface. So bring_up_interface()
|
|
||||||
+ should fail.
|
|
||||||
+ """
|
|
||||||
+ assert not NetworkManagerActivator.bring_up_interface("eth0")
|
|
||||||
|
|
||||||
IF_UP_DOWN_BRING_DOWN_CALL_LIST: list = [
|
|
||||||
((["ifdown", "eth0"],), {}),
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
|||||||
From e7aba0f0ccd6f023667f41385f25044a94428ed3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Date: Fri, 23 Feb 2024 05:56:06 -0800
|
|
||||||
Subject: [PATCH] ignore enslaved interface
|
|
||||||
|
|
||||||
Changes to ignore all enslaved interfaces.
|
|
||||||
https://jira.oci.oraclecorp.com/browse/LINUX-1947
|
|
||||||
|
|
||||||
Orabug: 30092148
|
|
||||||
|
|
||||||
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
|
|
||||||
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
---
|
|
||||||
cloudinit/net/__init__.py | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/cloudinit/net/__init__.py b/cloudinit/net/__init__.py
|
|
||||||
index c0888f5..b093796 100644
|
|
||||||
--- a/cloudinit/net/__init__.py
|
|
||||||
+++ b/cloudinit/net/__init__.py
|
|
||||||
@@ -335,6 +335,10 @@ def is_netfail_standby(devname, driver=None):
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
+def is_slave(devname):
|
|
||||||
+ return os.path.exists(sys_dev_path(devname, "master"))
|
|
||||||
+
|
|
||||||
+
|
|
||||||
def is_renamed(devname):
|
|
||||||
"""
|
|
||||||
/* interface name assignment types (sysfs name_assign_type attribute) */
|
|
||||||
@@ -1054,6 +1058,9 @@ def get_interfaces(
|
|
||||||
if is_bridge(name):
|
|
||||||
filtered_logger("Ignoring bridge interface: %s", name)
|
|
||||||
continue
|
|
||||||
+ if is_slave(name):
|
|
||||||
+ filtered_logger("Ignoring bridge interface: %s", name)
|
|
||||||
+ continue
|
|
||||||
if filter_vlan and is_vlan(name):
|
|
||||||
continue
|
|
||||||
if is_bond(name):
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From 8735577c8a683407e94abed0cfccc3aacbb9aa47 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Si-Wei Liu <si-wei.liu@oracle.com>
|
|
||||||
Date: Wed, 10 Jun 2020 20:59:29 -0400
|
|
||||||
Subject: [PATCH] sysconfig: add Oracle Linux variant to known distros
|
|
||||||
|
|
||||||
otherwise anything sysconfig breaks on Oracle Linux.
|
|
||||||
|
|
||||||
JIRA: https://jira.oci.oraclecorp.com/browse/LINUX-6128
|
|
||||||
|
|
||||||
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
|
|
||||||
---
|
|
||||||
cloudinit/net/sysconfig.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
|
|
||||||
index e94590f..55b7db5 100644
|
|
||||||
--- a/cloudinit/net/sysconfig.py
|
|
||||||
+++ b/cloudinit/net/sysconfig.py
|
|
||||||
@@ -35,6 +35,7 @@
|
|
||||||
"suse",
|
|
||||||
"TencentOS",
|
|
||||||
"virtuozzo",
|
|
||||||
+ "ol",
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
|||||||
From 51cdd87ad861d5d47c212258bf00402a4dec2198 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Date: Fri, 23 Feb 2024 06:17:54 -0800
|
|
||||||
Subject: [PATCH] Update cloud-init collect-logs for Oracle Linux
|
|
||||||
|
|
||||||
Updating the code to collect triage logs with OL distro specic methods.
|
|
||||||
|
|
||||||
Orabug: 30435672
|
|
||||||
|
|
||||||
Signed-off-by: Vijay Balakrishna <vijay.balakrishna@oracle.com>
|
|
||||||
Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
|
|
||||||
Acked-by: Joe Kennedy <joe.kennedy@oracle.com>
|
|
||||||
Reviewed-by: Laurence Rochfort <laurence.rochfort@oracle.com
|
|
||||||
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Signed-off-by: Rajesh Harekal <rajesh.harekal@oracle.com>
|
|
||||||
---
|
|
||||||
cloudinit/cmd/devel/logs.py | 26 ++++++++++++++++----------
|
|
||||||
cloudinit/util.py | 1 +
|
|
||||||
2 files changed, 17 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cloudinit/cmd/devel/logs.py b/cloudinit/cmd/devel/logs.py
|
|
||||||
index 8312218..85d976a 100755
|
|
||||||
--- a/cloudinit/cmd/devel/logs.py
|
|
||||||
+++ b/cloudinit/cmd/devel/logs.py
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
from cloudinit.stages import Init
|
|
||||||
from cloudinit.subp import ProcessExecutionError, subp
|
|
||||||
from cloudinit.temp_utils import tempdir
|
|
||||||
-from cloudinit.util import copy, get_config_logfiles, write_file
|
|
||||||
+from cloudinit.util import copy, get_config_logfiles, write_file, system_info
|
|
||||||
|
|
||||||
LOG = cast(loggers.CustomLoggerType, logging.getLogger(__name__))
|
|
||||||
|
|
||||||
@@ -214,13 +214,21 @@
|
|
||||||
file_path=log_dir / "version",
|
|
||||||
msg="cloud-init --version",
|
|
||||||
)
|
|
||||||
- dpkg_ver = _write_command_output_to_file(
|
|
||||||
- cmd=["dpkg-query", "--show", "-f=${Version}\n", "cloud-init"],
|
|
||||||
- file_path=log_dir / "dpkg-version",
|
|
||||||
- msg="dpkg version",
|
|
||||||
- )
|
|
||||||
- if not version:
|
|
||||||
- version = dpkg_ver or "not-available"
|
|
||||||
+ if system_info()['variant'] == "ol":
|
|
||||||
+ rpm_ver = _write_command_output_to_file(
|
|
||||||
+ cmd=["rpm", "-q", "--queryformat",
|
|
||||||
+ "[%{VERSION}-%{RELEASE}.%{ARCH}]\n", "cloud-init"],
|
|
||||||
+ file_path=log_dir / "rpm-version",
|
|
||||||
+ msg="rpm version")
|
|
||||||
+ if not version:
|
|
||||||
+ version = rpm_ver if rpm_ver else "not-available"
|
|
||||||
+ else:
|
|
||||||
+ dpkg_ver = _write_command_output_to_file(
|
|
||||||
+ cmd=["dpkg-query", "--show", "-f=${Version}\n", "cloud-init"],
|
|
||||||
+ file_path=log_dir / "dpkg-version",
|
|
||||||
+ msg="dpkg version")
|
|
||||||
+ if not version:
|
|
||||||
+ version = dpkg_ver or "not-available"
|
|
||||||
|
|
||||||
|
|
||||||
def _collect_system_logs(
|
|
||||||
diff --git a/cloudinit/util.py b/cloudinit/util.py
|
|
||||||
index 3295735..db7bb97 100644
|
|
||||||
--- a/cloudinit/util.py
|
|
||||||
+++ b/cloudinit/util.py
|
|
||||||
@@ -660,6 +660,7 @@ def _get_variant(info):
|
|
||||||
"suse",
|
|
||||||
"tencentos",
|
|
||||||
"virtuozzo",
|
|
||||||
+ "ol",
|
|
||||||
):
|
|
||||||
variant = linux_dist
|
|
||||||
elif linux_dist in ("ubuntu", "linuxmint", "mint"):
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
|||||||
From 250aa45f74e29b95f81b24811c972369605bd24e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vijay Balakrishna <vijay.balakrishna@oracle.com>
|
|
||||||
Date: Tue, 5 Nov 2019 16:00:21 -0500
|
|
||||||
Subject: [PATCH] Add static cloud.cfg file for OL7.
|
|
||||||
|
|
||||||
Adding OL specific cloud.cfg file to enable updates cloud-init
|
|
||||||
config file independently, adding newly verified ntp module.
|
|
||||||
|
|
||||||
Orabug: 30435672
|
|
||||||
|
|
||||||
Signed-off-by: Vijay Balakrishna <vijay.balakrishna@oracle.com>
|
|
||||||
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
|
|
||||||
Acked-by: Joe Kennedy <joe.kennedy@oracle.com>
|
|
||||||
Reviewed-by: Laurence Rochfort <laurence.rochfort@oracle.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
ol/README.ol | 6 ++++++
|
|
||||||
ol/cloud.cfg | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
2 files changed, 75 insertions(+)
|
|
||||||
create mode 100644 ol/README.ol
|
|
||||||
create mode 100644 ol/cloud.cfg
|
|
||||||
|
|
||||||
diff --git a/ol/README.ol b/ol/README.ol
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..f59d559
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ol/README.ol
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+The following cloud-init modules are currently unsupported on this OS:
|
|
||||||
+ - apt_update_upgrade ('apt_update', 'apt_upgrade', 'apt_mirror', 'apt_preserve_sources_list', 'apt_old_mirror', 'apt_sources', 'debconf_selections', 'packages' options)
|
|
||||||
+ - byobu ('byobu_by_default' option)
|
|
||||||
+ - chef
|
|
||||||
+ - grub_dpkg
|
|
||||||
+ - rh_subscription
|
|
||||||
diff --git a/ol/cloud.cfg b/ol/cloud.cfg
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..2ee1fb3
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ol/cloud.cfg
|
|
||||||
@@ -0,0 +1,69 @@
|
|
||||||
+users:
|
|
||||||
+ - default
|
|
||||||
+
|
|
||||||
+disable_root: 1
|
|
||||||
+ssh_pwauth: 0
|
|
||||||
+
|
|
||||||
+mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2']
|
|
||||||
+resize_rootfs_tmp: /dev
|
|
||||||
+ssh_deletekeys: 0
|
|
||||||
+ssh_genkeytypes: ~
|
|
||||||
+syslog_fix_perms: ~
|
|
||||||
+disable_vmware_customization: false
|
|
||||||
+
|
|
||||||
+cloud_init_modules:
|
|
||||||
+ - disk_setup
|
|
||||||
+ - migrator
|
|
||||||
+ - bootcmd
|
|
||||||
+ - write-files
|
|
||||||
+ - growpart
|
|
||||||
+ - resizefs
|
|
||||||
+ - set_hostname
|
|
||||||
+ - update_hostname
|
|
||||||
+ - update_etc_hosts
|
|
||||||
+ - rsyslog
|
|
||||||
+ - users-groups
|
|
||||||
+ - ssh
|
|
||||||
+
|
|
||||||
+cloud_config_modules:
|
|
||||||
+ - mounts
|
|
||||||
+ - locale
|
|
||||||
+ - set-passwords
|
|
||||||
+ - ntp
|
|
||||||
+ - yum-add-repo
|
|
||||||
+ - package-update-upgrade-install
|
|
||||||
+ - timezone
|
|
||||||
+ - puppet
|
|
||||||
+ - chef
|
|
||||||
+ - salt-minion
|
|
||||||
+ - mcollective
|
|
||||||
+ - disable-ec2-metadata
|
|
||||||
+ - runcmd
|
|
||||||
+
|
|
||||||
+cloud_final_modules:
|
|
||||||
+ - rightscale_userdata
|
|
||||||
+ - scripts-per-once
|
|
||||||
+ - scripts-per-boot
|
|
||||||
+ - scripts-per-instance
|
|
||||||
+ - scripts-user
|
|
||||||
+ - ssh-authkey-fingerprints
|
|
||||||
+ - keys-to-console
|
|
||||||
+ - phone-home
|
|
||||||
+ - final-message
|
|
||||||
+ - power-state-change
|
|
||||||
+
|
|
||||||
+system_info:
|
|
||||||
+ default_user:
|
|
||||||
+ name: cloud-user
|
|
||||||
+ lock_passwd: true
|
|
||||||
+ gecos: Cloud User
|
|
||||||
+ groups: [adm, systemd-journal]
|
|
||||||
+ sudo: ["ALL=(ALL) NOPASSWD:ALL"]
|
|
||||||
+ shell: /bin/bash
|
|
||||||
+ distro: rhel
|
|
||||||
+ paths:
|
|
||||||
+ cloud_dir: /var/lib/cloud
|
|
||||||
+ templates_dir: /etc/cloud/templates
|
|
||||||
+ ssh_svcname: sshd
|
|
||||||
+
|
|
||||||
+# vim:syntax=yaml
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
|||||||
From 2b92e042bb8a4510abec38fcfc302d8de1e28f37 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Date: Fri, 23 Feb 2024 06:55:32 -0800
|
|
||||||
Subject: [PATCH] spacewalk: fix CA cert file path for Oracle Linux
|
|
||||||
|
|
||||||
Update the CA cert file that is available in Oracle Linux to register with ULN.
|
|
||||||
|
|
||||||
Orabug: 30435672
|
|
||||||
|
|
||||||
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
|
|
||||||
Signed-off-by: Vijay Balakrishna <vijay.balakrishna@oracle.com>
|
|
||||||
Acked-by: Joe Kennedy <joe.kennedy@oracle.com>
|
|
||||||
Reviewed-by: Laurence Rochfort <laurence.rochfort@oracle.com>
|
|
||||||
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Signed-off-by: Rajesh Harekal <rajesh.harekal@oracle.com>
|
|
||||||
---
|
|
||||||
cloudinit/config/cc_spacewalk.py | 8 +++++++-
|
|
||||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/cloudinit/config/cc_spacewalk.py b/cloudinit/config/cc_spacewalk.py
|
|
||||||
index 08514f2..7248cce 100644
|
|
||||||
--- a/cloudinit/config/cc_spacewalk.py
|
|
||||||
+++ b/cloudinit/config/cc_spacewalk.py
|
|
||||||
@@ -3,7 +3,7 @@
|
|
||||||
|
|
||||||
import logging
|
|
||||||
|
|
||||||
-from cloudinit import subp
|
|
||||||
+from cloudinit import subp, util
|
|
||||||
from cloudinit.cloud import Cloud
|
|
||||||
from cloudinit.config import Config
|
|
||||||
from cloudinit.config.schema import MetaSchema
|
|
||||||
@@ -21,6 +21,7 @@
|
|
||||||
distros = ["redhat", "fedora", "openeuler"]
|
|
||||||
required_packages = ["rhn-setup"]
|
|
||||||
def_ca_cert_path = "/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT"
|
|
||||||
+ol_ca_cert_path = "/usr/share/rhn/ULN-CA-CERT"
|
|
||||||
|
|
||||||
|
|
||||||
def is_registered():
|
|
||||||
@@ -74,9 +75,14 @@
|
|
||||||
# Need to have this installed before further things will work.
|
|
||||||
cloud.distro.install_packages(required_packages)
|
|
||||||
if not is_registered():
|
|
||||||
+ if util.system_info()['variant'] == "ol":
|
|
||||||
+ cert = ol_ca_cert_path
|
|
||||||
+ else:
|
|
||||||
+ cert = def_ca_cert_path
|
|
||||||
do_register(
|
|
||||||
spacewalk_server,
|
|
||||||
cloud.datasource.get_hostname(fqdn=True).hostname,
|
|
||||||
+ ca_cert_path=cert,
|
|
||||||
proxy=cfg.get("proxy"),
|
|
||||||
activation_key=cfg.get("activation_key"),
|
|
||||||
)
|
|
@ -1,31 +0,0 @@
|
|||||||
cloud-init service file is missing sshd required services
|
|
||||||
Orabug: 32183938
|
|
||||||
|
|
||||||
in the systemd sshd-keygen.target file, the following services are listed:
|
|
||||||
[Unit]
|
|
||||||
Wants=sshd-keygen@rsa.service
|
|
||||||
Wants=sshd-keygen@ecdsa.service
|
|
||||||
Wants=sshd-keygen@ed25519.service
|
|
||||||
|
|
||||||
Need to add the following to the cloud-init service file:
|
|
||||||
Before=sshd-keygen@rsa.service
|
|
||||||
Before=sshd-keygen@ecdsa.service
|
|
||||||
Before=sshd-keygen@ed25519.service
|
|
||||||
|
|
||||||
Signed-off-by: Isaac Chen <isaac.chen@oracle.com>
|
|
||||||
Signed-off-by: Rajesh Harekal <rajesh.harekal@oracle.com>
|
|
||||||
|
|
||||||
diff -up cloud-init-19.4/systemd/cloud-init.service.tmpl.orig cloud-init-19.4/systemd/cloud-init.service.tmpl
|
|
||||||
--- cloud-init-24.4/systemd/cloud-init.service.tmpl 2025-01-28 11:13:57.339346352 -0800
|
|
||||||
+++ cloud-init-24.4/systemd/cloud-init.service.tmpl 2025-01-28 11:14:31.587669418 -0800
|
|
||||||
@@ -28,7 +28,9 @@
|
|
||||||
After=dbus.service
|
|
||||||
{% endif %}
|
|
||||||
Before=network-online.target
|
|
||||||
-Before=sshd-keygen.service
|
|
||||||
+Before=sshd-keygen@rsa.service
|
|
||||||
+Before=sshd-keygen@ecdsa.service
|
|
||||||
+Before=sshd-keygen@ed25519.service
|
|
||||||
Before=sshd.service
|
|
||||||
Before=systemd-user-sessions.service
|
|
||||||
{% if variant in ["ubuntu", "unknown", "debian"] %}
|
|
@ -1,22 +0,0 @@
|
|||||||
cloud-init service file is missing sshd required services
|
|
||||||
Orabug: 32183938
|
|
||||||
|
|
||||||
This patch is the supplement of patch orabug32183938-009, where changes
|
|
||||||
to cloud-init.service also need to be added to files in rhel/systemd.
|
|
||||||
|
|
||||||
Signed-off-by: Isaac Chen <isaac.chen@oracle.com>
|
|
||||||
|
|
||||||
diff -up cloud-init-19.4/systemd/cloud-init.service.tmpl.orig cloud-init-19.4/systemd/cloud-init.service.tmpl
|
|
||||||
--- cloud-init-19.4/systemd/cloud-init.service.tmpl.orig 2020-12-11 19:59:37.331277979 -0800
|
|
||||||
+++ cloud-init-19.4/systemd/cloud-init.service.tmpl 2020-12-11 20:00:38.867459043 -0800
|
|
||||||
@@ -5,7 +5,9 @@
|
|
||||||
DefaultDependencies=no
|
|
||||||
{% endif %}
|
|
||||||
Wants=cloud-init-local.service
|
|
||||||
-Wants=sshd-keygen.service
|
|
||||||
+Wants=sshd-keygen@rsa.service
|
|
||||||
+Wants=sshd-keygen@ecdsa.service
|
|
||||||
+Wants=sshd-keygen@ed25519.service
|
|
||||||
Wants=sshd.service
|
|
||||||
After=cloud-init-local.service
|
|
||||||
After=systemd-networkd-wait-online.service
|
|
@ -1,287 +0,0 @@
|
|||||||
From e921be03f802ee154ed1ddf044e276b23af0d2b6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Date: Fri, 23 Feb 2024 07:52:25 -0800
|
|
||||||
Subject: [PATCH] Add Oracle to distro detection logic in cloud.cfg.tmpl
|
|
||||||
|
|
||||||
Oracle Linux is being detected as "ol" variant by cloud-init.
|
|
||||||
This patch adds "ol" to the list of supported variants, and applies needed settings to it.
|
|
||||||
You can notice that variant "ol" is being set as distro "rhel" in a couple of places,
|
|
||||||
that is expected as this designated that base distro for "ol" is "rhel" ( which is true )
|
|
||||||
|
|
||||||
The main reason for this change is that cloud-init package dropped hardcoded configs that set OL as rhel
|
|
||||||
and to make cloud-init behave on OL systems as expected we need to add "ol" designation to supported list.
|
|
||||||
|
|
||||||
Orabug: 34845400
|
|
||||||
Signed-off-by: Alex Burmashev <alexander.burmashev@oracle.com>
|
|
||||||
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
|
|
||||||
Signed-off-by: Rajesh Harekal <rajesh.harekal@oracle.com>
|
|
||||||
---
|
|
||||||
cloudinit/distros/__init__.py | 1 +
|
|
||||||
cloudinit/sources/DataSourceRbxCloud.py | 2 +-
|
|
||||||
config/cloud.cfg.tmpl | 33 ++++++++++++++++++-------
|
|
||||||
systemd/cloud-final.service | 4 ++-
|
|
||||||
systemd/cloud-init-local.service.tmpl | 12 ++++++---
|
|
||||||
systemd/cloud-init.service.tmpl | 8 ++++--
|
|
||||||
systemd/cloud-init-generator.tmpl | 1 +++--
|
|
||||||
tests/unittests/test_util.py | 1 +
|
|
||||||
8 files changed, 48 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
|
|
||||||
index 79e2623..8f1381b 100644
|
|
||||||
--- a/cloudinit/distros/__init__.py
|
|
||||||
+++ b/cloudinit/distros/__init__.py
|
|
||||||
@@ -78,6 +78,7 @@ OSFAMILIES = {
|
|
||||||
"rhel",
|
|
||||||
"rocky",
|
|
||||||
"virtuozzo",
|
|
||||||
+ "ol",
|
|
||||||
],
|
|
||||||
"suse": [
|
|
||||||
"opensuse",
|
|
||||||
diff --git a/cloudinit/sources/DataSourceRbxCloud.py b/cloudinit/sources/DataSourceRbxCloud.py
|
|
||||||
index 9214f1b..5379132 100644
|
|
||||||
--- a/cloudinit/sources/DataSourceRbxCloud.py
|
|
||||||
+++ b/cloudinit/sources/DataSourceRbxCloud.py
|
|
||||||
@@ -60,7 +60,7 @@ def _sub_arp(cmd):
|
|
||||||
|
|
||||||
def gratuitous_arp(items, distro):
|
|
||||||
source_param = "-S"
|
|
||||||
- if distro.name in ["fedora", "centos", "rhel"]:
|
|
||||||
+ if distro.name in ["fedora", "centos", "rhel", "ol"]:
|
|
||||||
source_param = "-s"
|
|
||||||
for item in items:
|
|
||||||
try:
|
|
||||||
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
|
|
||||||
index a470120..f440830 100644
|
|
||||||
--- a/config/cloud.cfg.tmpl
|
|
||||||
+++ b/config/cloud.cfg.tmpl
|
|
||||||
@@ -59,10 +59,10 @@
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{%- if variant in ["alpine", "amazon", "fedora", "OpenCloudOS", "openeuler",
|
|
||||||
- "openmandriva", "photon", "TencentOS"] or is_rhel %}
|
|
||||||
+ "openmandriva", "photon", "TencentOS", "ol"] or is_rhel %}
|
|
||||||
|
|
||||||
-{% if is_rhel %}
|
|
||||||
-mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.after=cloud-init-network.service,_netdev', '0', '2']
|
|
||||||
+{% if variant in ["ol"] or is_rhel %}
|
|
||||||
+mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.after=cloud-init.service,_netdev', '0', '2']
|
|
||||||
{% else %}
|
|
||||||
mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
|
|
||||||
{% endif %}
|
|
||||||
@@ -101,7 +101,7 @@
|
|
||||||
|
|
||||||
{% endif -%}
|
|
||||||
|
|
||||||
-{% if is_rhel %}
|
|
||||||
+{% if variant in ["ol"] or is_rhel %}
|
|
||||||
# Default redhat settings:
|
|
||||||
ssh_deletekeys: true
|
|
||||||
ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519']
|
|
||||||
@@ -166,18 +166,20 @@
|
|
||||||
- ubuntu_pro
|
|
||||||
{% endif %}
|
|
||||||
{% elif variant in ["azurelinux", "fedora", "mariner", "openeuler",
|
|
||||||
- "openmandriva", "photon"] or is_rhel %}
|
|
||||||
+ "openmandriva", "photon", "ol"] or is_rhel %}
|
|
||||||
{% if is_rhel %}
|
|
||||||
- rh_subscription
|
|
||||||
{% endif %}
|
|
||||||
-{% if variant not in ["azurelinux", "mariner", "photon"] %}
|
|
||||||
+{% if variant not in ["azurelinux", "mariner", "photon", "ol"] %}
|
|
||||||
- spacewalk
|
|
||||||
{% endif %}
|
|
||||||
- yum_add_repo
|
|
||||||
{% elif variant == "suse" %}
|
|
||||||
- zypper_add_repo
|
|
||||||
{% endif %}
|
|
||||||
+{% if variant not in ["ol"] %}
|
|
||||||
- ntp
|
|
||||||
+{% endif %}
|
|
||||||
- timezone
|
|
||||||
{% if variant not in ["azurelinux"] %}
|
|
||||||
- disable_ec2_metadata
|
|
||||||
@@ -207,6 +209,8 @@
|
|
||||||
{% if variant not in ["azurelinux"] %}
|
|
||||||
- mcollective
|
|
||||||
- salt_minion
|
|
||||||
+{% endif %}
|
|
||||||
+{% if variant not in ["azurelinux", "ol"] %}
|
|
||||||
- reset_rmc
|
|
||||||
{% endif %}
|
|
||||||
- scripts_vendor
|
|
||||||
@@ -230,6 +234,8 @@
|
|
||||||
"OpenCloudOS", "openeuler", "openmandriva", "photon", "suse",
|
|
||||||
"TencentOS", "ubuntu"] or is_rhel %}
|
|
||||||
distro: {{ variant }}
|
|
||||||
+{% elif variant == "ol" %}
|
|
||||||
+ distro: rhel
|
|
||||||
{% elif variant == "dragonfly" %}
|
|
||||||
distro: dragonflybsd
|
|
||||||
{% else %}
|
|
||||||
@@ -238,7 +244,9 @@
|
|
||||||
{% endif %}
|
|
||||||
# Default user name + that default users groups (if added/used)
|
|
||||||
default_user:
|
|
||||||
-{% if variant in usernames %}
|
|
||||||
+{% if variant == "ol" %}
|
|
||||||
+ name: cloud-user
|
|
||||||
+{% elif variant in usernames %}
|
|
||||||
name: {{ usernames[variant] }}
|
|
||||||
{% else %}
|
|
||||||
name: {{ variant }}
|
|
||||||
@@ -246,11 +254,13 @@
|
|
||||||
{% if variant in ["alpine", "amazon", "aosc", "arch", "azurelinux", "debian", "fedora",
|
|
||||||
"gentoo", "mariner", "OpenCloudOS", "openeuler",
|
|
||||||
"openmandriva", "photon", "suse", "TencentOS", "ubuntu",
|
|
||||||
- "unknown"]
|
|
||||||
+ "unknown", "ol"]
|
|
||||||
or is_bsd or is_rhel %}
|
|
||||||
lock_passwd: True
|
|
||||||
{% endif %}
|
|
||||||
-{% if variant in gecos %}
|
|
||||||
+{% if variant == "ol" %}
|
|
||||||
+ gecos: Cloud User
|
|
||||||
+{% elif variant in gecos %}
|
|
||||||
gecos: {{ gecos[variant] }}
|
|
||||||
{% else %}
|
|
||||||
gecos: {{ variant }} Cloud User
|
|
||||||
@@ -259,7 +269,7 @@
|
|
||||||
groups: [{{ groups[variant] }}]
|
|
||||||
{% elif is_bsd %}
|
|
||||||
groups: [wheel]
|
|
||||||
-{% elif is_rhel %}
|
|
||||||
+{% elif variant in ["ol"] or is_rhel %}
|
|
||||||
groups: [adm, systemd-journal]
|
|
||||||
{% else %}
|
|
||||||
groups: [wheel, adm, systemd-journal]
|
|
||||||
@@ -328,7 +338,7 @@
|
|
||||||
{% if variant in ["alpine", "amazon", "aosc", "arch", "azurelinux", "debian", "fedora",
|
|
||||||
"gentoo", "mariner", "OpenCloudOS", "openeuler",
|
|
||||||
"openmandriva", "photon", "suse", "TencentOS", "ubuntu",
|
|
||||||
- "unknown"]
|
|
||||||
+ "unknown", "ol"]
|
|
||||||
or is_rhel %}
|
|
||||||
# Other config here will be given to the distro class and/or path classes
|
|
||||||
paths:
|
|
||||||
@@ -375,7 +385,7 @@
|
|
||||||
ssh_svcname: ssh
|
|
||||||
{% elif variant in ["alpine", "amazon", "aosc", "arch", "azurelinux", "fedora",
|
|
||||||
"gentoo", "mariner", "OpenCloudOS", "openeuler",
|
|
||||||
- "openmandriva", "photon", "suse", "TencentOS"]
|
|
||||||
+ "openmandriva", "photon", "suse", "TencentOS", "ol"]
|
|
||||||
or is_rhel %}
|
|
||||||
ssh_svcname: sshd
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
diff --git a/systemd/cloud-final.service b/systemd/cloud-final.service
|
|
||||||
index ab3daed..1c69dde 100644
|
|
||||||
--- a/systemd/cloud-final.service
|
|
||||||
+++ b/systemd/cloud-final.service
|
|
||||||
@@ -3,7 +3,6 @@
|
|
||||||
Description=Cloud-init: Final Stage
|
|
||||||
After=network-online.target time-sync.target cloud-config.service rc-local.service
|
|
||||||
After=multi-user.target
|
|
||||||
-Before=apt-daily.service
|
|
||||||
Wants=network-online.target cloud-config.service
|
|
||||||
ConditionPathExists=!/etc/cloud/cloud-init.disabled
|
|
||||||
ConditionKernelCommandLine=!cloud-init=disabled
|
|
||||||
|
|
||||||
diff --git a/systemd/cloud-init-local.service.tmpl b/systemd/cloud-init-local.service.tmpl
|
|
||||||
index 3a1ca7f..4750c36 100644
|
|
||||||
--- a/systemd/cloud-init-local.service.tmpl
|
|
||||||
+++ b/systemd/cloud-init-local.service.tmpl
|
|
||||||
@@ -2,19 +2,21 @@
|
|
||||||
[Unit]
|
|
||||||
# https://docs.cloud-init.io/en/latest/explanation/boot.html
|
|
||||||
Description=Cloud-init: Local Stage (pre-network)
|
|
||||||
-{% if variant in ["almalinux", "cloudlinux", "ubuntu", "unknown", "debian", "rhel"] %}
|
|
||||||
+{% if variant in ["almalinux", "cloudlinux", "ubuntu", "unknown", "debian", "rhel", "ol"] %}
|
|
||||||
DefaultDependencies=no
|
|
||||||
{% endif %}
|
|
||||||
Wants=network-pre.target
|
|
||||||
+{% if variant not in ["ol"] %}
|
|
||||||
After=hv_kvp_daemon.service
|
|
||||||
-{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
|
|
||||||
+{% endif %}
|
|
||||||
+{% if variant in ["almalinux", "cloudlinux", "rhel", "ol"] %}
|
|
||||||
Requires=dbus.socket
|
|
||||||
After=dbus.socket
|
|
||||||
{% endif %}
|
|
||||||
After=systemd-remount-fs.service
|
|
||||||
Before=network-pre.target
|
|
||||||
Before=shutdown.target
|
|
||||||
-{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
|
|
||||||
+{% if variant in ["almalinux", "cloudlinux", "rhel", "ol"] %}
|
|
||||||
Before=firewalld.target
|
|
||||||
{% endif %}
|
|
||||||
{% if variant in ["ubuntu", "unknown", "debian"] %}
|
|
||||||
@@ -28,7 +30,7 @@
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
-{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
|
|
||||||
+{% if variant in ["almalinux", "cloudlinux", "rhel", "ol"] %}
|
|
||||||
ExecStartPre=/sbin/restorecon /run/cloud-init
|
|
||||||
{% endif %}
|
|
||||||
ExecStart=/usr/bin/cloud-init init --local
|
|
||||||
|
|
||||||
diff --git a/systemd/cloud-init.service.tmpl b/systemd/cloud-init.service.tmpl
|
|
||||||
index 90d45f2..2e1ce48 100644
|
|
||||||
--- a/systemd/cloud-init.service.tmpl
|
|
||||||
+++ b/systemd/cloud-init.service.tmpl
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
[Unit]
|
|
||||||
# https://docs.cloud-init.io/en/latest/explanation/boot.html
|
|
||||||
Description=Cloud-init: Network Stage
|
|
||||||
-{% if variant not in ["almalinux", "cloudlinux", "photon", "rhel"] %}
|
|
||||||
+{% if variant not in ["almalinux", "cloudlinux", "photon", "rhel", "ol"] %}
|
|
||||||
DefaultDependencies=no
|
|
||||||
{% endif %}
|
|
||||||
Wants=cloud-init-local.service
|
|
||||||
@@ -11,13 +11,15 @@
|
|
||||||
Wants=sshd-keygen@ed25519.service
|
|
||||||
Wants=sshd.service
|
|
||||||
After=cloud-init-local.service
|
|
||||||
+{% if variant not in ["ol"] %}
|
|
||||||
After=systemd-networkd-wait-online.service
|
|
||||||
+{% endif %}
|
|
||||||
{% if variant in ["ubuntu", "unknown", "debian"] %}
|
|
||||||
After=networking.service
|
|
||||||
{% endif %}
|
|
||||||
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora",
|
|
||||||
"miraclelinux", "openeuler", "OpenCloudOS", "openmandriva", "rhel", "rocky",
|
|
||||||
- "suse", "TencentOS", "virtuozzo"] %}
|
|
||||||
+ "suse", "TencentOS", "virtuozzo", "ol"] %}
|
|
||||||
|
|
||||||
After=NetworkManager.service
|
|
||||||
After=NetworkManager-wait-online.service
|
|
||||||
|
|
||||||
diff --git a/systemd/cloud-init-generator.tmpl b/systemd/cloud-init-generator.tmpl
|
|
||||||
--- a/systemd/cloud-init-generator.tmpl
|
|
||||||
+++ b/systemd/cloud-init-generator.tmpl
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
CLOUD_SYSTEM_TARGET="/lib/systemd/system/cloud-init.target"
|
|
||||||
{% endif %}
|
|
||||||
{% if variant in ["almalinux", "centos", "cloudlinux", "eurolinux", "fedora",
|
|
||||||
- "miraclelinux", "openeuler", "OpenCloudOS", "openmandriva", "rhel", "rocky", "TencentOS", "virtuozzo"] %}
|
|
||||||
+ "miraclelinux", "openeuler", "OpenCloudOS", "openmandriva", "rhel", "rocky", "TencentOS", "virtuozzo", "ol"] %}
|
|
||||||
dsidentify="/usr/libexec/cloud-init/ds-identify"
|
|
||||||
{% elif variant == "benchmark" %}
|
|
||||||
dsidentify="/bin/true"
|
|
||||||
|
|
||||||
diff --git a/tests/unittests/test_util.py b/tests/unittests/test_util.py
|
|
||||||
index 519ef63..323e7f6 100644
|
|
||||||
--- a/tests/unittests/test_util.py
|
|
||||||
+++ b/tests/unittests/test_util.py
|
|
||||||
@@ -1311,6 +1311,7 @@ class TestGetVariant:
|
|
||||||
({"system": "linux", "dist": ("sles",)}, "suse"),
|
|
||||||
({"system": "linux", "dist": ("sle_hpc",)}, "suse"),
|
|
||||||
({"system": "linux", "dist": ("my_distro",)}, "linux"),
|
|
||||||
+ ({"system": "linux", "dist": ("ol",)}, "ol"),
|
|
||||||
({"system": "Windows", "dist": ("dontcare",)}, "windows"),
|
|
||||||
({"system": "Darwin", "dist": ("dontcare",)}, "darwin"),
|
|
||||||
({"system": "Freebsd", "dist": ("dontcare",)}, "freebsd"),
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
|||||||
Patch to adapt DataSourceOracle and make it functional for OCI.
|
|
||||||
Also includes setting for retries and timeouts previously provided by
|
|
||||||
a separate patch to help PCA instances get IMDS data.
|
|
||||||
|
|
||||||
Orabug: 37065979
|
|
||||||
|
|
||||||
Signed-off-by: Rajesh Harekal <rajesh.harekal@oracle.com>
|
|
||||||
---
|
|
||||||
diff -git a/cloudinit/sources/DataSourceOracle.py b/cloudinit/sources/DataSourceOracle.py
|
|
||||||
--- a/cloudinit/sources/DataSourceOracle.py 2025-03-07 16:04:37.773216485 -0800
|
|
||||||
+++ a/cloudinit/sources/DataSourceOracle.py 2025-03-07 16:32:33.174574170 -0800
|
|
||||||
@@ -15,6 +15,7 @@
|
|
||||||
|
|
||||||
import base64
|
|
||||||
import ipaddress
|
|
||||||
+import os
|
|
||||||
import json
|
|
||||||
import logging
|
|
||||||
import time
|
|
||||||
@@ -32,6 +33,8 @@
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
+ISCSI_IBFT_PATH='/sys/firmware/acpi/tables/iBFT'
|
|
||||||
+
|
|
||||||
BUILTIN_DS_CONFIG = {
|
|
||||||
# Don't use IMDS to configure secondary NICs by default
|
|
||||||
"configure_secondary_nics": False,
|
|
||||||
@@ -135,8 +138,8 @@
|
|
||||||
perform_dhcp_setup = True
|
|
||||||
|
|
||||||
# Careful...these can be overridden in __init__
|
|
||||||
- url_max_wait = 30
|
|
||||||
- url_timeout = 5
|
|
||||||
+ url_max_wait = 180
|
|
||||||
+ url_timeout = 20
|
|
||||||
|
|
||||||
def __init__(self, sys_cfg, *args, **kwargs):
|
|
||||||
super(DataSourceOracle, self).__init__(sys_cfg, *args, **kwargs)
|
|
||||||
@@ -149,7 +152,7 @@
|
|
||||||
]
|
|
||||||
)
|
|
||||||
self._network_config_source = KlibcOracleNetworkConfigSource()
|
|
||||||
- self._network_config: dict = {"config": [], "version": 1}
|
|
||||||
+ self._network_config = sources.UNSET
|
|
||||||
|
|
||||||
url_params = self.get_url_params()
|
|
||||||
self.url_max_wait = url_params.max_wait_seconds
|
|
||||||
@@ -274,7 +277,7 @@
|
|
||||||
|
|
||||||
def _is_iscsi_root(self) -> bool:
|
|
||||||
"""Return whether we are on a iscsi machine."""
|
|
||||||
- return self._network_config_source.is_applicable()
|
|
||||||
+ return self._network_config_source.is_applicable() or bool(os.path.exists(ISCSI_IBFT_PATH))
|
|
||||||
|
|
||||||
def _get_iscsi_config(self) -> dict:
|
|
||||||
return self._network_config_source.render_config()
|
|
||||||
@@ -294,34 +297,31 @@
|
|
||||||
|
|
||||||
set_primary = False
|
|
||||||
# this is v1
|
|
||||||
- if self._is_iscsi_root():
|
|
||||||
- self._network_config = self._get_iscsi_config()
|
|
||||||
- if not self._has_network_config():
|
|
||||||
- LOG.warning(
|
|
||||||
- "Could not obtain network configuration from initramfs. "
|
|
||||||
- "Falling back to IMDS."
|
|
||||||
+ if self._network_config == sources.UNSET:
|
|
||||||
+ # this is v1
|
|
||||||
+ if not self._has_network_config():
|
|
||||||
+ self._network_config = self.distro.generate_fallback_config()
|
|
||||||
+ set_primary = True
|
|
||||||
+
|
|
||||||
+ set_secondary = self.ds_cfg.get(
|
|
||||||
+ "configure_secondary_nics",
|
|
||||||
+ BUILTIN_DS_CONFIG["configure_secondary_nics"],
|
|
||||||
)
|
|
||||||
- set_primary = True
|
|
||||||
-
|
|
||||||
- set_secondary = self.ds_cfg.get(
|
|
||||||
- "configure_secondary_nics",
|
|
||||||
- BUILTIN_DS_CONFIG["configure_secondary_nics"],
|
|
||||||
- )
|
|
||||||
- if set_primary or set_secondary:
|
|
||||||
- try:
|
|
||||||
- # Mutate self._network_config to include primary and/or
|
|
||||||
- # secondary VNICs
|
|
||||||
- self._add_network_config_from_opc_imds(set_primary)
|
|
||||||
- except Exception:
|
|
||||||
- util.logexc(
|
|
||||||
- LOG,
|
|
||||||
- "Failed to parse IMDS network configuration!",
|
|
||||||
- )
|
|
||||||
+ if set_primary or set_secondary:
|
|
||||||
+ try:
|
|
||||||
+ # Mutate self._network_config to include primary and/or
|
|
||||||
+ # secondary VNICs
|
|
||||||
+ self._add_network_config_from_opc_imds(set_primary)
|
|
||||||
+ except Exception:
|
|
||||||
+ util.logexc(
|
|
||||||
+ LOG,
|
|
||||||
+ "Failed to parse IMDS network configuration!",
|
|
||||||
+ )
|
|
||||||
|
|
||||||
- # we need to verify that the nic selected is not a netfail over
|
|
||||||
- # device and, if it is a netfail master, then we need to avoid
|
|
||||||
- # emitting any match by mac
|
|
||||||
- _ensure_netfailover_safe(self._network_config)
|
|
||||||
+ # we need to verify that the nic selected is not a netfail over
|
|
||||||
+ # device and, if it is a netfail master, then we need to avoid
|
|
||||||
+ # emitting any match by mac
|
|
||||||
+ _ensure_netfailover_safe(self._network_config)
|
|
||||||
|
|
||||||
return self._network_config
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: cloud-init
|
Name: cloud-init
|
||||||
Version: 24.4
|
Version: 24.4
|
||||||
Release: 4.0.1%{?dist}.3
|
Release: 4%{?dist}.3
|
||||||
Summary: Cloud instance init scripts
|
Summary: Cloud instance init scripts
|
||||||
License: ASL 2.0 or GPLv3
|
License: ASL 2.0 or GPLv3
|
||||||
URL: http://launchpad.net/cloud-init
|
URL: http://launchpad.net/cloud-init
|
||||||
@ -29,20 +29,6 @@ Patch12: ci-fix-Don-t-attempt-to-identify-non-x86-OpenStack-inst.pa
|
|||||||
# For RHEL-100611 - CVE-2024-6174 cloud-init: From CVEorg collector [rhel-9.6.z]
|
# For RHEL-100611 - CVE-2024-6174 cloud-init: From CVEorg collector [rhel-9.6.z]
|
||||||
Patch13: ci-fix-strict-disable-in-ds-identify-on-no-datasources-.patch
|
Patch13: ci-fix-strict-disable-in-ds-identify-on-no-datasources-.patch
|
||||||
|
|
||||||
# Oracle patches
|
|
||||||
Patch100: 0041-enable-ec2_utils-to-stop-retrying-to-get-ec2-metadata.patch
|
|
||||||
Patch101: ignore-enslaved-interface.patch
|
|
||||||
Patch102: ol-sysconfig-add-Oracle-Linux-variant-to-known-distros.patch
|
|
||||||
Patch103: 0106-tests-unittests-add-a-new-unit-test-for-network-mana.patch
|
|
||||||
# Oracle specific patches (preferred prefix: "ol" or "orabugNNNNNNNN")
|
|
||||||
Patch1001: orabug30435672-003-cloud-init-collect-logs.patch
|
|
||||||
Patch1002: orabug30435672-004-ol-cloud-config.patch
|
|
||||||
Patch1003: orabug30435672-006-cc_spacewalk.py.patch
|
|
||||||
Patch1004: orabug32183938-009-missing-sshd-services.patch
|
|
||||||
Patch1005: orabug32183938-010-missing-sshd-services-in-rhel-systemd.patch
|
|
||||||
Patch1006: orabug34845400-Add-Oracle-to-distro-detection-logic-in-cloud.cfg.tm.patch
|
|
||||||
Patch1007: orabug35950168-DataSourceOracle-network-getdata-updates.patch
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
BuildRequires: pkgconfig(systemd)
|
BuildRequires: pkgconfig(systemd)
|
||||||
@ -256,24 +242,6 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Jul 14 2025 Craig Guiller <craig.guiller@oracle.com> - 24.4-4.0.1.el9_6.3
|
|
||||||
- Fix Oracle Datasource network and getdata methods for OCI OL [Orabug: 35950168]
|
|
||||||
- Fix log file permission [Orabug: 35302969]
|
|
||||||
- Update detection logic for OL distros in config template [Orabug: 34845400]
|
|
||||||
- Added missing services in rhel/systemd/cloud-init.service [Orabug: 32183938]
|
|
||||||
- Added missing services in cloud-init.service.tmpl for sshd [Orabug: 32183938]
|
|
||||||
- Forward port applicable cloud-init 18.4-2.0.3 changes to cloud-init-18-5 [Orabug: 30435672]
|
|
||||||
- limit permissions [Orabug: 31352433]
|
|
||||||
- Changes to ignore all enslaved interfaces [Orabug: 30092148]
|
|
||||||
- Make Oracle datasource detect dracut based config files [Orabug: 29956753]
|
|
||||||
- add modified version of enable-ec2_utils-to-stop-retrying-to-get-ec2-metadata.patch:
|
|
||||||
1. Enable ec2_utils.py having a way to stop retrying to get ec2 metadata
|
|
||||||
2. Apply stop retrying to get ec2 metadata to helper/openstack.py MetadataReader
|
|
||||||
Resolves: Oracle-Bug:41660 (Bugzilla)
|
|
||||||
- added OL to list of known distros
|
|
||||||
Resolves: rhbz#1427280
|
|
||||||
Resolves: rhbz#1427280
|
|
||||||
|
|
||||||
* Thu Jul 03 2025 Miroslav Rezanina <mrezanin@redhat.com> - 24.4-4.el9_6.3
|
* Thu Jul 03 2025 Miroslav Rezanina <mrezanin@redhat.com> - 24.4-4.el9_6.3
|
||||||
- ci-fix-Don-t-attempt-to-identify-non-x86-OpenStack-inst.patch [RHEL-100611]
|
- ci-fix-Don-t-attempt-to-identify-non-x86-OpenStack-inst.patch [RHEL-100611]
|
||||||
- ci-fix-strict-disable-in-ds-identify-on-no-datasources-.patch [RHEL-100611]
|
- ci-fix-strict-disable-in-ds-identify-on-no-datasources-.patch [RHEL-100611]
|
||||||
|
Loading…
Reference in New Issue
Block a user