Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
@ -1 +0,0 @@
|
||||
9d9b8fcd872d8782b96d312fb13f47a41658dd04 SOURCES/v2.7.0.6.tar.gz
|
26
.gitignore
vendored
26
.gitignore
vendored
@ -1 +1,25 @@
|
||||
SOURCES/v2.7.0.6.tar.gz
|
||||
/WALinuxAgent-b3f2619a854455675ae5f2ee14726659e0398af7.tar.gz
|
||||
/WALinuxAgent-26785b64279913d416767a6288a3b3f970ed4522.tar.gz
|
||||
/WALinuxAgent-30019ae2c10a5c78f55d4ec342db07366abcc602.tar.gz
|
||||
/WALinuxAgent-54d4ebde1a626e6bd000abdfd518e150b0495f37.tar.gz
|
||||
/WALinuxAgent-5bb9df7f2f485dbd5be057bbb657afe54bc1bf1b.tar.gz
|
||||
/WALinuxAgent-2.2.25.tar.gz
|
||||
/WALinuxAgent-2.2.32.tar.gz
|
||||
/WALinuxAgent-2.2.37.tar.gz
|
||||
/WALinuxAgent-2.2.38.tar.gz
|
||||
/WALinuxAgent-2.2.40.tar.gz
|
||||
/WALinuxAgent-2.2.46.tar.gz
|
||||
/v2.2.48.1.tar.gz
|
||||
/WALinuxAgent-2.2.52.tar.gz
|
||||
/v2.2.52.tar.gz
|
||||
/module-setup.sh
|
||||
/v2.2.54.2.tar.gz
|
||||
/v2.3.0.2.tar.gz
|
||||
/v2.3.1.1.tar.gz
|
||||
/v2.5.0.2.tar.gz
|
||||
/v2.7.0.6.tar.gz
|
||||
/v2.7.1.0.tar.gz
|
||||
/v2.7.3.0.tar.gz
|
||||
/v2.8.0.11.tar.gz
|
||||
/v2.9.0.4.tar.gz
|
||||
/v2.9.1.1.tar.gz
|
||||
|
@ -0,0 +1,69 @@
|
||||
From dac5101c56b59dbb14d96d4344d6cb2ac047b392 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Patterson <cpatterson@microsoft.com>
|
||||
Date: Thu, 1 Sep 2022 10:45:47 -0400
|
||||
Subject: [PATCH] waagent.service: set ConditionVirtualization=|microsoft
|
||||
|
||||
Only start waagent service when running under Microsoft virtualization.
|
||||
|
||||
Set it as a triggering condition to make it easier for downstreams or
|
||||
test setups to add another condition (i.e. run outside of hyperv).
|
||||
|
||||
Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
|
||||
---
|
||||
bin/waagent2.0 | 1 +
|
||||
init/redhat/py2/waagent.service | 1 +
|
||||
init/redhat/waagent.service | 1 +
|
||||
init/waagent.service | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/bin/waagent2.0 b/bin/waagent2.0
|
||||
index 34732677..c84c8c40 100644
|
||||
--- a/bin/waagent2.0
|
||||
+++ b/bin/waagent2.0
|
||||
@@ -1569,6 +1569,7 @@ After=network.target
|
||||
After=sshd.service
|
||||
ConditionFileIsExecutable=/usr/sbin/waagent
|
||||
ConditionPathExists=/etc/waagent.conf
|
||||
+ConditionVirtualization=|microsoft
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
diff --git a/init/redhat/py2/waagent.service b/init/redhat/py2/waagent.service
|
||||
index c6d15420..132e7027 100644
|
||||
--- a/init/redhat/py2/waagent.service
|
||||
+++ b/init/redhat/py2/waagent.service
|
||||
@@ -5,6 +5,7 @@ After=network-online.target
|
||||
|
||||
ConditionFileIsExecutable=/usr/sbin/waagent
|
||||
ConditionPathExists=/etc/waagent.conf
|
||||
+ConditionVirtualization=|microsoft
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
diff --git a/init/redhat/waagent.service b/init/redhat/waagent.service
|
||||
index dc11fbb1..7c93b101 100644
|
||||
--- a/init/redhat/waagent.service
|
||||
+++ b/init/redhat/waagent.service
|
||||
@@ -5,6 +5,7 @@ After=network-online.target
|
||||
|
||||
ConditionFileIsExecutable=/usr/sbin/waagent
|
||||
ConditionPathExists=/etc/waagent.conf
|
||||
+ConditionVirtualization=|microsoft
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
diff --git a/init/waagent.service b/init/waagent.service
|
||||
index e91f1433..aa1f3203 100644
|
||||
--- a/init/waagent.service
|
||||
+++ b/init/waagent.service
|
||||
@@ -5,6 +5,7 @@ After=network-online.target
|
||||
|
||||
ConditionFileIsExecutable=/usr/sbin/waagent
|
||||
ConditionPathExists=/etc/waagent.conf
|
||||
+ConditionVirtualization=|microsoft
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
--
|
||||
2.37.3
|
||||
|
@ -1,131 +0,0 @@
|
||||
From ee6172c4d57103ac857bbd69c46f247cee5394c3 Mon Sep 17 00:00:00 2001
|
||||
From: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
Date: Thu, 6 Oct 2016 12:25:35 +0200
|
||||
Subject: Add inital redhat build support
|
||||
|
||||
Rebase notes (2.2.32):
|
||||
- Fix license text
|
||||
|
||||
Rebase notes (2.2.26):
|
||||
- update to RHEL 8 build
|
||||
- Do not use INSTALED_FILES for %files
|
||||
|
||||
Rebase notes (2.2.10):
|
||||
- switched to sha256
|
||||
- added .gitpublish profile
|
||||
|
||||
Rebase notes (2.2.46):
|
||||
- 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):
|
||||
- df29beb Switch from platform-python to python36
|
||||
- 6749108 Stop packaging legacy waagent2.0
|
||||
|
||||
Merged patches (2.2.32):
|
||||
- ce36fd9 Use Python3
|
||||
- 952c830 Remove FIPS setting from the default config
|
||||
- cc9df73 Switch hardcoded python3 shebangs into the %%{__python3} macro
|
||||
- 66b6f8c Use correct macro for waagent.service
|
||||
- 1b15ada Switch to platform-python in systemd unit file
|
||||
- 59f682b Use sys.executable to find system python
|
||||
|
||||
Merged patches (2.2.49):
|
||||
- 3a23336 Mark logrotate configs with %config(noreplace)
|
||||
|
||||
Merged patches (2.3.0.2):
|
||||
- 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 +
|
||||
.gitpublish | 8 +
|
||||
makepkg.py | 2 +-
|
||||
redhat/.gitignore | 1 +
|
||||
redhat/Makefile | 72 +++++
|
||||
redhat/Makefile.common | 37 +++
|
||||
redhat/WALinuxAgent.spec.template | 243 ++++++++++++++++
|
||||
redhat/rpmbuild/BUILD/.gitignore | 2 +
|
||||
redhat/rpmbuild/RPMS/.gitignore | 2 +
|
||||
redhat/rpmbuild/SOURCES/.gitignore | 2 +
|
||||
redhat/rpmbuild/SPECS/.gitignore | 2 +
|
||||
redhat/rpmbuild/SRPMS/.gitignore | 2 +
|
||||
redhat/scripts/frh.py | 27 ++
|
||||
redhat/scripts/git-backport-diff | 327 ++++++++++++++++++++++
|
||||
redhat/scripts/git-compile-check | 215 ++++++++++++++
|
||||
redhat/scripts/process-patches.sh | 93 ++++++
|
||||
redhat/scripts/tarball_checksum.sh | 3 +
|
||||
setup.py | 6 +-
|
||||
tests/data/ext/sample_ext-1.3.0/sample.py | 2 +-
|
||||
19 files changed, 1042 insertions(+), 5 deletions(-)
|
||||
create mode 100644 .gitpublish
|
||||
create mode 100644 redhat/.gitignore
|
||||
create mode 100644 redhat/Makefile
|
||||
create mode 100644 redhat/Makefile.common
|
||||
create mode 100644 redhat/WALinuxAgent.spec.template
|
||||
create mode 100644 redhat/rpmbuild/BUILD/.gitignore
|
||||
create mode 100644 redhat/rpmbuild/RPMS/.gitignore
|
||||
create mode 100644 redhat/rpmbuild/SOURCES/.gitignore
|
||||
create mode 100644 redhat/rpmbuild/SPECS/.gitignore
|
||||
create mode 100644 redhat/rpmbuild/SRPMS/.gitignore
|
||||
create mode 100755 redhat/scripts/frh.py
|
||||
create mode 100755 redhat/scripts/git-backport-diff
|
||||
create mode 100755 redhat/scripts/git-compile-check
|
||||
create mode 100755 redhat/scripts/process-patches.sh
|
||||
create mode 100755 redhat/scripts/tarball_checksum.sh
|
||||
|
||||
diff --git a/makepkg.py b/makepkg.py
|
||||
index 11e90b95..1b6b4351 100755
|
||||
--- a/makepkg.py
|
||||
+++ b/makepkg.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
import glob
|
||||
import os
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 12c9e1d6..586bb5ca 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python3
|
||||
#
|
||||
# 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
|
||||
index 47f86af8..92585ed3 100755
|
||||
--- a/tests/data/ext/sample_ext-1.3.0/sample.py
|
||||
+++ b/tests/data/ext/sample_ext-1.3.0/sample.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python3
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 0a9c628d9edd67af7b6f20d034be85c1c552a512 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
|
||||
|
@ -1,108 +0,0 @@
|
||||
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
|
||||
|
@ -1,45 +0,0 @@
|
||||
From 85638d1238ba9ab0c77138133ab1b7c7069e3821 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Tue, 21 Feb 2023 10:29:52 +0100
|
||||
Subject: [PATCH 2/2] Use platform-python in waagent.service
|
||||
|
||||
RH-Author: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
RH-MergeRequest: 16: Use platform-python in waagent.service
|
||||
RH-Bugzilla: 2170104
|
||||
RH-Acked-by: Mohamed Gamal Morsy <mmorsy@redhat.com>
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Commit: [2/2] e548a4d37bd89e6e2eb471b5193b76f1f9f9529b
|
||||
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2170104
|
||||
Upstream: RHEL only
|
||||
|
||||
WALinuxAgent in RHEL8 uses platform-python, which is python3.6.
|
||||
'waagent.service', however, overrides this by calling
|
||||
'/usr/bin/python3' directly and in case this point to a newer
|
||||
AppStream Python (e.g. Python3.9) WALinuxAgent breaks as it can't
|
||||
find its files.
|
||||
|
||||
See also: https://github.com/Azure/WALinuxAgent/issues/2728
|
||||
See also: https://github.com/Azure/WALinuxAgent/pull/2729
|
||||
|
||||
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
---
|
||||
init/redhat/waagent.service | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/init/redhat/waagent.service b/init/redhat/waagent.service
|
||||
index dc11fbb1..29056395 100644
|
||||
--- a/init/redhat/waagent.service
|
||||
+++ b/init/redhat/waagent.service
|
||||
@@ -8,7 +8,7 @@ ConditionPathExists=/etc/waagent.conf
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
-ExecStart=/usr/bin/python3 -u /usr/sbin/waagent -daemon
|
||||
+ExecStart=/usr/sbin/waagent -daemon
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
Slice=azure.slice
|
||||
--
|
||||
2.37.3
|
||||
|
@ -1,57 +0,0 @@
|
||||
From ac21739b94266387360a7ba2b3cfeb44c3df5b01 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: 4: redhat: Fix command sequence for restarting net interface
|
||||
RH-Commit: [1/1] ac14220635c30b3361399ae33a5ecd4e7d8cf92b
|
||||
RH-Bugzilla: 2080826
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2080826
|
||||
|
||||
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.35.3
|
||||
|
@ -1,306 +0,0 @@
|
||||
Summary: Microsoft Azure Linux Agent
|
||||
Name: WALinuxAgent
|
||||
Version: 2.7.0.6
|
||||
Release: 8%{?dist}
|
||||
|
||||
License: ASL 2.0
|
||||
Group: Development/Libraries
|
||||
Url: https://github.com/Azure/WALinuxAgent
|
||||
Source0: v2.7.0.6.tar.gz
|
||||
|
||||
BuildArch: noarch
|
||||
Patch0001: 0001-Add-inital-redhat-build-support.patch
|
||||
Patch0002: 0002-Implement-restart_if-for-RedHat-OS.patch
|
||||
# For bz#2080826 - [Azure][WALA][RHEL-8] [8.7] walinuxagent kills network during boot
|
||||
Patch0003: wla-redhat-Fix-command-sequence-for-restarting-net-inter.patch
|
||||
# For bz#2092002 - [Azure][WALA][RHEL-8.7] Provisioning failed if no ifcfg-eth0
|
||||
Patch4: wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch
|
||||
# For bz#2114824 - [Azure][WALA][RHEL-8.7] The description of "Logs.Collect" is incorrect
|
||||
Patch5: wla-Update-Log-Collector-default-in-Comments-and-Readme-.patch
|
||||
# For bz#2170104 - [Azure][WALA][RHEL-8] systemd service should not use python3
|
||||
Patch6: wla-Use-platform-python-in-waagent.service.patch
|
||||
|
||||
# rhel requirements
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
Requires: %name-udev = %version-%release
|
||||
Requires: openssh
|
||||
Requires: openssh-server
|
||||
Requires: openssl
|
||||
Requires: parted
|
||||
Requires: python3-pyasn1
|
||||
Requires: python36
|
||||
Requires: iptables
|
||||
|
||||
BuildRequires: systemd
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
||||
%description
|
||||
The Azure Linux Agent supports the provisioning and running of Linux
|
||||
VMs in the Azure cloud. This package should be installed on Linux disk
|
||||
images that are built to run in the Azure environment.
|
||||
|
||||
%package udev
|
||||
Summary: Udev rules for Microsoft Azure
|
||||
|
||||
%description udev
|
||||
Udev rules specific to Microsoft Azure Virtual Machines.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch0001 -p1
|
||||
%patch0002 -p1
|
||||
%patch0003 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
|
||||
%install
|
||||
%{__python3} setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
|
||||
rm -f %{buildroot}%{_sbindir}/waagent2.0
|
||||
|
||||
mkdir -p %{buildroot}%{_udevrulesdir}
|
||||
mv %{buildroot}%{_sysconfdir}/udev/rules.d/*.rules %{buildroot}%{_udevrulesdir}/
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
%systemd_post waagent.service
|
||||
|
||||
%preun
|
||||
%systemd_preun waagent.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart waagent.service
|
||||
rm -rf %{_unitdir}/waagent.service.d/
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{python3_sitelib}/*
|
||||
%config(noreplace) %{_sysconfdir}/waagent.conf
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/waagent.logrotate
|
||||
%{_sbindir}/waagent
|
||||
%{_unitdir}/waagent.service
|
||||
%{_unitdir}/azure.slice
|
||||
%{_unitdir}/azure-vmextensions.slice
|
||||
%ghost %{_unitdir}/waagent-network-setup.service
|
||||
|
||||
%files udev
|
||||
%{_udevrulesdir}/*.rules
|
||||
|
||||
%changelog
|
||||
* Mon Mar 06 2023 Jon Maloy <jmaloy@redhat.com> - 2.7.0.6-8.el8_8
|
||||
- wla-redhat-Fix-frh.py-to-not-skip-valid-patches-to-init-.patch [bz#2170104]
|
||||
- wla-Use-platform-python-in-waagent.service.patch [bz#2170104]
|
||||
- Resolves: bz#2170104
|
||||
([Azure][WALA][RHEL-8] systemd service should not use python3)
|
||||
|
||||
* Mon Mar 06 2023 Jon Maloy <jmaloy@redhat.com> - 2.7.0.6-7.el8_8
|
||||
- wla-redhat-Fix-frh.py-to-not-skip-valid-patches-to-init-.patch [bz#2170104]
|
||||
- wla-Use-platform-python-in-waagent.service.patch [bz#2170104]
|
||||
- Resolves: bz#2170104
|
||||
([Azure][WALA][RHEL-8] systemd service should not use python3)
|
||||
|
||||
* Mon Aug 29 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-6
|
||||
- wla-redhat-Remove-files-inside-WALA-services-directory.patch [bz#2114742]
|
||||
- Resolves: bz#2114742
|
||||
([Azure][WALA][RHEL-8] When remove package some files left)
|
||||
|
||||
* Tue Aug 23 2022 Miroslav Rezanina <mrezanin@redhat.com> - 2.7.0.6-5
|
||||
- wla-redhat-Mark-directories-properly-in-the-files-list.patch [bz#2114742]
|
||||
- Resolves: bz#2114742
|
||||
([Azure][WALA][RHEL-8] When remove package some files left)
|
||||
|
||||
* Wed Aug 17 2022 Jon Maloy <jmaloy@redhat.com> - 2.7.0.6-4
|
||||
- wla-redhat-Remove-all-waagent-unit-files-when-uninstalli.patch [bz#2114742]
|
||||
- Resolves: bz#2114742
|
||||
([Azure][WALA][RHEL-8] When remove package some files left)
|
||||
|
||||
* 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
|
||||
- wla-Require-iptables-for-setting-up-persistent-firewall-.patch [bz#1985198]
|
||||
- Resolves: bz#1985198
|
||||
([Azure][WALA][RHEL-8] WALA needs iptables package)
|
||||
|
||||
* Fri Jun 25 2021 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0.2-1
|
||||
- Rebase to 2.3.0.2 [bz#1972102]
|
||||
- Resolves: bz#1972102
|
||||
([Azure][RHEL-8]Rebase WALinuxAgent to 2.3.0.2)
|
||||
|
||||
* Tue Jan 12 2021 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.49.2-3.el8
|
||||
- wla-Provide-udev-rules-as-a-separate-subpackage.patch [bz#1913074]
|
||||
- Resolves: bz#1913074
|
||||
([Azure][RFE] please provide the WALinuxAgent-udev subpackage)
|
||||
|
||||
* Thu Dec 17 2020 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.49.2-2.el8
|
||||
- wla-Fixed-faulty-check-for-run_command-2093.patch [bz#1903074]
|
||||
- Resolves: bz#1903074
|
||||
([Azure][WALA] Miss report "hostnamectl set-hostname --static] failed, attempting fallback")
|
||||
|
||||
* Wed Nov 18 2020 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.49.2-1.el8
|
||||
- Rebase to 2.2.49.2 [bz#1896907]
|
||||
([Azure] Rebase WALinuxAgent to 2.2.49)
|
||||
|
||||
* Thu Aug 13 2020 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.46-8.el8
|
||||
- wla-Fix-handling-of-gen2-disks-with-udev-rules-1954.patch [bz#1859037]
|
||||
- Resolves: bz#1859037
|
||||
([Azure][WALA]Cannot create /dev/disk/azure/resource softlinks in Gen2 VM)
|
||||
|
||||
* Wed Jun 10 2020 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.46-7.el8
|
||||
- wla-Mark-logrotate-configs-with-config-noreplace.patch [bz#1838254]
|
||||
- Resolves: bz#1838254
|
||||
([Azure]WALinuxAgent RPM update clobbers waagent.logrotate log rotation changes)
|
||||
|
||||
* Tue May 26 2020 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.46-6.el8
|
||||
- wala-Update-Provisioning-options-1853.patch [bz#1827792]
|
||||
- Resolves: bz#1822882
|
||||
([Azure][RHEL-8]Some parameter changes are not in waagent.conf)
|
||||
|
||||
* Thu Apr 09 2020 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.46-5.el8
|
||||
- Rebase to 2.2.46 [bz#1791069]
|
||||
- Resolves: bz#1791069
|
||||
([Azure][RHEL-8.3]Ask to increase the WALA version available for RHEL 8.0 to 2.2.46)
|
||||
|
||||
* Wed Jun 26 2019 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.32-3.el8
|
||||
- wla-Switch-from-platform-python-to-python36.patch [bz#1720373]
|
||||
- wla-Stop-packaging-legacy-waagent2.0.patch [bz#1720373]
|
||||
- Resolves: bz#1720373
|
||||
([RHEL 8.1] [Azure] Change WALinuxAgent spec to depend on Python3.6 package)
|
||||
|
||||
* Tue Apr 30 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 2.2.32-2.el8
|
||||
- wla-Add-fixes-for-handling-swap-file-and-other-nit-fixes.patch [bz#1684181 bz#1688276]
|
||||
- Resolves: bz#1684181
|
||||
(CVE-2019-0804 WALinuxAgent: swapfile created with weak permissions)
|
||||
- Resolves: bz#1688276
|
||||
(CVE-2019-0804 WALinuxAgent: swapfile created with weak permissions [rhel-8])
|
||||
|
||||
* Fri Dec 14 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.32-1.el8
|
||||
- Rebase to 2.2.32 [bz#1639498]
|
||||
- Resolves: bz#1639498]
|
||||
(walinuxagent 2.2.32 packaging request for RHEL 8)
|
||||
|
||||
* Tue Oct 23 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.26-6.el8
|
||||
- wala-Use-sys.executable-to-find-system-python.patch [bz#1639775]
|
||||
- Resolves: bz#1639775
|
||||
(WALinuxAgent: Systemd unit file will fail to execute)
|
||||
|
||||
* Mon Oct 22 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.26-5.el8
|
||||
- wala-Switch-to-platform-python-in-systemd-unit-file.patch [bz#1639775]
|
||||
- Resolves: bz#1639775
|
||||
(WALinuxAgent: Systemd unit file will fail to execute)
|
||||
|
||||
* Wed Aug 29 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.26-4.el8
|
||||
- Fix unit file location [bz#1637545]
|
||||
- Resolves: bz#1637545
|
||||
(Wrong macro used for systemd unit file location)
|
||||
|
||||
* Wed Jul 04 2018 Tomas Orsava <torsava@redhat.com> - 2.2.26-3
|
||||
- Switch hardcoded python3 shebangs into the %%{__python3} macro
|
||||
|
||||
* Tue Jul 03 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.26-2.el8
|
||||
- Include 7.6 patches
|
||||
|
||||
* Tue Jul 03 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.26-1.el7
|
||||
- Rebase to 2.2.26 [bz#1571523]
|
||||
- Resolves: bz#1571523
|
||||
(Rebase WALinuxAgent in RHEL-8.0)
|
||||
|
||||
* Thu May 03 2018 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.18-2.el7
|
||||
- wa-Add-show-configuration-option.patch [bz#1508340]
|
||||
- Resolves: bz#1508340
|
||||
([WALA] WALA usage prompt lack of " waagent -show-configuration")
|
||||
|
||||
* Tue Oct 10 2017 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.18-1.el7
|
||||
- Rebase to 2.2.18 [bz#1491873]
|
||||
- Resolves: bz#1491873
|
||||
([WALA]Request to package WALA 2.2.18 into RHEL 7 Repo)
|
||||
|
||||
|
||||
* Tue Jul 04 2017 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.14-1.el7
|
||||
- Rebase to 2.2.14 [bz#1451172]
|
||||
- wla-Remove-FIPS-setting-from-the-default-config.patch [bz#1467553]
|
||||
- Resolves: bz#1451172
|
||||
([WALA] Request to package WALA 2.2.14 into RHEL 7 Repo)
|
||||
- Resolves: bz#1467553
|
||||
([WALA] Remove FIPS from default config in WALA-2.2.14)
|
||||
|
||||
* Wed Apr 26 2017 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.10-1.el7
|
||||
- Rebase to 2.2.10 [bz#1443425]
|
||||
- Resolves: bz#1443425
|
||||
([WALA]Request to package WALA 2.2.10 into RHEL 7 Repo)
|
||||
|
||||
* Wed Apr 19 2017 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.4-2.el7
|
||||
- Enable AutoUpdate by default [bz#1434933]
|
||||
- Resolves: bz#1434933
|
||||
([WALA][RHEL-7] Enable AutoUpdate by default)
|
||||
|
||||
* Wed Mar 01 2017 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.4-1.el7
|
||||
- Rebase to 2.2.4 [bz#1419201]
|
||||
- resolves: bz#1419201
|
||||
WALA 2.2.4
|
||||
|
||||
* Mon Jan 16 2017 Miroslav Rezanina <mrezanin@redhat.com> - 2.2.0-4.el7
|
||||
- agent-RHEL-7-hostname-533.patch [bz#1413674]
|
||||
- agent-fix-for-hostnamectl-534.patch [bz#1413674]
|
||||
- Resolves: bz#1413674
|
||||
([WALA] Fail to send hostname to DHCP server during provisioning)
|
||||
|
||||
* Fri Sep 30 2016 Dave Anderson <anderson@redhat.com> - 2.2.0-1
|
||||
- Update to v2.2.0
|
||||
Resolves: rhbz#1360492
|
||||
|
||||
* Wed Sep 21 2016 Dave Anderson <anderson@redhat.com> - 2.1.5-2
|
||||
- Several QE updates to this file
|
||||
Resolves: rhbz#1360492
|
||||
|
||||
* Tue Sep 13 2016 Dave Anderson <anderson@redhat.com> - 2.1.5-1
|
||||
- Update to v2.1.5
|
||||
Resolves: rhbz#1360492
|
||||
|
||||
* Thu Jan 14 2016 Dave Anderson <anderson@redhat.com> - 2.0.16-1
|
||||
- Update to 2.0.16
|
||||
Resolves: rhbz#1296360
|
||||
|
||||
* Mon Jun 01 2015 Dave Anderson <anderson@redhat.com> - 2.0.13-1
|
||||
- Update to upstream 2.0.13 package.
|
||||
- Remove global commit md5sum and fix Source0 to point to correct location.
|
||||
- Fix setup to deal with "WALinuxAgent-WALinuxAgent" naming scheme
|
||||
- Added files reference for /udev/rules.d/99-azure-product-uuid.rules
|
||||
|
||||
* Thu May 07 2015 Dave Anderson <anderson@redhat.com> - 2.0.11-3
|
||||
- Remove Requires: ntfsprogs for RHEL7
|
||||
|
||||
* Sat Jan 10 2015 Scott K Logan <logans@cottsay.net> - 2.0.11-2
|
||||
- Use systemd for rhel7
|
||||
- Own logrotate.d
|
||||
- Fix python2-devel dep
|
||||
|
||||
* Sat Dec 20 2014 Scott K Logan <logans@cottsay.net> - 2.0.11-1
|
||||
- Initial package
|
345
WALinuxAgent.spec
Normal file
345
WALinuxAgent.spec
Normal file
@ -0,0 +1,345 @@
|
||||
%global with_legacy 0
|
||||
%global dracut_modname 97walinuxagent
|
||||
|
||||
Name: WALinuxAgent
|
||||
Version: 2.9.1.1
|
||||
Release: 8%{?dist}
|
||||
Summary: The Microsoft Azure Linux Agent
|
||||
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/Azure/%{name}
|
||||
Source0: https://github.com/Azure/%{name}/archive/v%{version}.tar.gz
|
||||
Source1: module-setup.sh
|
||||
|
||||
Patch1: 0001-waagent.service-set-ConditionVirtualization-microsof.patch
|
||||
# For RHEL-35963 - [Azure][WALA] Consider to disable Log collector [rhel-10]
|
||||
Patch2: wla-Disable-automatic-log-collector.patch
|
||||
# For RHEL-40966 - [Azure][WALA][RHEL-10] Provisioning failed if no ifcfg-eth0
|
||||
Patch3: wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch
|
||||
# For RHEL-46713 - [Azure][RHEL-10][WALA] waagent -collect-logs doesn't work and the log is confusing
|
||||
Patch4: wla-skip-cgorup-monitor-2939.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-distro
|
||||
Requires: %name-udev = %version-%release
|
||||
%if 0%{?fedora}
|
||||
Requires: ntfsprogs
|
||||
%endif
|
||||
Requires: openssh
|
||||
Requires: openssh-server
|
||||
Requires: openssl
|
||||
Requires: parted
|
||||
Requires: python3-pyasn1
|
||||
Requires: iptables
|
||||
|
||||
BuildRequires: systemd
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
||||
%description
|
||||
The Microsoft Azure Linux Agent supports the provisioning and running of Linux
|
||||
VMs in the Microsoft Azure cloud. This package should be installed on Linux disk
|
||||
images that are built to run in the Microsoft Azure environment.
|
||||
|
||||
%if 0%{?with_legacy}
|
||||
%package legacy
|
||||
Summary: The Microsoft Azure Linux Agent (legacy)
|
||||
Requires: %name = %version-%release
|
||||
Requires: python2
|
||||
Requires: net-tools
|
||||
|
||||
%description legacy
|
||||
The Microsoft Azure Linux Agent supporting old version of extensions.
|
||||
%endif
|
||||
|
||||
%package udev
|
||||
Summary: Udev rules for Microsoft Azure
|
||||
|
||||
%description udev
|
||||
Udev rules specific to Microsoft Azure Virtual Machines.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%autopatch -p1
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
|
||||
%install
|
||||
%{__python3} setup.py install -O1 --skip-build --root %{buildroot} --lnx-distro redhat
|
||||
|
||||
mkdir -p -m 0700 %{buildroot}%{_sharedstatedir}/waagent
|
||||
mkdir -p %{buildroot}%{_localstatedir}/log
|
||||
touch %{buildroot}%{_localstatedir}/log/waagent.log
|
||||
|
||||
mkdir -p %{buildroot}%{_udevrulesdir}
|
||||
mv %{buildroot}%{_sysconfdir}/udev/rules.d/*.rules %{buildroot}%{_udevrulesdir}/
|
||||
|
||||
rm -rf %{buildroot}/%{python3_sitelib}/tests
|
||||
rm -rf %{buildroot}/%{python3_sitelib}/__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}
|
||||
sed -i 's,#!/usr/bin/env python,#!/usr/bin/python2,' %{buildroot}%{_sbindir}/waagent2.0
|
||||
%else
|
||||
rm -f %{buildroot}%{_sbindir}/waagent2.0
|
||||
%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}
|
||||
|
||||
install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modname}/ %{SOURCE1}
|
||||
|
||||
%post
|
||||
%systemd_post waagent.service
|
||||
|
||||
%preun
|
||||
%systemd_preun waagent.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart waagent.service
|
||||
rm -rf %{_unitdir}/waagent.service.d/
|
||||
|
||||
%files
|
||||
%doc LICENSE.txt NOTICE README.md
|
||||
%ghost %{_localstatedir}/log/waagent.log
|
||||
%ghost %{_unitdir}/waagent-network-setup.service
|
||||
%dir %attr(0700, root, root) %{_sharedstatedir}/waagent
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%{_sbindir}/waagent
|
||||
%config(noreplace) %{_sysconfdir}/waagent.conf
|
||||
%{_unitdir}/waagent.service
|
||||
%{_unitdir}/azure.slice
|
||||
%{_unitdir}/azure-vmextensions.slice
|
||||
%{python3_sitelib}/azurelinuxagent
|
||||
%{python3_sitelib}/*.egg-info
|
||||
|
||||
%files udev
|
||||
%{_udevrulesdir}/*.rules
|
||||
%{_prefix}/lib/dracut/modules.d/%{dracut_modname}/*.sh
|
||||
|
||||
%if 0%{?with_legacy}
|
||||
%files legacy
|
||||
%{_sbindir}/waagent2.0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.9.1.1-8
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Mon Aug 05 2024 Miroslav Rezanina <mrezanin@redhat.com> - 2.9.1.1-7
|
||||
- wla-skip-cgorup-monitor-2939.patch [RHEL-46713]
|
||||
- Resolves: RHEL-46713
|
||||
([Azure][RHEL-10][WALA] waagent -collect-logs doesn't work and the log is confusing)
|
||||
|
||||
* Thu Jul 11 2024 Miroslav Rezanina <mrezanin@redhat.com> - 2.9.1.1-6
|
||||
- wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch [RHEL-40966]
|
||||
- wla-redhat-Remove-all-waagent-unit-files-when-uninstalli.patch [RHEL-40966]
|
||||
- wla-redhat-Mark-directories-properly-in-the-files-list.patch [RHEL-40966]
|
||||
- wla-redhat-Remove-files-inside-WALA-services-directory.patch [RHEL-40966]
|
||||
- Resolves: RHEL-40966
|
||||
([Azure][WALA][RHEL-10] Provisioning failed if no ifcfg-eth0)
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.9.1.1-5
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Tue May 14 2024 Miroslav Rezanina <mrezanin@redhat.com> - 2.9.1.1-4
|
||||
- wla-Disable-automatic-log-collector.patch [RHEL-35963]
|
||||
- Resolves: RHEL-35963
|
||||
([Azure][WALA] Consider to disable Log collector [rhel-10])
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Oct 18 2023 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.9.1.1-1
|
||||
- Update to 2.9.1.1 (#2232763)
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.9.0.4-3
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue May 30 2023 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.9.0.4-2
|
||||
- Switch to SPDX identifiers for the license field
|
||||
|
||||
* Mon Mar 13 2023 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.9.0.4-1
|
||||
- Update to 2.9.0.4 (#2177333)
|
||||
|
||||
* Fri Jan 20 2023 Dusty Mabe <dusty@dustymabe.com> - 2.8.0.11-3
|
||||
- Move module-setup.sh into git
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.0.11-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Mon Oct 31 2022 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.8.0.11-1
|
||||
- Update to 2.8.0.11 (#2128547)
|
||||
|
||||
* Tue Oct 18 2022 Chris Patterson <cpatterson@microsoft.com> - 2.7.3.0-2
|
||||
- Add ConditionVirtualization=|microsoft triggering condition
|
||||
|
||||
* Wed Aug 03 2022 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.7.3.0-1
|
||||
- Update to 2.7.3.0 (#2110155)
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu Jun 30 2022 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.7.1.0-1
|
||||
- Update to 2.7.1.0 (#2097244)
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.7.0.6-2
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Fri Apr 22 2022 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.7.0.6-1
|
||||
- Update to 2.7.0.6 (#2040980)
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Jan 03 2022 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.5.0.2-1
|
||||
- Update to 2.5.0.2 (#2008699)
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Jul 19 2021 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.3.1.1-1
|
||||
- Update to 2.3.1.1 (#1982512)
|
||||
- Require iptables for setting up persistent firewall rules
|
||||
|
||||
* Tue Jun 15 2021 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.3.0.2-1
|
||||
- Update to 2.3.0.2 (#1971116)
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.2.54.2-2
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Fri May 21 2021 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.54.2-1
|
||||
- Update to 2.2.54.2 (#1916966)
|
||||
|
||||
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.2.52-6
|
||||
- Rebuilt for updated systemd-rpm-macros
|
||||
See https://pagure.io/fesco/issue/2583.
|
||||
|
||||
* Fri Feb 19 2021 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.52-5
|
||||
- Require ntfsprogs on Fedora only
|
||||
|
||||
* Tue Jan 26 2021 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.52-4
|
||||
- Fix distro resolution for RedHat
|
||||
|
||||
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.52-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jan 15 2021 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.52-2
|
||||
- Add udev rules to initramfs (#1909287)
|
||||
|
||||
* Wed Dec 09 2020 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.52-1
|
||||
- Update to 2.2.52 (#1849923)
|
||||
- Add not yet upstream patches supporting Python3.9 changes
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.48.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jun 09 2020 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.48.1-1
|
||||
- Update to 2.2.48.1 (#1641605)
|
||||
- Split udev rules to a separate subpackage (#1748432)
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.2.46-2
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Wed Apr 15 2020 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.46-1
|
||||
- Update to 2.2.46
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.40-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.2.40-6
|
||||
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
||||
|
||||
* Wed Aug 21 2019 Miro Hrončok <mhroncok@redhat.com> - 2.2.40-5
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Wed Aug 21 2019 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.40-4
|
||||
- Disable Python2 dependent 'legacy' subpackage (#1741029)
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.2.40-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.40-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Jun 03 2019 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.40-1
|
||||
- Update to 2.2.40
|
||||
- Fix FTBFS in the preparation for Python3.8 (#1705219)
|
||||
|
||||
* Thu Mar 14 2019 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.38-1
|
||||
- Update to 2.2.38 (CVE-2019-0804)
|
||||
|
||||
* Thu Mar 14 2019 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.37-1
|
||||
- Update to 2.2.37
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.32-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Sep 20 2018 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.32-1
|
||||
- Update to 2.2.32.2
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.25-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.2.25-3
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed Apr 25 2018 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.25-2
|
||||
- Move net-tools dependency to WALinuxAgent-legacy (#1106781)
|
||||
|
||||
* Mon Apr 16 2018 Vitaly Kuznetsov <vkuznets@redhat.com> - 2.2.25-1
|
||||
- Update to 2.2.25
|
||||
- Switch to Python3
|
||||
- Legacy subpackage with waagent2.0 supporting old extensions
|
||||
|
||||
* Wed Feb 28 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.0.18-5
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.18-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.18-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.18-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Sat Apr 02 2016 Scott K Logan <logans@cottsay.net> - 2.0.18-1
|
||||
- Update to 2.0.18
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.14-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Jul 02 2015 Scott K Logan <logans@cottsay.net> - 2.0.14-1
|
||||
- Update to 2.0.14
|
||||
|
||||
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.13-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Jun 01 2015 Scott K Logan <logans@cottsay.net> - 2.0.13-1
|
||||
- Update to 2.0.13
|
||||
|
||||
* Thu Apr 02 2015 Scott K Logan <logans@cottsay.net> - 2.0.12-1
|
||||
- Update to 2.0.12-Oracle
|
||||
|
||||
* Sat Jan 10 2015 Scott K Logan <logans@cottsay.net> - 2.0.11-2
|
||||
- Use systemd for rhel7
|
||||
- Own logrotate.d
|
||||
- Fix python2-devel dep
|
||||
|
||||
* Sat Dec 20 2014 Scott K Logan <logans@cottsay.net> - 2.0.11-1
|
||||
- Initial package
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: 3rd-azure-ci.brew-build.tier1.functional}
|
16
module-setup.sh
Normal file
16
module-setup.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# called by dracut
|
||||
check() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
depends() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
install() {
|
||||
inst_rules 66-azure-storage.rules 99-azure-product-uuid.rules
|
||||
}
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (v2.9.1.1.tar.gz) = 3f44aecc16ac545db4b550586f168dbbdef34289aad6775973517bf645e5a1d486864c01e974f03a71b3e946c14e1ca140673a75c1cd602aac28725eaa68e83d
|
38
wla-Disable-automatic-log-collector.patch
Normal file
38
wla-Disable-automatic-log-collector.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 896d0f1edfbfad20c2eecb04fca17e7dc335dfb8 Mon Sep 17 00:00:00 2001
|
||||
From: Ani Sinha <anisinha@redhat.com>
|
||||
Date: Mon, 6 May 2024 11:50:49 +0530
|
||||
Subject: [PATCH] Disable automatic log collector
|
||||
|
||||
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||
RH-MergeRequest: 12: Disable automatic log collector
|
||||
RH-Jira: RHEL-35963
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Commit: [1/1] d885b584e6bf7ad7d2169b21bcc12db2b526b651 (anisinha/centos-wa-linux-agent)
|
||||
|
||||
Log collector is enabled by default. Due to security concerns from our customers
|
||||
disable it.
|
||||
|
||||
Jira: https://issues.redhat.com/browse/RHEL-35963
|
||||
Upstream: RHEL only.
|
||||
|
||||
Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
||||
---
|
||||
config/waagent.conf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/config/waagent.conf b/config/waagent.conf
|
||||
index 7316dc2d..4a345fc0 100644
|
||||
--- a/config/waagent.conf
|
||||
+++ b/config/waagent.conf
|
||||
@@ -70,7 +70,7 @@ Logs.Verbose=n
|
||||
# Logs.Console=y
|
||||
|
||||
# Enable periodic log collection, default is y
|
||||
-Logs.Collect=y
|
||||
+Logs.Collect=n
|
||||
|
||||
# How frequently to collect logs, default is each hour
|
||||
Logs.CollectPeriod=3600
|
||||
--
|
||||
2.39.3
|
||||
|
@ -1,17 +1,24 @@
|
||||
From f45dc73365999334e680d64c90d36f710a0c7831 Mon Sep 17 00:00:00 2001
|
||||
From 8cc6f62bd1be39e60be6ae606ea4beb76ae24d7c Mon Sep 17 00:00:00 2001
|
||||
From: Mohammed Gamal <mgamal@redhat.com>
|
||||
Date: Fri, 29 Jul 2022 13:07:13 +0200
|
||||
Subject: [PATCH 1/2] redhat: Use NetworkManager to set DHCP hostnames on
|
||||
Subject: [PATCH 1/4] redhat: Use NetworkManager to set DHCP hostnames on
|
||||
recent RHEL distros
|
||||
|
||||
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||
RH-MergeRequest: 13: sync c10s branch from c9s
|
||||
RH-Jira: RHEL-40966
|
||||
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Commit: [1/4] 05e1d05db526deae49e976dea3bae140ea1b2ecf (anisinha/centos-wa-linux-agent)
|
||||
|
||||
RH-Author: Mohamed Gamal Morsy <mmorsy@redhat.com>
|
||||
RH-MergeRequest: 8: redhat: Use NetworkManager to set DHCP hostnames on recent RHEL distros
|
||||
RH-Commit: [1/1] b83612e9d88bac7117541d7f7832f65ef268bbe3
|
||||
RH-Bugzilla: 2092002
|
||||
RH-MergeRequest: 3: redhat: Use NetworkManager to set DHCP hostnames on recent RHEL distros
|
||||
RH-Commit: [1/1] 2bf51293796ba0e8567e436836adc0547f062b04
|
||||
RH-Bugzilla: 2114830
|
||||
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=2092002
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2114830
|
||||
|
||||
Recent versions of RHEL 8 and RHEL 9 started using NetworkManager to configure
|
||||
network intefaces instead of sysconfig files. Configurations are no longer
|
||||
@ -20,15 +27,20 @@ stored in /etc/sysconfig/ifcfg-{interface}.
|
||||
Fix this for setting DHCP hostnames in those RHEL versions.
|
||||
|
||||
Signed-off-by: Mohammed Gamal <mgamal@redhat.com>
|
||||
|
||||
Patch-name: wla-redhat-Use-NetworkManager-to-set-DHCP-hostnames-on-r.patch
|
||||
Patch-id:
|
||||
Patch-present-in-specfile: True
|
||||
(cherry picked from commit 8400a993c6c27f8f8fc598f81e2c329dc8255805)
|
||||
---
|
||||
azurelinuxagent/common/osutil/redhat.py | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/azurelinuxagent/common/osutil/redhat.py b/azurelinuxagent/common/osutil/redhat.py
|
||||
index 5c397ae8..7dd36add 100644
|
||||
index 312dd160..4b46a97a 100644
|
||||
--- a/azurelinuxagent/common/osutil/redhat.py
|
||||
+++ b/azurelinuxagent/common/osutil/redhat.py
|
||||
@@ -158,3 +158,15 @@ class RedhatOSUtil(Redhat6xOSUtil):
|
||||
@@ -164,3 +164,15 @@ class RedhatOSModernUtil(RedhatOSUtil):
|
||||
time.sleep(wait)
|
||||
else:
|
||||
logger.warn("exceeded restart retries")
|
||||
@ -45,5 +57,5 @@ index 5c397ae8..7dd36add 100644
|
||||
+ if return_code != 0:
|
||||
+ logger.error("failed to set DHCP hostname for interface {0}: return code {1}".format(ifname, return_code))
|
||||
--
|
||||
2.31.1
|
||||
2.39.3
|
||||
|
288
wla-skip-cgorup-monitor-2939.patch
Normal file
288
wla-skip-cgorup-monitor-2939.patch
Normal file
@ -0,0 +1,288 @@
|
||||
From 3747dabadea2fe288e6991723e5364179b2906dd Mon Sep 17 00:00:00 2001
|
||||
From: Nageswara Nandigam <84482346+nagworld9@users.noreply.github.com>
|
||||
Date: Mon, 9 Oct 2023 11:14:30 -0700
|
||||
Subject: [PATCH] skip cgorup monitor (#2939)
|
||||
|
||||
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||
RH-MergeRequest: 14: skip cgorup monitor (#2939)
|
||||
RH-Jira: RHEL-46713
|
||||
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Commit: [1/1] 613c87b13204159b6b33214d0cf02ed25bcd67e7 (anisinha/centos-wa-linux-agent)
|
||||
|
||||
(cherry picked from commit 5bad0b4b19c907386b80ec18ad1423cdb7f3a050)
|
||||
Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
||||
|
||||
Conflicts:
|
||||
azurelinuxagent/agent.py
|
||||
azurelinuxagent/common/logcollector.py
|
||||
tests/common/test_logcollector.py
|
||||
All due to libraries being moved around in upstream.
|
||||
---
|
||||
azurelinuxagent/agent.py | 30 +++++++++++++++++++-------
|
||||
azurelinuxagent/common/logcollector.py | 15 +------------
|
||||
azurelinuxagent/ga/collect_logs.py | 10 ++++-----
|
||||
tests/common/test_logcollector.py | 16 +++++++-------
|
||||
tests/test_agent.py | 8 +++----
|
||||
5 files changed, 40 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/azurelinuxagent/agent.py b/azurelinuxagent/agent.py
|
||||
index 8c303482..0fb681e6 100644
|
||||
--- a/azurelinuxagent/agent.py
|
||||
+++ b/azurelinuxagent/agent.py
|
||||
@@ -30,6 +30,7 @@ import sys
|
||||
import threading
|
||||
from azurelinuxagent.common import cgroupconfigurator, logcollector
|
||||
from azurelinuxagent.common.cgroupapi import SystemdCgroupsApi
|
||||
+from azurelinuxagent.common.cgroup import AGENT_LOG_COLLECTOR, CpuCgroup, MemoryCgroup
|
||||
|
||||
import azurelinuxagent.common.conf as conf
|
||||
import azurelinuxagent.common.event as event
|
||||
@@ -204,11 +205,10 @@ class Agent(object):
|
||||
logger.info("Running log collector mode normal")
|
||||
|
||||
# Check the cgroups unit
|
||||
- cpu_cgroup_path, memory_cgroup_path, log_collector_monitor = None, None, None
|
||||
- if CollectLogsHandler.should_validate_cgroups():
|
||||
- cgroups_api = SystemdCgroupsApi()
|
||||
- cpu_cgroup_path, memory_cgroup_path = cgroups_api.get_process_cgroup_paths("self")
|
||||
-
|
||||
+ log_collector_monitor = None
|
||||
+ cgroups_api = SystemdCgroupsApi()
|
||||
+ cpu_cgroup_path, memory_cgroup_path = cgroups_api.get_process_cgroup_paths("self")
|
||||
+ if CollectLogsHandler.is_enabled_monitor_cgroups_check():
|
||||
cpu_slice_matches = (cgroupconfigurator.LOGCOLLECTOR_SLICE in cpu_cgroup_path)
|
||||
memory_slice_matches = (cgroupconfigurator.LOGCOLLECTOR_SLICE in memory_cgroup_path)
|
||||
|
||||
@@ -221,10 +221,24 @@ class Agent(object):
|
||||
|
||||
sys.exit(logcollector.INVALID_CGROUPS_ERRCODE)
|
||||
|
||||
+ def initialize_cgroups_tracking(cpu_cgroup_path, memory_cgroup_path):
|
||||
+ cpu_cgroup = CpuCgroup(AGENT_LOG_COLLECTOR, cpu_cgroup_path)
|
||||
+ msg = "Started tracking cpu cgroup {0}".format(cpu_cgroup)
|
||||
+ logger.info(msg)
|
||||
+ cpu_cgroup.initialize_cpu_usage()
|
||||
+ memory_cgroup = MemoryCgroup(AGENT_LOG_COLLECTOR, memory_cgroup_path)
|
||||
+ msg = "Started tracking memory cgroup {0}".format(memory_cgroup)
|
||||
+ logger.info(msg)
|
||||
+ return [cpu_cgroup, memory_cgroup]
|
||||
+
|
||||
try:
|
||||
- log_collector = LogCollector(is_full_mode, cpu_cgroup_path, memory_cgroup_path)
|
||||
- log_collector_monitor = get_log_collector_monitor_handler(log_collector.cgroups)
|
||||
- log_collector_monitor.run()
|
||||
+ log_collector = LogCollector(is_full_mode)
|
||||
+ # Running log collector resource(CPU, Memory) monitoring only if agent starts the log collector.
|
||||
+ # If Log collector start by any other means, then it will not be monitored.
|
||||
+ if CollectLogsHandler.is_enabled_monitor_cgroups_check():
|
||||
+ tracked_cgroups = initialize_cgroups_tracking(cpu_cgroup_path, memory_cgroup_path)
|
||||
+ log_collector_monitor = get_log_collector_monitor_handler(tracked_cgroups)
|
||||
+ log_collector_monitor.run()
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
logger.info("Log collection successfully completed. Archive can be found at {0} "
|
||||
"and detailed log output can be found at {1}".format(archive, OUTPUT_RESULTS_FILE_PATH))
|
||||
diff --git a/azurelinuxagent/common/logcollector.py b/azurelinuxagent/common/logcollector.py
|
||||
index fe62a7db..5f45a7de 100644
|
||||
--- a/azurelinuxagent/common/logcollector.py
|
||||
+++ b/azurelinuxagent/common/logcollector.py
|
||||
@@ -26,7 +26,6 @@ import zipfile
|
||||
from datetime import datetime
|
||||
from heapq import heappush, heappop
|
||||
|
||||
-from azurelinuxagent.common.cgroup import CpuCgroup, AGENT_LOG_COLLECTOR, MemoryCgroup
|
||||
from azurelinuxagent.common.conf import get_lib_dir, get_ext_log_dir, get_agent_log_file
|
||||
from azurelinuxagent.common.event import initialize_event_logger_vminfo_common_parameters
|
||||
from azurelinuxagent.common.future import ustr
|
||||
@@ -71,14 +70,13 @@ class LogCollector(object):
|
||||
|
||||
_TRUNCATED_FILE_PREFIX = "truncated_"
|
||||
|
||||
- def __init__(self, is_full_mode=False, cpu_cgroup_path=None, memory_cgroup_path=None):
|
||||
+ def __init__(self, is_full_mode=False):
|
||||
self._is_full_mode = is_full_mode
|
||||
self._manifest = MANIFEST_FULL if is_full_mode else MANIFEST_NORMAL
|
||||
self._must_collect_files = self._expand_must_collect_files()
|
||||
self._create_base_dirs()
|
||||
self._set_logger()
|
||||
self._initialize_telemetry()
|
||||
- self.cgroups = self._set_resource_usage_cgroups(cpu_cgroup_path, memory_cgroup_path)
|
||||
|
||||
@staticmethod
|
||||
def _mkdir(dirname):
|
||||
@@ -105,17 +103,6 @@ class LogCollector(object):
|
||||
_LOGGER.addHandler(_f_handler)
|
||||
_LOGGER.setLevel(logging.INFO)
|
||||
|
||||
- @staticmethod
|
||||
- def _set_resource_usage_cgroups(cpu_cgroup_path, memory_cgroup_path):
|
||||
- cpu_cgroup = CpuCgroup(AGENT_LOG_COLLECTOR, cpu_cgroup_path)
|
||||
- msg = "Started tracking cpu cgroup {0}".format(cpu_cgroup)
|
||||
- _LOGGER.info(msg)
|
||||
- cpu_cgroup.initialize_cpu_usage()
|
||||
- memory_cgroup = MemoryCgroup(AGENT_LOG_COLLECTOR, memory_cgroup_path)
|
||||
- msg = "Started tracking memory cgroup {0}".format(memory_cgroup)
|
||||
- _LOGGER.info(msg)
|
||||
- return [cpu_cgroup, memory_cgroup]
|
||||
-
|
||||
@staticmethod
|
||||
def _initialize_telemetry():
|
||||
protocol = get_protocol_util().get_protocol(init_goal_state=False)
|
||||
diff --git a/azurelinuxagent/ga/collect_logs.py b/azurelinuxagent/ga/collect_logs.py
|
||||
index 95c42f3a..4f42e149 100644
|
||||
--- a/azurelinuxagent/ga/collect_logs.py
|
||||
+++ b/azurelinuxagent/ga/collect_logs.py
|
||||
@@ -83,16 +83,16 @@ class CollectLogsHandler(ThreadHandlerInterface):
|
||||
return CollectLogsHandler._THREAD_NAME
|
||||
|
||||
@staticmethod
|
||||
- def enable_cgroups_validation():
|
||||
+ def enable_monitor_cgroups_check():
|
||||
os.environ[CollectLogsHandler.__CGROUPS_FLAG_ENV_VARIABLE] = "1"
|
||||
|
||||
@staticmethod
|
||||
- def disable_cgroups_validation():
|
||||
+ def disable_monitor_cgroups_check():
|
||||
if CollectLogsHandler.__CGROUPS_FLAG_ENV_VARIABLE in os.environ:
|
||||
del os.environ[CollectLogsHandler.__CGROUPS_FLAG_ENV_VARIABLE]
|
||||
|
||||
@staticmethod
|
||||
- def should_validate_cgroups():
|
||||
+ def is_enabled_monitor_cgroups_check():
|
||||
if CollectLogsHandler.__CGROUPS_FLAG_ENV_VARIABLE in os.environ:
|
||||
return os.environ[CollectLogsHandler.__CGROUPS_FLAG_ENV_VARIABLE] == "1"
|
||||
return False
|
||||
@@ -147,7 +147,7 @@ class CollectLogsHandler(ThreadHandlerInterface):
|
||||
time.sleep(_INITIAL_LOG_COLLECTION_DELAY)
|
||||
|
||||
try:
|
||||
- CollectLogsHandler.enable_cgroups_validation()
|
||||
+ CollectLogsHandler.enable_monitor_cgroups_check()
|
||||
if self.protocol_util is None or self.protocol is None:
|
||||
self.init_protocols()
|
||||
|
||||
@@ -162,7 +162,7 @@ class CollectLogsHandler(ThreadHandlerInterface):
|
||||
except Exception as e:
|
||||
logger.error("An error occurred in the log collection thread; will exit the thread.\n{0}", ustr(e))
|
||||
finally:
|
||||
- CollectLogsHandler.disable_cgroups_validation()
|
||||
+ CollectLogsHandler.disable_monitor_cgroups_check()
|
||||
|
||||
def collect_and_send_logs(self):
|
||||
if self._collect_logs():
|
||||
diff --git a/tests/common/test_logcollector.py b/tests/common/test_logcollector.py
|
||||
index 521e0f23..bf402cc7 100644
|
||||
--- a/tests/common/test_logcollector.py
|
||||
+++ b/tests/common/test_logcollector.py
|
||||
@@ -212,7 +212,7 @@ diskinfo,""".format(folder_to_list, file_to_collect)
|
||||
|
||||
with patch("azurelinuxagent.common.logcollector.MANIFEST_NORMAL", manifest):
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
with open(self.output_results_file_path, "r") as fh:
|
||||
@@ -241,7 +241,7 @@ copy,{0}
|
||||
|
||||
with patch("azurelinuxagent.common.logcollector.MANIFEST_FULL", manifest):
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(is_full_mode=True, cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector(is_full_mode=True)
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
self._assert_archive_created(archive)
|
||||
@@ -255,7 +255,7 @@ copy,{0}
|
||||
# and combined they do not cross the archive size threshold.
|
||||
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
self._assert_archive_created(archive)
|
||||
@@ -277,7 +277,7 @@ copy,{0}
|
||||
# Set the size limit so that some files are too large to collect in full.
|
||||
with patch("azurelinuxagent.common.logcollector._FILE_SIZE_LIMIT", SMALL_FILE_SIZE):
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
self._assert_archive_created(archive)
|
||||
@@ -311,7 +311,7 @@ copy,{0}
|
||||
with patch("azurelinuxagent.common.logcollector._UNCOMPRESSED_ARCHIVE_SIZE_LIMIT", 10 * 1024 * 1024):
|
||||
with patch("azurelinuxagent.common.logcollector._MUST_COLLECT_FILES", must_collect_files):
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
self._assert_archive_created(archive)
|
||||
@@ -362,7 +362,7 @@ copy,{0}
|
||||
# Ensure the archive reflects the state of files on the disk at collection time. If a file was updated, it
|
||||
# needs to be updated in the archive, deleted if removed from disk, and added if not previously seen.
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
first_archive = log_collector.collect_logs_and_get_archive()
|
||||
self._assert_archive_created(first_archive)
|
||||
|
||||
@@ -433,7 +433,7 @@ copy,{0}
|
||||
with patch("azurelinuxagent.common.logcollector._MUST_COLLECT_FILES", must_collect_files):
|
||||
with patch("azurelinuxagent.common.logcollector._FILE_SIZE_LIMIT", SMALL_FILE_SIZE):
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
self._assert_archive_created(archive)
|
||||
@@ -455,7 +455,7 @@ copy,{0}
|
||||
with patch("azurelinuxagent.common.logcollector._MUST_COLLECT_FILES", must_collect_files):
|
||||
with patch("azurelinuxagent.common.logcollector._FILE_SIZE_LIMIT", SMALL_FILE_SIZE):
|
||||
with patch('azurelinuxagent.common.logcollector.LogCollector._initialize_telemetry'):
|
||||
- log_collector = LogCollector(cpu_cgroup_path="dummy_cpu_path", memory_cgroup_path="dummy_memory_path")
|
||||
+ log_collector = LogCollector()
|
||||
second_archive = log_collector.collect_logs_and_get_archive()
|
||||
|
||||
expected_files = [
|
||||
diff --git a/tests/test_agent.py b/tests/test_agent.py
|
||||
index f0f773f0..f5e87c87 100644
|
||||
--- a/tests/test_agent.py
|
||||
+++ b/tests/test_agent.py
|
||||
@@ -231,7 +231,7 @@ class TestAgent(AgentTestCase):
|
||||
@patch("azurelinuxagent.agent.LogCollector")
|
||||
def test_calls_collect_logs_on_valid_cgroups(self, mock_log_collector):
|
||||
try:
|
||||
- CollectLogsHandler.enable_cgroups_validation()
|
||||
+ CollectLogsHandler.enable_monitor_cgroups_check()
|
||||
mock_log_collector.run = Mock()
|
||||
|
||||
def mock_cgroup_paths(*args, **kwargs):
|
||||
@@ -246,12 +246,12 @@ class TestAgent(AgentTestCase):
|
||||
|
||||
mock_log_collector.assert_called_once()
|
||||
finally:
|
||||
- CollectLogsHandler.disable_cgroups_validation()
|
||||
+ CollectLogsHandler.disable_monitor_cgroups_check()
|
||||
|
||||
@patch("azurelinuxagent.agent.LogCollector")
|
||||
def test_doesnt_call_collect_logs_on_invalid_cgroups(self, mock_log_collector):
|
||||
try:
|
||||
- CollectLogsHandler.enable_cgroups_validation()
|
||||
+ CollectLogsHandler.enable_monitor_cgroups_check()
|
||||
mock_log_collector.run = Mock()
|
||||
|
||||
def mock_cgroup_paths(*args, **kwargs):
|
||||
@@ -270,7 +270,7 @@ class TestAgent(AgentTestCase):
|
||||
mock_exit.assert_called_once_with(logcollector.INVALID_CGROUPS_ERRCODE)
|
||||
self.assertEqual(exit_error, re)
|
||||
finally:
|
||||
- CollectLogsHandler.disable_cgroups_validation()
|
||||
+ CollectLogsHandler.disable_monitor_cgroups_check()
|
||||
|
||||
def test_it_should_parse_setup_firewall_properly(self):
|
||||
|
||||
--
|
||||
2.39.3
|
||||
|
Loading…
Reference in New Issue
Block a user