import WALinuxAgent-2.7.0.6-6.el8

This commit is contained in:
CentOS Sources 2022-11-08 01:42:47 -05:00 committed by Stepan Oksanichenko
parent 4cd53bdbe0
commit d3d0edde8f
9 changed files with 226 additions and 281 deletions

View File

@ -1 +1 @@
de1d5307a1fc937038536b27d1e32f7ee851d0dd SOURCES/WALinuxAgent-2.3.0.2.tar.gz 9d9b8fcd872d8782b96d312fb13f47a41658dd04 SOURCES/v2.7.0.6.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/WALinuxAgent-2.3.0.2.tar.gz SOURCES/v2.7.0.6.tar.gz

View File

@ -1,4 +1,4 @@
From 3aa5fe71fd77f07c5b35ef40e774840f12ee4ee8 Mon Sep 17 00:00:00 2001 From ee6172c4d57103ac857bbd69c46f247cee5394c3 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com> From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Thu, 6 Oct 2016 12:25:35 +0200 Date: Thu, 6 Oct 2016 12:25:35 +0200
Subject: Add inital redhat build support Subject: Add inital redhat build support
@ -17,6 +17,10 @@ Rebase notes (2.2.10):
Rebase notes (2.2.46): Rebase notes (2.2.46):
- added waagent-extn.logrotate - added waagent-extn.logrotate
Rebase notes (2.7.0.6):
- new files - azure.slice and azure-vmextensions.slice
- removed changes in not shipped scripts
Merged patches (2.2.45): Merged patches (2.2.45):
- df29beb Switch from platform-python to python36 - df29beb Switch from platform-python to python36
- 6749108 Stop packaging legacy waagent2.0 - 6749108 Stop packaging legacy waagent2.0
@ -34,20 +38,17 @@ Merged patches (2.2.49):
Merged patches (2.3.0.2): Merged patches (2.3.0.2):
- 30bb06f9 Provide udev rules as a separate subpackage. - 30bb06f9 Provide udev rules as a separate subpackage.
Merged patches (2.7.0.6):
- a790fb5c Require iptables for setting up persistent firewall rules
--- ---
.gitignore | 1 + .gitignore | 1 +
.gitpublish | 8 + .gitpublish | 8 +
bin/waagent | 2 +-
bin/waagent2.0 | 2 +-
init/arch/waagent.service | 2 +-
init/clearlinux/waagent.service | 2 +-
init/suse/waagent | 2 +-
init/waagent.service | 2 +-
makepkg.py | 2 +- makepkg.py | 2 +-
redhat/.gitignore | 1 + redhat/.gitignore | 1 +
redhat/Makefile | 72 +++++ redhat/Makefile | 72 +++++
redhat/Makefile.common | 37 +++ redhat/Makefile.common | 37 +++
redhat/WALinuxAgent.spec.template | 234 ++++++++++++++++ redhat/WALinuxAgent.spec.template | 243 ++++++++++++++++
redhat/rpmbuild/BUILD/.gitignore | 2 + redhat/rpmbuild/BUILD/.gitignore | 2 +
redhat/rpmbuild/RPMS/.gitignore | 2 + redhat/rpmbuild/RPMS/.gitignore | 2 +
redhat/rpmbuild/SOURCES/.gitignore | 2 + redhat/rpmbuild/SOURCES/.gitignore | 2 +
@ -58,9 +59,9 @@ Merged patches (2.3.0.2):
redhat/scripts/git-compile-check | 215 ++++++++++++++ redhat/scripts/git-compile-check | 215 ++++++++++++++
redhat/scripts/process-patches.sh | 93 ++++++ redhat/scripts/process-patches.sh | 93 ++++++
redhat/scripts/tarball_checksum.sh | 3 + redhat/scripts/tarball_checksum.sh | 3 +
setup.py | 2 +- setup.py | 6 +-
tests/data/ext/sample_ext-1.3.0/sample.py | 2 +- tests/data/ext/sample_ext-1.3.0/sample.py | 2 +-
25 files changed, 1037 insertions(+), 9 deletions(-) 19 files changed, 1042 insertions(+), 5 deletions(-)
create mode 100644 .gitpublish create mode 100644 .gitpublish
create mode 100644 redhat/.gitignore create mode 100644 redhat/.gitignore
create mode 100644 redhat/Makefile create mode 100644 redhat/Makefile
@ -77,78 +78,6 @@ Merged patches (2.3.0.2):
create mode 100755 redhat/scripts/process-patches.sh create mode 100755 redhat/scripts/process-patches.sh
create mode 100755 redhat/scripts/tarball_checksum.sh create mode 100755 redhat/scripts/tarball_checksum.sh
diff --git a/bin/waagent b/bin/waagent
index 60cdf56c..0443ecb4 100755
--- a/bin/waagent
+++ b/bin/waagent
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3.6
#
# Azure Linux Agent
#
diff --git a/bin/waagent2.0 b/bin/waagent2.0
index 34732677..762d211f 100644
--- a/bin/waagent2.0
+++ b/bin/waagent2.0
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Azure Linux Agent
#
diff --git a/init/arch/waagent.service b/init/arch/waagent.service
index d426eb21..ff1ebab1 100644
--- a/init/arch/waagent.service
+++ b/init/arch/waagent.service
@@ -8,7 +8,7 @@ ConditionPathExists=/etc/waagent.conf
[Service]
Type=simple
-ExecStart=/usr/bin/python -u /usr/bin/waagent -daemon
+ExecStart=/usr/bin/python3 -u /usr/bin/waagent -daemon
Restart=always
RestartSec=5
diff --git a/init/clearlinux/waagent.service b/init/clearlinux/waagent.service
index 9afee454..c29fc1b2 100644
--- a/init/clearlinux/waagent.service
+++ b/init/clearlinux/waagent.service
@@ -8,7 +8,7 @@ ConditionPathExists=/usr/share/defaults/waagent/waagent.conf
[Service]
Type=simple
-ExecStart=/usr/bin/python -u /usr/bin/waagent -daemon
+ExecStart=/usr/bin/python3 -u /usr/bin/waagent -daemon
Restart=always
RestartSec=5
diff --git a/init/suse/waagent b/init/suse/waagent
index b77b0fa4..317e89ec 100755
--- a/init/suse/waagent
+++ b/init/suse/waagent
@@ -34,7 +34,7 @@
# Description: Start the MicrosoftAzureLinuxAgent
### END INIT INFO
-PYTHON=/usr/bin/python
+PYTHON=/usr/bin/python3
WAZD_BIN=/usr/sbin/waagent
WAZD_CONF=/etc/waagent.conf
WAZD_PIDFILE=/var/run/waagent.pid
diff --git a/init/waagent.service b/init/waagent.service
index e91f1433..99f31830 100644
--- a/init/waagent.service
+++ b/init/waagent.service
@@ -8,7 +8,7 @@ ConditionPathExists=/etc/waagent.conf
[Service]
Type=simple
-ExecStart=/usr/bin/python -u /usr/sbin/waagent -daemon
+ExecStart=/usr/bin/python3.6 -u /usr/sbin/waagent -daemon
Restart=always
RestartSec=5
diff --git a/makepkg.py b/makepkg.py diff --git a/makepkg.py b/makepkg.py
index 11e90b95..1b6b4351 100755 index 11e90b95..1b6b4351 100755
--- a/makepkg.py --- a/makepkg.py
@ -160,7 +89,7 @@ index 11e90b95..1b6b4351 100755
import glob import glob
import os import os
diff --git a/setup.py b/setup.py diff --git a/setup.py b/setup.py
index c258e4b8..ba6783c6 100755 index 12c9e1d6..586bb5ca 100755
--- a/setup.py --- a/setup.py
+++ b/setup.py +++ b/setup.py
@@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
@ -169,6 +98,24 @@ index c258e4b8..ba6783c6 100755
# #
# Microsoft Azure Linux Agent setup.py # Microsoft Azure Linux Agent setup.py
# #
@@ -97,7 +97,7 @@ def get_data_files(name, version, fullname): # pylint: disable=R0912
agent_bin_path = osutil.get_agent_bin_path()
if name in ('redhat', 'centos', 'almalinux', 'cloudlinux'): # pylint: disable=R1714
- if version.startswith("8.2"):
+ if version.startswith("8"):
# redhat8+ default to py3
set_bin_files(data_files, dest=agent_bin_path,
src=["bin/py3/waagent", "bin/waagent2.0"])
@@ -106,7 +106,7 @@ def get_data_files(name, version, fullname): # pylint: disable=R0912
set_conf_files(data_files)
set_logrotate_files(data_files)
set_udev_files(data_files)
- if version.startswith("8.2"):
+ if version.startswith("8"):
# redhat 8+ uses systemd and python3
set_systemd_files(data_files, dest=systemd_dir_path,
src=["init/redhat/waagent.service",
diff --git a/tests/data/ext/sample_ext-1.3.0/sample.py b/tests/data/ext/sample_ext-1.3.0/sample.py diff --git a/tests/data/ext/sample_ext-1.3.0/sample.py b/tests/data/ext/sample_ext-1.3.0/sample.py
index 47f86af8..92585ed3 100755 index 47f86af8..92585ed3 100755
--- a/tests/data/ext/sample_ext-1.3.0/sample.py --- a/tests/data/ext/sample_ext-1.3.0/sample.py
@ -180,5 +127,5 @@ index 47f86af8..92585ed3 100755
import os import os
import re import re
-- --
2.27.0 2.31.1

View File

@ -1,28 +1,19 @@
From ab69ae533c18db1f468e7433984b36159612c0d0 Mon Sep 17 00:00:00 2001 From 0a9c628d9edd67af7b6f20d034be85c1c552a512 Mon Sep 17 00:00:00 2001
From: Mohammed Gamal <mgamal@redhat.com> From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Tue, 17 May 2022 10:50:59 +0200 Date: Tue, 24 May 2022 04:10:46 -0400
Subject: [PATCH 2/2] Implement restart_if for RedHat OS Subject: Implement restart_if for RedHat OS
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
RH-MergeRequest: 2: Fix if hangs (#2283)
RH-Commit: [2/2] ba8712ff724d5f3cd8bd0b19f5849c854f6c99ca
RH-Bugzilla: 2092753
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
RH-Acked-by: Cathy Avery <cavery@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2092753
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Mohammed Gamal <mgamal@redhat.com> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
--- ---
azurelinuxagent/common/osutil/redhat.py | 17 +++++++++++++++++ azurelinuxagent/common/osutil/redhat.py | 18 ++++++++++++++++++
1 file changed, 17 insertions(+) 1 file changed, 18 insertions(+)
diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py
index 9759d113..840f7a1d 100644 index 9759d113..a02647cd 100644
--- a/azurelinuxagent/common/osutil/redhat.py --- a/azurelinuxagent/common/osutil/redhat.py
+++ b/azurelinuxagent/common/osutil/redhat.py +++ b/azurelinuxagent/common/osutil/redhat.py
@@ -142,3 +142,20 @@ class RedhatOSUtil(Redhat6xOSUtil): @@ -142,3 +142,21 @@ class RedhatOSUtil(Redhat6xOSUtil):
endpoint = self.get_endpoint_from_leases_path('/var/lib/NetworkManager/dhclient-*.lease') endpoint = self.get_endpoint_from_leases_path('/var/lib/NetworkManager/dhclient-*.lease')
return endpoint return endpoint
@ -34,7 +25,8 @@ index 9759d113..840f7a1d 100644
+ retry_limit=retries+1 + retry_limit=retries+1
+ for attempt in range(1, retry_limit): + for attempt in range(1, retry_limit):
+ try: + try:
+ shellutil.run_command(["ip", "link", "set", ifname, "down", "&&", "ip", "link", "set", ifname, "up"]) + shellutil.run_command(["ip", "link", "set", ifname, "down"])
+ shellutil.run_command(["ip", "link", "set", ifname, "up"])
+ +
+ except shellutil.CommandError as cmd_err: + except shellutil.CommandError as cmd_err:
+ logger.warn("failed to restart {0}: return code {1}".format(ifname, cmd_err.returncode)) + logger.warn("failed to restart {0}: return code {1}".format(ifname, cmd_err.returncode))

View File

@ -1,127 +0,0 @@
From b415b30624f0dcbe9fd574c28593e8fd38a8d9c8 Mon Sep 17 00:00:00 2001
From: Mohammed Gamal <mgamal@redhat.com>
Date: Thu, 2 Jun 2022 14:39:42 +0200
Subject: [PATCH 1/2] Fix if hangs (#2283)
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
RH-MergeRequest: 2: Fix if hangs (#2283)
RH-Commit: [1/2] cf3b0a2d65eb9eeeceab6d74e376e729e06a01ed
RH-Bugzilla: 2092753
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
RH-Acked-by: Cathy Avery <cavery@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2092753
Signed-off-by: Laveesh Rohra <larohra@microsoft.com>
(cherry picked from commit 05cd6437ba90928788ef18c8b9fc8a6dbaf47c7d)
Signed-off-by: Mohammed Gamal <mgamal@redhat.com>
---
azurelinuxagent/common/osutil/default.py | 26 ++++++++----------------
azurelinuxagent/common/osutil/ubuntu.py | 22 +++++++++-----------
tests/common/osutil/test_default.py | 11 +++-------
3 files changed, 21 insertions(+), 38 deletions(-)
diff --git a/azurelinuxagent/common/osutil/default.py b/azurelinuxagent/common/osutil/default.py
index 066e1431..820016c1 100644
--- a/azurelinuxagent/common/osutil/default.py
+++ b/azurelinuxagent/common/osutil/default.py
@@ -1163,25 +1163,15 @@ class DefaultOSUtil(object):
def restart_if(self, ifname, retries=3, wait=5):
retry_limit = retries + 1
for attempt in range(1, retry_limit):
- try:
- shellutil.run_command(["ifdown", ifname])
- shellutil.run_command(["ifup", ifname])
+ return_code = shellutil.run("ifdown {0} && ifup {0}".format(ifname), expected_errors=[1] if attempt < retries else [])
+ if return_code == 0:
return
- except shellutil.CommandError as cmd_err:
-
- msg = "failed to restart {0}: returncode={1}\n[stdout]{2}\n\n[stderr]{3}\n"\
- .format(ifname, cmd_err.returncode, cmd_err.stdout, cmd_err.stderr)
-
- if cmd_err.returncode == 1:
- logger.info(msg)
- else:
- logger.warn(msg)
-
- if attempt < retry_limit:
- logger.info("retrying in {0} seconds".format(wait))
- time.sleep(wait)
- else:
- logger.warn("exceeded restart retries")
+ logger.warn("failed to restart {0}: return code {1}".format(ifname, return_code))
+ if attempt < retry_limit:
+ logger.info("retrying in {0} seconds".format(wait))
+ time.sleep(wait)
+ else:
+ logger.warn("exceeded restart retries")
def publish_hostname(self, hostname):
self.set_dhcp_hostname(hostname)
diff --git a/azurelinuxagent/common/osutil/ubuntu.py b/azurelinuxagent/common/osutil/ubuntu.py
index 249e1120..5a21511c 100644
--- a/azurelinuxagent/common/osutil/ubuntu.py
+++ b/azurelinuxagent/common/osutil/ubuntu.py
@@ -142,19 +142,17 @@ class UbuntuOSUtil(Ubuntu16OSUtil):
Restart an interface by bouncing the link. systemd-networkd observes
this event, and forces a renew of DHCP.
"""
- retry_limit=retries+1
+ retry_limit = retries+1
for attempt in range(1, retry_limit):
- try:
- shellutil.run_command(["ip", "link", "set", ifname, "down"])
- shellutil.run_command(["ip", "link", "set", ifname, "up"])
-
- except shellutil.CommandError as cmd_err:
- logger.warn("failed to restart {0}: return code {1}".format(ifname, cmd_err.returncode))
- if attempt < retry_limit:
- logger.info("retrying in {0} seconds".format(wait))
- time.sleep(wait)
- else:
- logger.warn("exceeded restart retries")
+ return_code = shellutil.run("ip link set {0} down && ip link set {0} up".format(ifname))
+ if return_code == 0:
+ return
+ logger.warn("failed to restart {0}: return code {1}".format(ifname, return_code))
+ if attempt < retry_limit:
+ logger.info("retrying in {0} seconds".format(wait))
+ time.sleep(wait)
+ else:
+ logger.warn("exceeded restart retries")
class UbuntuSnappyOSUtil(Ubuntu14OSUtil):
diff --git a/tests/common/osutil/test_default.py b/tests/common/osutil/test_default.py
index 65d7ae0f..d6eae68f 100644
--- a/tests/common/osutil/test_default.py
+++ b/tests/common/osutil/test_default.py
@@ -49,20 +49,15 @@ class TestOSUtil(AgentTestCase):
# setup
retries = 3
ifname = 'dummy'
- with patch.object(shellutil, "run_command") as run_patch:
- run_patch.side_effect = shellutil.CommandError("ifupdown dummy", 1, "", "")
+ with patch.object(shellutil, "run") as run_patch:
+ run_patch.return_value = 1
# execute
osutil.DefaultOSUtil.restart_if(osutil.DefaultOSUtil(), ifname=ifname, retries=retries, wait=0)
# assert
self.assertEqual(run_patch.call_count, retries)
- cmd_queue = list(args[0] for (args, _) in run_patch.call_args_list)
- while cmd_queue:
- self.assertEqual(cmd_queue.pop(0), ["ifdown", ifname])
- # We don't expect the following command to be called because 'dummy' does
- # not exist.
- self.assertNotEqual(cmd_queue[0] if cmd_queue else None, ["ifup", ifname])
+ self.assertEqual(run_patch.call_args_list[0][0][0], 'ifdown {0} && ifup {0}'.format(ifname))
def test_get_dvd_device_success(self):
with patch.object(os, 'listdir', return_value=['cpu', 'cdrom0']):
--
2.31.1

View File

@ -0,0 +1,108 @@
From 97728b1371d39f5ddd31004db0ba87b268308c5d Mon Sep 17 00:00:00 2001
From: Mohammed Gamal <mgamal@redhat.com>
Date: Wed, 3 Aug 2022 13:39:56 +0200
Subject: [PATCH 2/2] Update Log Collector default in Comments and Readme
(#2608)
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
RH-MergeRequest: 9: Update Log Collector default in Comments and Readme
RH-Commit: [1/1] ff82c0e933649ccd06d3cc48753324cddef2c56a
RH-Bugzilla: 2114824
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2114824
(cherry picked from commit a560872bec103523e73ddcb5fb5705896545ffce)
Signed-off-by: Mohammed Gamal <mgamal@redhat.com>
---
README.md | 2 +-
config/debian/waagent.conf | 2 +-
config/suse/waagent.conf | 2 +-
config/ubuntu/waagent.conf | 2 +-
config/waagent.conf | 2 +-
tests/data/test_waagent.conf | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index c69f43e6..f2f3db46 100644
--- a/README.md
+++ b/README.md
@@ -465,7 +465,7 @@ _Default: y_
If set, agent logs will be periodically collected and uploaded to a secure location for improved supportability.
-NOTE: This feature is only supported ubuntu 16.04+; this flag will not take effect on any other distro.
+NOTE: This feature relies on the agent's resource usage features (cgroups); this flag will not take effect on any distro not supported.
#### __Logs.CollectPeriod__
diff --git a/config/debian/waagent.conf b/config/debian/waagent.conf
index 6bc36604..dfd7afcd 100644
--- a/config/debian/waagent.conf
+++ b/config/debian/waagent.conf
@@ -63,7 +63,7 @@ Logs.Verbose=n
# Enable Console logging, default is y
# Logs.Console=y
-# Enable periodic log collection, default is n
+# Enable periodic log collection, default is y
Logs.Collect=y
# How frequently to collect logs, default is each hour
diff --git a/config/suse/waagent.conf b/config/suse/waagent.conf
index ac9f11a2..c617f9af 100644
--- a/config/suse/waagent.conf
+++ b/config/suse/waagent.conf
@@ -66,7 +66,7 @@ Logs.Verbose=n
# Enable Console logging, default is y
# Logs.Console=y
-# Enable periodic log collection, default is n
+# Enable periodic log collection, default is y
Logs.Collect=y
# How frequently to collect logs, default is each hour
diff --git a/config/ubuntu/waagent.conf b/config/ubuntu/waagent.conf
index 63635a81..19b56bae 100644
--- a/config/ubuntu/waagent.conf
+++ b/config/ubuntu/waagent.conf
@@ -66,7 +66,7 @@ Logs.Verbose=n
# Enable Console logging, default is y
# Logs.Console=y
-# Enable periodic log collection, default is n
+# Enable periodic log collection, default is y
Logs.Collect=y
# How frequently to collect logs, default is each hour
diff --git a/config/waagent.conf b/config/waagent.conf
index c7d10e2f..14cd01c8 100644
--- a/config/waagent.conf
+++ b/config/waagent.conf
@@ -72,7 +72,7 @@ Logs.Verbose=n
# Enable Console logging, default is y
# Logs.Console=y
-# Enable periodic log collection, default is n
+# Enable periodic log collection, default is y
Logs.Collect=y
# How frequently to collect logs, default is each hour
diff --git a/tests/data/test_waagent.conf b/tests/data/test_waagent.conf
index a386228a..cc60886e 100644
--- a/tests/data/test_waagent.conf
+++ b/tests/data/test_waagent.conf
@@ -67,7 +67,7 @@ ResourceDisk.MountOptions=None
# Enable verbose logging (y|n)
Logs.Verbose=n
-# Enable periodic log collection, default is n
+# Enable periodic log collection, default is y
Logs.Collect=y
# How frequently to collect logs, default is each hour
--
2.31.1

View File

@ -1,31 +1,31 @@
From e95d78dbdc3ea83909d993c84f147bd26563e4a8 Mon Sep 17 00:00:00 2001 From ac21739b94266387360a7ba2b3cfeb44c3df5b01 Mon Sep 17 00:00:00 2001
From: Mohammed Gamal <mgamal@redhat.com> From: Mohammed Gamal <mgamal@redhat.com>
Date: Thu, 30 Jun 2022 11:54:12 +0200 Date: Wed, 22 Jun 2022 13:36:07 +0200
Subject: [PATCH] redhat: Implement restart_if correctly to eliminate warnings Subject: [PATCH] redhat: Fix command sequence for restarting net interface
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com> RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
RH-MergeRequest: 6: redhat: Fix WALinuxAgent killing network on boot and implement restart_if for Red Hat RH-MergeRequest: 4: redhat: Fix command sequence for restarting net interface
RH-Commit: [3/3] 1827f4580b35e44ba60e5b176a1cee97023979ef RH-Commit: [1/1] ac14220635c30b3361399ae33a5ecd4e7d8cf92b
RH-Bugzilla: 2092753 RH-Bugzilla: 2080826
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com> RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com> RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2092753 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2080826
restart_if seems to generate some warnings. As errors are not handled correctly. Apparently the down and up commands need to be run in the same command, so
Implement restart_if() the same wat as default.py, but with RH supported commands connect them together with "&&" operator. Also re-implement restart_if ot handle
instead warnings same wat as other distros
Signed-off-by: Mohammed Gamal <mgamal@redhat.com> Signed-off-by: Mohammed Gamal <mgamal@redhat.com>
--- ---
azurelinuxagent/common/osutil/redhat.py | 21 ++++++++++----------- azurelinuxagent/common/osutil/redhat.py | 22 ++++++++++------------
1 file changed, 10 insertions(+), 11 deletions(-) 1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py
index 840f7a1d..5c397ae8 100644 index a02647cd..5c397ae8 100644
--- a/azurelinuxagent/common/osutil/redhat.py --- a/azurelinuxagent/common/osutil/redhat.py
+++ b/azurelinuxagent/common/osutil/redhat.py +++ b/azurelinuxagent/common/osutil/redhat.py
@@ -147,15 +147,14 @@ class RedhatOSUtil(Redhat6xOSUtil): @@ -147,16 +147,14 @@ class RedhatOSUtil(Redhat6xOSUtil):
""" """
Restart an interface by bouncing the link. Restart an interface by bouncing the link.
""" """
@ -33,7 +33,8 @@ index 840f7a1d..5c397ae8 100644
+ retry_limit = retries + 1 + retry_limit = retries + 1
for attempt in range(1, retry_limit): for attempt in range(1, retry_limit):
- try: - try:
- shellutil.run_command(["ip", "link", "set", ifname, "down", "&&", "ip", "link", "set", ifname, "up"]) - shellutil.run_command(["ip", "link", "set", ifname, "down"])
- shellutil.run_command(["ip", "link", "set", ifname, "up"])
- -
- except shellutil.CommandError as cmd_err: - except shellutil.CommandError as cmd_err:
- logger.warn("failed to restart {0}: return code {1}".format(ifname, cmd_err.returncode)) - logger.warn("failed to restart {0}: return code {1}".format(ifname, cmd_err.returncode))

View File

@ -1,16 +1,17 @@
From 3bc94c896f660e7932d732988f16dc2916fcc1d6 Mon Sep 17 00:00:00 2001 From f45dc73365999334e680d64c90d36f710a0c7831 Mon Sep 17 00:00:00 2001
From: Mohammed Gamal <mgamal@redhat.com> From: Mohammed Gamal <mgamal@redhat.com>
Date: Fri, 29 Jul 2022 13:07:13 +0200 Date: Fri, 29 Jul 2022 13:07:13 +0200
Subject: [PATCH] redhat: Use NetworkManager to set DHCP hostnames on recent Subject: [PATCH 1/2] redhat: Use NetworkManager to set DHCP hostnames on
RHEL distros recent RHEL distros
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com> RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
RH-MergeRequest: 13: redhat: Use NetworkManager to set DHCP hostnames on recent RHEL distros RH-MergeRequest: 8: redhat: Use NetworkManager to set DHCP hostnames on recent RHEL distros
RH-Bugzilla: 2133446 RH-Commit: [1/1] b83612e9d88bac7117541d7f7832f65ef268bbe3
RH-Bugzilla: 2092002
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com> RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Commit: [1/1] 673e76149dd1f2fb4e23823844ed294fdbbecb1a
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2133446 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2092002
Recent versions of RHEL 8 and RHEL 9 started using NetworkManager to configure Recent versions of RHEL 8 and RHEL 9 started using NetworkManager to configure
network intefaces instead of sysconfig files. Configurations are no longer network intefaces instead of sysconfig files. Configurations are no longer
@ -44,5 +45,5 @@ index 5c397ae8..7dd36add 100644
+ if return_code != 0: + if return_code != 0:
+ logger.error("failed to set DHCP hostname for interface {0}: return code {1}".format(ifname, return_code)) + logger.error("failed to set DHCP hostname for interface {0}: return code {1}".format(ifname, return_code))
-- --
2.37.3 2.31.1

View File

@ -1,23 +1,22 @@
Summary: Microsoft Azure Linux Agent Summary: Microsoft Azure Linux Agent
Name: WALinuxAgent Name: WALinuxAgent
Version: 2.3.0.2 Version: 2.7.0.6
Release: 2%{?dist}.3 Release: 6%{?dist}
License: ASL 2.0 License: ASL 2.0
Group: Development/Libraries Group: Development/Libraries
Url: https://github.com/Azure/WALinuxAgent Url: https://github.com/Azure/WALinuxAgent
Source0: WALinuxAgent-2.3.0.2.tar.gz Source0: v2.7.0.6.tar.gz
BuildArch: noarch BuildArch: noarch
Patch0001: 0001-Add-inital-redhat-build-support.patch Patch0001: 0001-Add-inital-redhat-build-support.patch
# For bz#2092753 - [Azure][WALA][RHEL-8] [8.6.z] walinuxagent kills network during boot [rhel-8.6.0.z] Patch0002: 0002-Implement-restart_if-for-RedHat-OS.patch
Patch2: wla-Fix-if-hangs-2283.patch # For bz#2080826 - [Azure][WALA][RHEL-8] [8.7] walinuxagent kills network during boot
# For bz#2092753 - [Azure][WALA][RHEL-8] [8.6.z] walinuxagent kills network during boot [rhel-8.6.0.z] Patch0003: wla-redhat-Fix-command-sequence-for-restarting-net-inter.patch
Patch3: wla-Implement-restart_if-for-RedHat-OS.patch # For bz#2092002 - [Azure][WALA][RHEL-8.7] Provisioning failed if no ifcfg-eth0
# For bz#2092753 - [Azure][WALA][RHEL-8] [8.6.z] walinuxagent kills network during boot [rhel-8.6.0.z] Patch4: wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch
Patch4: wla-redhat-Implement-restart_if-correctly-to-eliminate-w.patch # For bz#2114824 - [Azure][WALA][RHEL-8.7] The description of "Logs.Collect" is incorrect
# For bz#2133446 - [Azure][WALA][RHEL-8.7] Provisioning failed if no ifcfg-eth0 [rhel-8.6.0.z] Patch5: wla-Update-Log-Collector-default-in-Comments-and-Readme-.patch
Patch5: wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch
# rhel requirements # rhel requirements
BuildRequires: python3-devel BuildRequires: python3-devel
@ -51,8 +50,8 @@ Udev rules specific to Microsoft Azure Virtual Machines.
%setup -q %setup -q
%patch0001 -p1 %patch0001 -p1
%patch2 -p1 %patch0002 -p1
%patch3 -p1 %patch0003 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
@ -77,6 +76,7 @@ rm -rf $RPM_BUILD_ROOT
%postun %postun
%systemd_postun_with_restart waagent.service %systemd_postun_with_restart waagent.service
rm -rf %{_unitdir}/waagent.service.d/
%files %files
%defattr(-,root,root) %defattr(-,root,root)
@ -85,26 +85,49 @@ rm -rf $RPM_BUILD_ROOT
%config(noreplace) %{_sysconfdir}/logrotate.d/waagent.logrotate %config(noreplace) %{_sysconfdir}/logrotate.d/waagent.logrotate
%{_sbindir}/waagent %{_sbindir}/waagent
%{_unitdir}/waagent.service %{_unitdir}/waagent.service
%{_unitdir}/azure.slice
%{_unitdir}/azure-vmextensions.slice
%ghost %{_unitdir}/waagent-network-setup.service
%files udev %files udev
%{_udevrulesdir}/*.rules %{_udevrulesdir}/*.rules
%changelog %changelog
* Tue Oct 11 2022 Jon Maloy <jmaloy@redhat.com> - 2.3.0.2-2.el8_6.3 * Mon Aug 29 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-6
- wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch [bz#2133446] - wla-redhat-Remove-files-inside-WALA-services-directory.patch [bz#2114742]
- Resolves: bz#2133446 - Resolves: bz#2114742
([Azure][WALA][RHEL-8.7] Provisioning failed if no ifcfg-eth0 [rhel-8.6.0.z]) ([Azure][WALA][RHEL-8] When remove package some files left)
* Tue Jul 12 2022 Camilla Conte <cconte@redhat.com> - 2.3.0.2-2.el8_6.2 * Tue Aug 23 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-5
- wla-redhat-Implement-restart_if-correctly-to-eliminate-w.patch [bz#2092753] - wla-redhat-Mark-directories-properly-in-the-files-list.patch [bz#2114742]
- Resolves: bz#2092753 - Resolves: bz#2114742
([Azure][WALA][RHEL-8] [8.6.z] walinuxagent kills network during boot [rhel-8.6.0.z]) ([Azure][WALA][RHEL-8] When remove package some files left)
* Wed Jun 22 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0.2-2.el8_6.1 * Wed Aug 17 2022 Jon Maloy <jmaloy@redhat.com> - 2.7.0.6-4
- wla-Fix-if-hangs-2283.patch [bz#2092753] - wla-redhat-Remove-all-waagent-unit-files-when-uninstalli.patch [bz#2114742]
- wla-Implement-restart_if-for-RedHat-OS.patch [bz#2092753] - Resolves: bz#2114742
- Resolves: bz#2092753 ([Azure][WALA][RHEL-8] When remove package some files left)
([Azure][WALA][RHEL-8] [8.6.z] walinuxagent kills network during boot [rhel-8.6.0.z])
* Tue Aug 09 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-3
- wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch [bz#2092002]
- wla-Update-Log-Collector-default-in-Comments-and-Readme-.patch [bz#2114824]
- Resolves: bz#2092002
([Azure][WALA][RHEL-8.7] Provisioning failed if no ifcfg-eth0)
- Resolves: bz#2114824
([Azure][WALA][RHEL-8.7] The description of "Logs.Collect" is incorrect)
* Tue Jul 12 2022 Camilla Conte <cconte@redhat.com> - 2.7.0.6-2
- wla-redhat-Fix-command-sequence-for-restarting-net-inter.patch [bz#2080826]
- Resolves: bz#2080826
([Azure][WALA][RHEL-8] [8.7] walinuxagent kills network during boot)
* Wed May 25 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-1
- Rebase to 2.7.0.6 [bz#2083465]
- Adding restart_if implementation for RHEL [bz#2085578]
- Resolves: bz#2083465
([Azure][RHEL-8][8.7] Rebase WALinuxAgent to v2.7.0.6)
- Resolves: bz#2085578
([Azure][WALA][8.6] WALA provisions VM failed because of no "ifdown")
* Mon Aug 09 2021 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0.2-2 * Mon Aug 09 2021 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0.2-2
- wla-Require-iptables-for-setting-up-persistent-firewall-.patch [bz#1985198] - wla-Require-iptables-for-setting-up-persistent-firewall-.patch [bz#1985198]