import WALinuxAgent-2.7.0.6-1.el9_0

This commit is contained in:
CentOS Sources 2022-09-20 07:42:53 -04:00 committed by Stepan Oksanichenko
parent ff541f0453
commit 4c434cc0dc
7 changed files with 188 additions and 57 deletions

View File

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

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/v2.3.0.2.tar.gz SOURCES/v2.7.0.6.tar.gz

View File

@ -0,0 +1,75 @@
From 9d071a9b4b40f0f86bb0b739b72c0b9b4870f060 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 14 May 2021 09:42:08 +0200
Subject: Initial redhat build configuation.
Using .distro repository to hold redhat tools and configuration.
Package can be built on brew using rh-rhel-koji command.
Note: Old rh-brew target is supported.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
Merged patches (2.7.0.6):
- 896c5c83 Require iptables package
- a702a0d1 (origin/rhel-9.0.0-beta) source-git: Use dynamic SRPM_NAME
---
.distro/Makefile | 73 ++++++
.distro/Makefile.common | 18 ++
.distro/WALinuxAgent.spec.template | 254 +++++++++++++++++++++
.distro/module-setup.sh | 16 ++
.distro/rpmbuild/BUILD/.gitignore | 2 +
.distro/rpmbuild/RPMS/.gitignore | 2 +
.distro/rpmbuild/SOURCES/.gitignore | 2 +
.distro/rpmbuild/SPECS/.gitignore | 2 +
.distro/rpmbuild/SRPMS/.gitignore | 2 +
.distro/scripts/extract_build_cmd.py | 83 +++++++
.distro/scripts/frh.py | 24 ++
.distro/scripts/git-backport-diff | 327 +++++++++++++++++++++++++++
.distro/scripts/git-compile-check | 215 ++++++++++++++++++
.distro/scripts/process-patches.sh | 92 ++++++++
.distro/scripts/tarball_checksum.sh | 3 +
setup.py | 4 +-
16 files changed, 1117 insertions(+), 2 deletions(-)
create mode 100644 .distro/Makefile
create mode 100644 .distro/Makefile.common
create mode 100644 .distro/WALinuxAgent.spec.template
create mode 100644 .distro/module-setup.sh
create mode 100644 .distro/rpmbuild/BUILD/.gitignore
create mode 100644 .distro/rpmbuild/RPMS/.gitignore
create mode 100644 .distro/rpmbuild/SOURCES/.gitignore
create mode 100644 .distro/rpmbuild/SPECS/.gitignore
create mode 100644 .distro/rpmbuild/SRPMS/.gitignore
create mode 100755 .distro/scripts/extract_build_cmd.py
create mode 100755 .distro/scripts/frh.py
create mode 100755 .distro/scripts/git-backport-diff
create mode 100755 .distro/scripts/git-compile-check
create mode 100755 .distro/scripts/process-patches.sh
create mode 100755 .distro/scripts/tarball_checksum.sh
diff --git a/setup.py b/setup.py
index 12c9e1d6..e4d7cf7e 100755
--- a/setup.py
+++ b/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("9"):
# 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("9"):
# redhat 8+ uses systemd and python3
set_systemd_files(data_files, dest=systemd_dir_path,
src=["init/redhat/waagent.service",
--
2.31.1

View File

@ -1,48 +0,0 @@
From 7289e616a836fe0f1c97388f40e5d4916804ae91 Mon Sep 17 00:00:00 2001
From: Paula Gombar <gombarica@gmail.com>
Date: Wed, 2 Dec 2020 21:36:41 -0800
Subject: Fix distro resolution for RedHat (#2083)
vkuznets: cherry-picking the primary change of the commit (adding 'rhel')
only, pylint changes require additional commits.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
tests/common/osutil/test_factory.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tests/common/osutil/test_factory.py b/tests/common/osutil/test_factory.py
index f7d46b21..c48dd17f 100644
--- a/tests/common/osutil/test_factory.py
+++ b/tests/common/osutil/test_factory.py
@@ -195,6 +195,13 @@ class TestOsUtilFactory(AgentTestCase):
self.assertTrue(isinstance(ret, Redhat6xOSUtil))
self.assertEqual(ret.get_service_name(), "waagent")
+ ret = _get_osutil(distro_name="rhel",
+ distro_code_name="",
+ distro_full_name="",
+ distro_version="6")
+ self.assertTrue(type(ret) == Redhat6xOSUtil)
+ self.assertEquals(ret.get_service_name(), "waagent")
+
ret = _get_osutil(distro_name="centos",
distro_code_name="",
distro_full_name="",
@@ -223,6 +230,13 @@ class TestOsUtilFactory(AgentTestCase):
self.assertTrue(isinstance(ret, RedhatOSUtil))
self.assertEqual(ret.get_service_name(), "waagent")
+ ret = _get_osutil(distro_name="rhel",
+ distro_code_name="",
+ distro_full_name="",
+ distro_version="7")
+ self.assertTrue(type(ret) == RedhatOSUtil)
+ self.assertEquals(ret.get_service_name(), "waagent")
+
ret = _get_osutil(distro_name="centos",
distro_code_name="",
distro_full_name="",
--
2.27.0

View File

@ -0,0 +1,40 @@
From 8538516744130409f96b3ec956ff5ec1b1c1be11 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Tue, 24 May 2022 04:10:46 -0400
Subject: Implement restart_if for RedHat OS
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
azurelinuxagent/common/osutil/redhat.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py
index 9759d113..a02647cd 100644
--- a/azurelinuxagent/common/osutil/redhat.py
+++ b/azurelinuxagent/common/osutil/redhat.py
@@ -142,3 +142,21 @@ class RedhatOSUtil(Redhat6xOSUtil):
endpoint = self.get_endpoint_from_leases_path('/var/lib/NetworkManager/dhclient-*.lease')
return endpoint
+
+ def restart_if(self, ifname, retries=3, wait=5):
+ """
+ Restart an interface by bouncing the link.
+ """
+ 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")
--
2.31.1

View File

@ -0,0 +1,57 @@
From 6d452b28383c59a8193595daaca13fa8db9338a1 Mon Sep 17 00:00:00 2001
From: Mohammed Gamal <mgamal@redhat.com>
Date: Wed, 22 Jun 2022 13:36:07 +0200
Subject: [PATCH] redhat: Fix command sequence for restarting net interface
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
RH-MergeRequest: 2: redhat: Fix command sequence for restarting net interface
RH-Commit: [1/1] e838ff196b8823f64e08247b3a4dac9d60e5ed72
RH-Bugzilla: 2098233
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=2098233
Apparently the down and up commands need to be run in the same command, so
connect them together with "&&" operator. Also re-implement restart_if ot handle
warnings same wat as other distros
Signed-off-by: Mohammed Gamal <mgamal@redhat.com>
---
azurelinuxagent/common/osutil/redhat.py | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py
index a02647cd..5c397ae8 100644
--- a/azurelinuxagent/common/osutil/redhat.py
+++ b/azurelinuxagent/common/osutil/redhat.py
@@ -147,16 +147,14 @@ class RedhatOSUtil(Redhat6xOSUtil):
"""
Restart an interface by bouncing the link.
"""
- 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), expected_errors=[1] if attempt < retries else [])
+ 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")
--
2.31.1

View File

@ -2,8 +2,8 @@
%global dracut_modname 97walinuxagent %global dracut_modname 97walinuxagent
Name: WALinuxAgent Name: WALinuxAgent
Version: 2.3.0.2 Version: 2.7.0.6
Release: 3%{?dist} Release: 1%{?dist}
Summary: The Microsoft Azure Linux Agent Summary: The Microsoft Azure Linux Agent
License: ASL 2.0 License: ASL 2.0
@ -12,7 +12,10 @@ Source0: https://github.com/Azure/%{name}/archive/v%{version}.tar.gz
Source1: module-setup.sh Source1: module-setup.sh
# Python3.9 fixes # Python3.9 fixes
Patch0002: 0002-Fix-distro-resolution-for-RedHat-2083.patch Patch0001: 0001-Initial-redhat-build-configuation.patch
Patch0002: 0002-Implement-restart_if-for-RedHat-OS.patch
Patch3: wla-redhat-Fix-command-sequence-for-restarting-net-inter.patch
# Source-git patches # Source-git patches
BuildArch: noarch BuildArch: noarch
@ -60,8 +63,7 @@ Udev rules specific to Microsoft Azure Virtual Machines.
%prep %prep
%setup -q %setup -q
%patch0002 -p1 %autopatch -p1
# Apply source-git patches
%build %build
%py3_build %py3_build
@ -80,13 +82,11 @@ rm -rf %{buildroot}/%{python3_sitelib}/tests
rm -rf %{buildroot}/%{python3_sitelib}/__main__.py rm -rf %{buildroot}/%{python3_sitelib}/__main__.py
rm -rf %{buildroot}/%{python3_sitelib}/__pycache__/__main__*.py* rm -rf %{buildroot}/%{python3_sitelib}/__pycache__/__main__*.py*
sed -i 's,#!/usr/bin/env python,#!/usr/bin/python3,' %{buildroot}%{_sbindir}/waagent
%if 0%{?with_legacy} %if 0%{?with_legacy}
sed -i 's,#!/usr/bin/env python,#!/usr/bin/python2,' %{buildroot}%{_sbindir}/waagent2.0 sed -i 's,#!/usr/bin/env python,#!/usr/bin/python2,' %{buildroot}%{_sbindir}/waagent2.0
%else %else
rm -f %{buildroot}%{_sbindir}/waagent2.0 rm -f %{buildroot}%{_sbindir}/waagent2.0
%endif %endif
sed -i 's,/usr/bin/python ,/usr/bin/python3 ,' %{buildroot}%{_unitdir}/waagent.service
mv %{buildroot}%{_sysconfdir}/logrotate.d/waagent.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} mv %{buildroot}%{_sysconfdir}/logrotate.d/waagent.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
@ -109,6 +109,8 @@ install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modnam
%{_sbindir}/waagent %{_sbindir}/waagent
%config(noreplace) %{_sysconfdir}/waagent.conf %config(noreplace) %{_sysconfdir}/waagent.conf
%{_unitdir}/waagent.service %{_unitdir}/waagent.service
%{_unitdir}/azure.slice
%{_unitdir}/azure-vmextensions.slice
%{python3_sitelib}/azurelinuxagent %{python3_sitelib}/azurelinuxagent
%{python3_sitelib}/*.egg-info %{python3_sitelib}/*.egg-info
@ -122,6 +124,11 @@ install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modnam
%endif %endif
%changelog %changelog
* Wed May 25 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-1.el9_0
- Rebase to 2.7.0.6-1 [bz#2110415]
- Resolves: bz#2110415
([Azure][WALA][RHEL-9] [9.0.z]The latest RHEL 9 repositories contain a buggy old version of WALinuxAgent : 2.3.0.2, latest version is v2.7.0.6 [rhel-9.0.0.z])
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2.3.0.2-3 * Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2.3.0.2-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688 Related: rhbz#1991688