From 3512a95d3dafd573ce8f8e9921bfded1472a3ea9 Mon Sep 17 00:00:00 2001 From: Vitaly Kuznetsov Date: Fri, 22 Apr 2022 08:51:13 +0200 Subject: [PATCH] Update to 2.7.0.6 (#2040980) Signed-off-by: Vitaly Kuznetsov --- .gitignore | 1 + ...-Install-systemd-unit-for-default-OS.patch | 42 ------ ...Rudimentary-Fedora-OS-implementation.patch | 136 ++++++++++++++++++ WALinuxAgent.spec | 11 +- sources | 2 +- 5 files changed, 146 insertions(+), 46 deletions(-) delete mode 100644 0001-Install-systemd-unit-for-default-OS.patch create mode 100644 0001-Rudimentary-Fedora-OS-implementation.patch diff --git a/.gitignore b/.gitignore index 082e2c9..a9bfadd 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /v2.3.0.2.tar.gz /v2.3.1.1.tar.gz /v2.5.0.2.tar.gz +/v2.7.0.6.tar.gz diff --git a/0001-Install-systemd-unit-for-default-OS.patch b/0001-Install-systemd-unit-for-default-OS.patch deleted file mode 100644 index 3561c77..0000000 --- a/0001-Install-systemd-unit-for-default-OS.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 53a8080be30553ecbd9262d721c9d3374b8e48e5 Mon Sep 17 00:00:00 2001 -From: Vitaly Kuznetsov -Date: Thu, 3 Jun 2021 12:48:02 +0200 -Subject: [PATCH] Install systemd unit for 'default' OS - -Fedora is not in the list but uses systemd and not sysv. - -Signed-off-by: Vitaly Kuznetsov ---- - azurelinuxagent/common/osutil/default.py | 2 +- - setup.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/azurelinuxagent/common/osutil/default.py b/azurelinuxagent/common/osutil/default.py -index 066e143136d7..fcb7d9b857dd 100644 ---- a/azurelinuxagent/common/osutil/default.py -+++ b/azurelinuxagent/common/osutil/default.py -@@ -146,7 +146,7 @@ class DefaultOSUtil(object): - - @staticmethod - def get_systemd_unit_file_install_path(): -- return "/lib/systemd/system" -+ return "/usr/lib/systemd/system" - - @staticmethod - def get_agent_bin_path(): -diff --git a/setup.py b/setup.py -index c258e4b878cc..b2ed8f4cde36 100755 ---- a/setup.py -+++ b/setup.py -@@ -194,7 +194,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) -- set_sysv_files(data_files) -+ set_systemd_files(data_files, dest=systemd_dir_path) - return data_files - - --- -2.31.1 - diff --git a/0001-Rudimentary-Fedora-OS-implementation.patch b/0001-Rudimentary-Fedora-OS-implementation.patch new file mode 100644 index 0000000..3c44755 --- /dev/null +++ b/0001-Rudimentary-Fedora-OS-implementation.patch @@ -0,0 +1,136 @@ +From e236dc20fbda54d040960615a93565be9c4bdae7 Mon Sep 17 00:00:00 2001 +From: Vitaly Kuznetsov +Date: Fri, 22 Apr 2022 16:16:19 +0200 +Subject: [PATCH] Rudimentary Fedora OS implementation +Content-Type: text/plain + +Signed-off-by: Vitaly Kuznetsov +--- + azurelinuxagent/common/osutil/factory.py | 4 ++ + azurelinuxagent/common/osutil/fedora.py | 75 ++++++++++++++++++++++++ + setup.py | 6 ++ + 3 files changed, 85 insertions(+) + create mode 100644 azurelinuxagent/common/osutil/fedora.py + +diff --git a/azurelinuxagent/common/osutil/factory.py b/azurelinuxagent/common/osutil/factory.py +index b8f4291b3ea4..625978569880 100644 +--- a/azurelinuxagent/common/osutil/factory.py ++++ b/azurelinuxagent/common/osutil/factory.py +@@ -39,6 +39,7 @@ from .suse import SUSEOSUtil, SUSE11OSUtil + from .photonos import PhotonOSUtil + from .ubuntu import UbuntuOSUtil, Ubuntu12OSUtil, Ubuntu14OSUtil, \ + UbuntuSnappyOSUtil, Ubuntu16OSUtil, Ubuntu18OSUtil ++from .fedora import FedoraOSUtil + + + def get_osutil(distro_name=DISTRO_NAME, +@@ -138,5 +139,8 @@ def _get_osutil(distro_name, distro_code_name, distro_version, distro_full_name) + if distro_name == "openwrt": + return OpenWRTOSUtil() + ++ if distro_name == "fedora": ++ return FedoraOSUtil() ++ + logger.warn("Unable to load distro implementation for {0}. Using default distro implementation instead.", distro_name) + return DefaultOSUtil() +diff --git a/azurelinuxagent/common/osutil/fedora.py b/azurelinuxagent/common/osutil/fedora.py +new file mode 100644 +index 000000000000..480f139a87ed +--- /dev/null ++++ b/azurelinuxagent/common/osutil/fedora.py +@@ -0,0 +1,75 @@ ++# ++# Copyright 2022 Red Hat Inc. ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++# ++# Requires Python 2.6+ and Openssl 1.0+ ++# ++ ++import azurelinuxagent.common.utils.shellutil as shellutil ++from azurelinuxagent.common.osutil.default import DefaultOSUtil ++ ++ ++class FedoraOSUtil(DefaultOSUtil): ++ ++ def __init__(self): ++ super(FedoraOSUtil, self).__init__() ++ self.agent_conf_file_path = '/etc/waagent.conf' ++ ++ @staticmethod ++ def get_systemd_unit_file_install_path(): ++ return '/usr/lib/systemd/system' ++ ++ @staticmethod ++ def get_agent_bin_path(): ++ return '/usr/sbin' ++ ++ def is_dhcp_enabled(self): ++ return True ++ ++ def start_network(self): ++ pass ++ ++ def restart_if(self, ifname=None, retries=None, wait=None): ++ retry_limit = retries+1 ++ for attempt in range(1, retry_limit): ++ 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") ++ ++ def restart_ssh_service(self): ++ shellutil.run('systemctl restart sshd') ++ ++ def stop_dhcp_service(self): ++ pass ++ ++ def start_dhcp_service(self): ++ pass ++ ++ def start_agent_service(self): ++ return shellutil.run('systemctl start waagent', chk_err=False) ++ ++ def stop_agent_service(self): ++ return shellutil.run('systemctl stop waagent', chk_err=False) ++ ++ def get_dhcp_pid(self): ++ return self._get_dhcp_pid(["pidof", "dhclient"]) ++ ++ def conf_sshd(self, disable_password): ++ pass +diff --git a/setup.py b/setup.py +index 12c9e1d61979..b0acead305b5 100755 +--- a/setup.py ++++ b/setup.py +@@ -238,6 +238,12 @@ def get_data_files(name, version, fullname): # pylint: disable=R0912 + set_conf_files(data_files, src=["config/photonos/waagent.conf"]) + set_systemd_files(data_files, dest=systemd_dir_path, + src=["init/photonos/waagent.service"]) ++ elif name == 'fedora': ++ set_bin_files(data_files, dest=agent_bin_path) ++ set_conf_files(data_files) ++ set_logrotate_files(data_files) ++ set_udev_files(data_files) ++ set_systemd_files(data_files, dest=systemd_dir_path) + else: + # Use default setting + set_bin_files(data_files, dest=agent_bin_path) +-- +2.35.1 + diff --git a/WALinuxAgent.spec b/WALinuxAgent.spec index b13ca9d..990cd83 100644 --- a/WALinuxAgent.spec +++ b/WALinuxAgent.spec @@ -2,8 +2,8 @@ %global dracut_modname 97walinuxagent Name: WALinuxAgent -Version: 2.5.0.2 -Release: 2%{?dist} +Version: 2.7.0.6 +Release: 1%{?dist} Summary: The Microsoft Azure Linux Agent License: ASL 2.0 @@ -11,7 +11,7 @@ URL: https://github.com/Azure/%{name} Source0: https://github.com/Azure/%{name}/archive/v%{version}.tar.gz Source1: module-setup.sh -Patch0: 0001-Install-systemd-unit-for-default-OS.patch +Patch0: 0001-Rudimentary-Fedora-OS-implementation.patch BuildArch: noarch @@ -106,6 +106,8 @@ install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modnam %{_sbindir}/waagent %config(noreplace) %{_sysconfdir}/waagent.conf %{_unitdir}/waagent.service +%{_unitdir}/azure.slice +%{_unitdir}/azure-vmextensions.slice %{python3_sitelib}/azurelinuxagent %{python3_sitelib}/*.egg-info @@ -119,6 +121,9 @@ install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modnam %endif %changelog +* Fri Apr 22 2022 Vitaly Kuznetsov - 2.7.0.6-1 +- Update to 2.7.0.6 (#2040980) + * Wed Jan 19 2022 Fedora Release Engineering - 2.5.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index 177047c..ce5cd47 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (v2.5.0.2.tar.gz) = e3b81ad767e42cfc0884c5adfb08912da725dcd14f9ee2f0003c101ed0a370c47f37141e504cbe6d2860e52581e714565b7815685d8b6e6792af7dae7d3cc29e +SHA512 (v2.7.0.6.tar.gz) = b23c9c31014d5f5e31952bb97babfcf45058fa2826d3ca167ee87d432a9459b99ce1b823e7c7e83933f8389368ee47d76398dd514ce0a3b27bfb47ba4e44a17b SHA512 (module-setup.sh) = c05ed7395006c78bae1a7727b64c4b00a14e2c37e0d8a6ae7c05905a86d4ba638a2b98e4642ecd9a98db38298ff99f4877f900965a97f933b9aa034488835394