Update to 2.9.1.1 (#2232763)

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
This commit is contained in:
Vitaly Kuznetsov 2023-10-18 14:33:13 +02:00
parent 7401651155
commit 053021fe92
4 changed files with 8 additions and 142 deletions

1
.gitignore vendored
View File

@ -22,3 +22,4 @@
/v2.7.3.0.tar.gz
/v2.8.0.11.tar.gz
/v2.9.0.4.tar.gz
/v2.9.1.1.tar.gz

View File

@ -1,136 +0,0 @@
From e236dc20fbda54d040960615a93565be9c4bdae7 Mon Sep 17 00:00:00 2001
From: Vitaly Kuznetsov <vkuznets@redhat.com>
Date: Fri, 22 Apr 2022 16:16:19 +0200
Subject: [PATCH] Rudimentary Fedora OS implementation
Content-Type: text/plain
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
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

View File

@ -2,8 +2,8 @@
%global dracut_modname 97walinuxagent
Name: WALinuxAgent
Version: 2.9.0.4
Release: 4%{?dist}
Version: 2.9.1.1
Release: 1%{?dist}
Summary: The Microsoft Azure Linux Agent
License: Apache-2.0
@ -11,7 +11,6 @@ URL: https://github.com/Azure/%{name}
Source0: https://github.com/Azure/%{name}/archive/v%{version}.tar.gz
Source1: module-setup.sh
Patch0: 0001-Rudimentary-Fedora-OS-implementation.patch
Patch1: 0001-waagent.service-set-ConditionVirtualization-microsof.patch
BuildArch: noarch
@ -59,7 +58,6 @@ Udev rules specific to Microsoft Azure Virtual Machines.
%prep
%setup -q
%patch0 -p1
%patch 1 -p1
%build
@ -123,6 +121,9 @@ install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modnam
%endif
%changelog
* 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

View File

@ -1 +1 @@
SHA512 (v2.9.0.4.tar.gz) = 3cc7c7d8ad349bbe4059887f9212121931410bd56828e966223638441a81344b77eba38d84f1e99b04421bf2efc80844f2e2ae08ad5703a0b545ced57fdc324d
SHA512 (v2.9.1.1.tar.gz) = 3f44aecc16ac545db4b550586f168dbbdef34289aad6775973517bf645e5a1d486864c01e974f03a71b3e946c14e1ca140673a75c1cd602aac28725eaa68e83d