* Fri Jan 27 2023 Camilla Conte <cconte@redhat.com> - 22.1-8
- ci-cc_set_hostname-ignore-var-lib-cloud-data-set-hostna.patch [bz#2140893] - Resolves: bz#2140893 (systemd[1]: Failed to start Initial cloud-init job after reboot system via sysrq 'b')
This commit is contained in:
parent
2477af0c09
commit
becb75bf34
@ -0,0 +1,77 @@
|
|||||||
|
From d51546dee17c9abbb9d44fb33cf81be085a46dae Mon Sep 17 00:00:00 2001
|
||||||
|
From: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
Date: Thu, 19 Jan 2023 09:40:10 +0100
|
||||||
|
Subject: [PATCH 22/22] cc_set_hostname: ignore
|
||||||
|
/var/lib/cloud/data/set-hostname if it's empty (#1967)
|
||||||
|
|
||||||
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2140893
|
||||||
|
|
||||||
|
commit 9c7502a801763520639c66125eb373123d1e4f44
|
||||||
|
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
Date: Wed Jan 18 17:55:16 2023 +0100
|
||||||
|
|
||||||
|
cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty (#1967)
|
||||||
|
|
||||||
|
If the file exists but is empty, do nothing.
|
||||||
|
Otherwise cloud-init will crash because it does not handle the empty file.
|
||||||
|
|
||||||
|
RHBZ: 2140893
|
||||||
|
|
||||||
|
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
|
||||||
|
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
---
|
||||||
|
cloudinit/config/cc_set_hostname.py | 2 +-
|
||||||
|
tests/unittests/config/test_cc_set_hostname.py | 17 +++++++++++++++++
|
||||||
|
2 files changed, 18 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/config/cc_set_hostname.py b/cloudinit/config/cc_set_hostname.py
|
||||||
|
index 2674fa20..7e3d5b74 100644
|
||||||
|
--- a/cloudinit/config/cc_set_hostname.py
|
||||||
|
+++ b/cloudinit/config/cc_set_hostname.py
|
||||||
|
@@ -86,7 +86,7 @@ def handle(name, cfg, cloud, log, _args):
|
||||||
|
# distro._read_hostname implementation so we only validate one artifact.
|
||||||
|
prev_fn = os.path.join(cloud.get_cpath("data"), "set-hostname")
|
||||||
|
prev_hostname = {}
|
||||||
|
- if os.path.exists(prev_fn):
|
||||||
|
+ if os.path.exists(prev_fn) and os.stat(prev_fn).st_size > 0:
|
||||||
|
prev_hostname = util.load_json(util.load_file(prev_fn))
|
||||||
|
hostname_changed = hostname != prev_hostname.get(
|
||||||
|
"hostname"
|
||||||
|
diff --git a/tests/unittests/config/test_cc_set_hostname.py b/tests/unittests/config/test_cc_set_hostname.py
|
||||||
|
index 3d1d86ee..2c92949f 100644
|
||||||
|
--- a/tests/unittests/config/test_cc_set_hostname.py
|
||||||
|
+++ b/tests/unittests/config/test_cc_set_hostname.py
|
||||||
|
@@ -5,6 +5,7 @@ import os
|
||||||
|
import shutil
|
||||||
|
import tempfile
|
||||||
|
from io import BytesIO
|
||||||
|
+from pathlib import Path
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
|
from configobj import ConfigObj
|
||||||
|
@@ -242,5 +243,21 @@ class TestHostname(t_help.FilesystemMockingTestCase):
|
||||||
|
str(ctx_mgr.exception),
|
||||||
|
)
|
||||||
|
|
||||||
|
+ def test_ignore_empty_previous_artifact_file(self):
|
||||||
|
+ cfg = {
|
||||||
|
+ "hostname": "blah",
|
||||||
|
+ "fqdn": "blah.blah.blah.yahoo.com",
|
||||||
|
+ }
|
||||||
|
+ distro = self._fetch_distro("debian")
|
||||||
|
+ paths = helpers.Paths({"cloud_dir": self.tmp})
|
||||||
|
+ ds = None
|
||||||
|
+ cc = cloud.Cloud(ds, paths, {}, distro, None)
|
||||||
|
+ self.patchUtils(self.tmp)
|
||||||
|
+ prev_fn = Path(cc.get_cpath("data")) / "set-hostname"
|
||||||
|
+ prev_fn.touch()
|
||||||
|
+ cc_set_hostname.handle("cc_set_hostname", cfg, cc, LOG, [])
|
||||||
|
+ contents = util.load_file("/etc/hostname")
|
||||||
|
+ self.assertEqual("blah", contents.strip())
|
||||||
|
+
|
||||||
|
|
||||||
|
# vi: ts=4 expandtab
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: cloud-init
|
Name: cloud-init
|
||||||
Version: 22.1
|
Version: 22.1
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
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
|
||||||
@ -50,6 +50,8 @@ Patch18: ci-Revert-Revert-Setting-highest-autoconnect-priority-f.patch
|
|||||||
Patch19: ci-cloud.cfg.tmpl-make-sure-centos-settings-are-identic.patch
|
Patch19: ci-cloud.cfg.tmpl-make-sure-centos-settings-are-identic.patch
|
||||||
# For bz#2152100 - [RHEL-9] Ensure network ready before cloud-init service runs on RHEL
|
# For bz#2152100 - [RHEL-9] Ensure network ready before cloud-init service runs on RHEL
|
||||||
Patch20: ci-Ensure-network-ready-before-cloud-init-service-runs-.patch
|
Patch20: ci-Ensure-network-ready-before-cloud-init-service-runs-.patch
|
||||||
|
# For bz#2140893 - systemd[1]: Failed to start Initial cloud-init job after reboot system via sysrq 'b'
|
||||||
|
Patch21: ci-cc_set_hostname-ignore-var-lib-cloud-data-set-hostna.patch
|
||||||
|
|
||||||
# Source-git patches
|
# Source-git patches
|
||||||
|
|
||||||
@ -240,6 +242,11 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 27 2023 Camilla Conte <cconte@redhat.com> - 22.1-8
|
||||||
|
- ci-cc_set_hostname-ignore-var-lib-cloud-data-set-hostna.patch [bz#2140893]
|
||||||
|
- Resolves: bz#2140893
|
||||||
|
(systemd[1]: Failed to start Initial cloud-init job after reboot system via sysrq 'b')
|
||||||
|
|
||||||
* Wed Dec 21 2022 Camilla Conte <cconte@redhat.com> - 22.1-7
|
* Wed Dec 21 2022 Camilla Conte <cconte@redhat.com> - 22.1-7
|
||||||
- ci-Ensure-network-ready-before-cloud-init-service-runs-.patch [bz#2152100]
|
- ci-Ensure-network-ready-before-cloud-init-service-runs-.patch [bz#2152100]
|
||||||
- Resolves: bz#2152100
|
- Resolves: bz#2152100
|
||||||
|
Loading…
Reference in New Issue
Block a user