Sync from SUSE:SLFO:Main python-azure-agent revision 904ec033535a3389003db3ad41b69ed0
This commit is contained in:
commit
63c0bfff3c
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
BIN
WALinuxAgent-2.9.1.1.tar.gz
(Stored with Git LFS)
Normal file
BIN
WALinuxAgent-2.9.1.1.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
11
agent-micro-is-sles.patch
Normal file
11
agent-micro-is-sles.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- azurelinuxagent/common/osutil/factory.py.orig
|
||||
+++ azurelinuxagent/common/osutil/factory.py
|
||||
@@ -90,7 +90,7 @@ def _get_osutil(distro_name, distro_code
|
||||
if distro_name in ("flatcar", "coreos") or distro_code_name in ("flatcar", "coreos"):
|
||||
return CoreOSUtil()
|
||||
|
||||
- if distro_name in ("suse", "sle_hpc", "sles", "opensuse"):
|
||||
+ if distro_name in ("suse", "sle-micro", "sle_hpc", "sles", "opensuse"):
|
||||
if distro_full_name == 'SUSE Linux Enterprise Server' \
|
||||
and Version(distro_version) < Version('12') \
|
||||
or distro_full_name == 'openSUSE' and Version(distro_version) < Version('13.2'):
|
11
agent-no-auto-update.patch
Normal file
11
agent-no-auto-update.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- config/suse/waagent.conf.orig
|
||||
+++ config/suse/waagent.conf
|
||||
@@ -109,7 +109,7 @@ OS.SshDir=/etc/ssh
|
||||
# OS.CheckRdmaDriver=y
|
||||
|
||||
# Enable or disable goal state processing auto-update, default is enabled
|
||||
-# AutoUpdate.Enabled=y
|
||||
+AutoUpdate.Enabled=n
|
||||
|
||||
# Determine the update family, this should not be changed
|
||||
# AutoUpdate.GAFamily=Prod
|
21
paa_12_sp5_rdma_no_ext_driver.patch
Normal file
21
paa_12_sp5_rdma_no_ext_driver.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- azurelinuxagent/pa/rdma/suse.py.orig
|
||||
+++ azurelinuxagent/pa/rdma/suse.py
|
||||
@@ -31,8 +31,17 @@ class SUSERDMAHandler(RDMAHandler):
|
||||
def install_driver(self): # pylint: disable=R1710
|
||||
"""Install the appropriate driver package for the RDMA firmware"""
|
||||
|
||||
+ suport_pci_passthrough = False
|
||||
+ if Version(DISTRO_VERSION) == Version('12'):
|
||||
+ release_data = open('/etc/os-release').read()
|
||||
+ if 'SP5' in release_data:
|
||||
+ suport_pci_passthrough = True
|
||||
+
|
||||
if Version(DISTRO_VERSION) >= Version('15'):
|
||||
- msg = 'SLE 15 and later only supports PCI pass through, no '
|
||||
+ suport_pci_passthrough = True
|
||||
+
|
||||
+ if suport_pci_passthrough:
|
||||
+ msg = 'SLE 12 SP5 and later only supports PCI pass through, no '
|
||||
msg += 'special driver needed for IB interface'
|
||||
logger.info(msg)
|
||||
return True
|
19
paa_force_py3_sle15.patch
Normal file
19
paa_force_py3_sle15.patch
Normal file
@ -0,0 +1,19 @@
|
||||
--- bin/waagent.orig
|
||||
+++ bin/waagent
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/python3
|
||||
#
|
||||
# Azure Linux Agent
|
||||
#
|
||||
--- init/waagent.service.orig
|
||||
+++ init/waagent.service
|
||||
@@ -8,7 +8,7 @@ ConditionPathExists=/etc/waagent.conf
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
-ExecStart=/usr/bin/python -u /usr/sbin/waagent -daemon
|
||||
+ExecStart=/usr/bin/python3 -u /usr/sbin/waagent -daemon
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
1060
python-azure-agent.changes
Normal file
1060
python-azure-agent.changes
Normal file
File diff suppressed because it is too large
Load Diff
332
python-azure-agent.spec
Normal file
332
python-azure-agent.spec
Normal file
@ -0,0 +1,332 @@
|
||||
#
|
||||
# spec file for package python-azure-agent
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: python-azure-agent
|
||||
Summary: Microsoft Azure Linux Agent
|
||||
License: Apache-2.0
|
||||
Group: System/Daemons
|
||||
Version: 2.9.1.1
|
||||
Release: 0
|
||||
URL: https://github.com/Azure/WALinuxAgent
|
||||
Source0: WALinuxAgent-%{version}.tar.gz
|
||||
Patch1: agent-no-auto-update.patch
|
||||
Patch6: paa_force_py3_sle15.patch
|
||||
Patch7: reset-dhcp-deprovision.patch
|
||||
Patch8: paa_12_sp5_rdma_no_ext_driver.patch
|
||||
# PATCH-FIX-UPSTREAM gh#Azure/WALinuxAgent#2741
|
||||
Patch9: remove-mock.patch
|
||||
Patch10: agent-micro-is-sles.patch
|
||||
BuildRequires: dos2unix
|
||||
|
||||
BuildRequires: distribution-release
|
||||
BuildRequires: openssl
|
||||
BuildRequires: python-rpm-macros
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
BuildRequires: python3-distro
|
||||
BuildRequires: python3-setuptools
|
||||
%else
|
||||
BuildRequires: python-setuptools
|
||||
BuildRequires: python-xml
|
||||
%endif
|
||||
BuildRequires: pkgconfig(udev)
|
||||
Requires: eject
|
||||
Requires: grep
|
||||
Requires: iptables
|
||||
Requires: logrotate
|
||||
Requires: openssh
|
||||
Requires: openssl
|
||||
Requires: pwdutils
|
||||
Requires: systemd
|
||||
Requires: sysvinit-tools
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1500
|
||||
Requires: wicked
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
Requires: python3-distro
|
||||
Requires: python3-pyasn1
|
||||
Requires: python3-xml
|
||||
%else
|
||||
Requires: python-pyasn1
|
||||
Requires: python-xml
|
||||
%endif
|
||||
Requires: sudo
|
||||
Requires: util-linux
|
||||
|
||||
# Package renamed in SLE 12, do not remove Provides, Obsolete directives
|
||||
# until after SLE 12 EOL
|
||||
Provides: WALinuxAgent = %{version}
|
||||
Obsoletes: WALinuxAgent < %{version}
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
The azure-agent supports the provisioning and running of Linux
|
||||
VMs in the Microsoft Azure Public Cloud and Microsoft Azure Stack private
|
||||
cloud. This package should be installed on Linux disk
|
||||
images that are built to run withing the Microsoft Azure or
|
||||
Microsoft Azure Stack framework.
|
||||
|
||||
%package test
|
||||
Summary: Unit tests
|
||||
Group: Development/Languages/Python
|
||||
Requires: %{name} == %{version}
|
||||
Requires: openssl
|
||||
%if 0%{?suse_version} > 1315
|
||||
Requires: python3-pytest
|
||||
%else
|
||||
Requires: python-mock
|
||||
Requires: python-pytest
|
||||
%endif
|
||||
|
||||
%description test
|
||||
Unit tests for python-azure-agent.
|
||||
|
||||
%package config-default
|
||||
Summary: Default upstream configuration
|
||||
Group: Development/Languages/Python
|
||||
Requires: %{name} == %{version}
|
||||
Provides: waagent-config
|
||||
Conflicts: otherproviders(waagent-config)
|
||||
|
||||
%description config-default
|
||||
The default configuration for the agent as supplied by upstream for SUSE
|
||||
|
||||
%package config-server
|
||||
Summary: SUSE specific configuration for server products
|
||||
Group: Development/Languages/Python
|
||||
Requires: %{name} == %{version}
|
||||
Provides: waagent-config
|
||||
Conflicts: otherproviders(waagent-config)
|
||||
|
||||
%description config-server
|
||||
Modified waagent.conf file to meet SUSE policies and SUSE image build
|
||||
setup
|
||||
|
||||
%package config-hpc
|
||||
Summary: SUSE specific configuration for HPC
|
||||
Group: Development/Languages/Python
|
||||
Requires: %{name} == %{version}
|
||||
Provides: waagent-config
|
||||
Conflicts: otherproviders(waagent-config)
|
||||
|
||||
%description config-hpc
|
||||
Modified waagent.conf file to meet SUSE policies and SUSE image build
|
||||
setup
|
||||
|
||||
%package config-micro
|
||||
Summary: SUSE specific configuration for Micro
|
||||
Group: Development/Languages/Python
|
||||
Requires: %{name} == %{version}
|
||||
Provides: waagent-config
|
||||
Conflicts: otherproviders(waagent-config)
|
||||
|
||||
%description config-micro
|
||||
Modified waagent.conf file to meet SUSE policies and SUSE image build
|
||||
setup
|
||||
|
||||
%prep
|
||||
%setup -qn WALinuxAgent-%{version}
|
||||
%patch -P 1
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315 && 0%{?sle_version}
|
||||
%patch -P 6
|
||||
%endif
|
||||
%patch -P 7
|
||||
%patch -P 8
|
||||
%patch -P 9 -p1
|
||||
%patch -P 10
|
||||
|
||||
%build
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
python3 setup.py build
|
||||
%else
|
||||
python setup.py build
|
||||
%endif
|
||||
|
||||
%install
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
python3 setup.py install --prefix=%{_prefix} --lnx-distro='suse' --root=%{buildroot}
|
||||
%else
|
||||
python setup.py install --prefix=%{_prefix} --lnx-distro='suse' --root=%{buildroot}
|
||||
%endif
|
||||
|
||||
# Config file flavor setup
|
||||
cp %{buildroot}%{_sysconfdir}/waagent.conf %{buildroot}%{_sysconfdir}/waagent.conf.default
|
||||
# No autoupdate of binaries for any SUSE product
|
||||
sed -i -e "s/# AutoUpdate.Enabled=y/AutoUpdate.Enabled=n/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
# Common settings for most SUSE products
|
||||
# Generate all supported SSH host key types
|
||||
sed -i -e "s/SshHostKeyPairType=rsa/SshHostKeyPairType=auto/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
# We use clod-init
|
||||
sed -i -e "s/Provisioning.Agent=auto/Provisioning.Agent=cloud-init/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
# Leave the ephemeral disk handling to cloud-init
|
||||
sed -i -e "s/ResourceDisk.Format=y/ResourceDisk.Format=n/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
cp %{buildroot}%{_sysconfdir}/waagent.conf %{buildroot}%{_sysconfdir}/waagent.conf.server
|
||||
# HPC setup is addition to SUSE server configuration
|
||||
# While there is no more specific driver we still need to enable
|
||||
# RDMA to make the logic in the agent set up the IB interface
|
||||
sed -i -e "s/# OS.EnableRDMA=y/OS.EnableRDMA=y/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
cp %{buildroot}%{_sysconfdir}/waagent.conf %{buildroot}%{_sysconfdir}/waagent.conf.hpc
|
||||
# Micro setup
|
||||
# Undo the HPC change
|
||||
sed -i -e "s/OS.EnableRDMA=y/# OS.EnableRDMA=y/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
# Use Ignition/Afterburn in Micro
|
||||
sed -i -e "s/Provisioning.Agent=cloud-init/Provisioning.Agent=disabled/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
# No extension support for transactional-upfdate systems
|
||||
# There's an inherant bug in that root password reset is also treated via this
|
||||
# switch
|
||||
sed -i -e "s/Extensions.Enabled=y/Extensions.Enabled=n/" %{buildroot}%{_sysconfdir}/waagent.conf
|
||||
mv %{buildroot}%{_sysconfdir}/waagent.conf %{buildroot}%{_sysconfdir}/waagent.conf.micro
|
||||
|
||||
ln -s service %{buildroot}%{_sbindir}/rcwaagent
|
||||
mkdir -p %{buildroot}/%{_unitdir}
|
||||
|
||||
# Deal with logic embeded in the code that puts the unit file where we do not
|
||||
# want it, sometimes (depending on teh build environment)
|
||||
if [ -e %{buildroot}/lib/systemd/system ]; then
|
||||
mv %{buildroot}/lib/systemd/system/* %{buildroot}/%{_unitdir}
|
||||
fi
|
||||
|
||||
### udev rules
|
||||
%if 0%{?suse_version} < 1230
|
||||
mkdir -p %{buildroot}/lib/udev/rules.d
|
||||
mv %{buildroot}%{_sysconfdir}/udev/rules.d/* %{buildroot}/lib/udev/rules.d/
|
||||
%else
|
||||
mkdir -p %{buildroot}/usr/lib/udev/rules.d
|
||||
mv %{buildroot}%{_sysconfdir}/udev/rules.d/* %{buildroot}/usr/lib/udev/rules.d/
|
||||
%endif
|
||||
### log file ghost
|
||||
mkdir -p %{buildroot}/%{_localstatedir}/log
|
||||
touch %{buildroot}/%{_localstatedir}/log/waagent.log
|
||||
### permissinon fixes
|
||||
chmod +x %{buildroot}/%{_sbindir}/waagent2.0
|
||||
### naming issues
|
||||
%if 0%{?suse_version} > 1500
|
||||
mkdir -p %{buildroot}%{_distconfdir}/logrotate.d
|
||||
mv %{buildroot}/%{_sysconfdir}/logrotate.d/waagent.logrotate %{buildroot}/%{_distconfdir}/logrotate.d/waagent
|
||||
%else
|
||||
mv %{buildroot}/%{_sysconfdir}/logrotate.d/waagent.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/waagent
|
||||
%endif
|
||||
|
||||
# install tests
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
cp -r tests %{buildroot}/%{python3_sitelib}/azurelinuxagent
|
||||
%else
|
||||
cp -r tests %{buildroot}/%{python_sitelib}/azurelinuxagent
|
||||
%endif
|
||||
|
||||
%pre
|
||||
%service_add_pre waagent.service
|
||||
%if 0%{?suse_version} > 1500
|
||||
# Prepare for migration to /usr/etc; save any old .rpmsave
|
||||
for i in logrotate.d/waagent ; do
|
||||
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
|
||||
done
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
%posttrans
|
||||
# Migration to /usr/etc, restore just created .rpmsave
|
||||
for i in logrotate.d/waagent ; do
|
||||
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
|
||||
done
|
||||
%endif
|
||||
|
||||
%post
|
||||
%service_add_post waagent.service
|
||||
|
||||
%preun
|
||||
%service_del_preun waagent.service
|
||||
|
||||
%postun
|
||||
%restart_on_update waagent
|
||||
%service_del_postun waagent.service
|
||||
|
||||
%post config-default
|
||||
rm -rf %{_sysconfdir}/waagent.conf
|
||||
ln -s %{_sysconfdir}/waagent.conf.default %{_sysconfdir}/waagent.conf
|
||||
|
||||
%post config-server
|
||||
rm -rf %{_sysconfdir}/waagent.conf
|
||||
ln -s %{_sysconfdir}/waagent.conf.server %{_sysconfdir}/waagent.conf
|
||||
|
||||
%post config-hpc
|
||||
rm -rf %{_sysconfdir}/waagent.conf
|
||||
ln -s %{_sysconfdir}/waagent.conf.hpc %{_sysconfdir}/waagent.conf
|
||||
|
||||
%post config-micro
|
||||
rm -rf %{_sysconfdir}/waagent.conf
|
||||
ln -s %{_sysconfdir}/waagent.conf.micro %{_sysconfdir}/waagent.conf
|
||||
|
||||
%files
|
||||
%defattr(0644,root,root,0755)
|
||||
%doc NOTICE README.md
|
||||
%license LICENSE.txt
|
||||
%exclude %{_sysconfdir}/waagent.conf*
|
||||
%{_sbindir}/rcwaagent
|
||||
%attr(0755,root,root) %{_sbindir}/waagent
|
||||
%attr(0755,root,root) %{_sbindir}/waagent2.0
|
||||
%if 0%{?suse_version} > 1500
|
||||
%{_distconfdir}/logrotate.d/waagent
|
||||
%else
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/waagent
|
||||
%endif
|
||||
%ghost %{_localstatedir}/log/waagent.log
|
||||
%{_unitdir}/waagent.service
|
||||
%if 0%{?suse_version} < 1230
|
||||
/lib/udev/rules.d/66-azure-storage.rules
|
||||
/lib/udev/rules.d/99-azure-product-uuid.rules
|
||||
%else
|
||||
/usr/lib/udev/rules.d/66-azure-storage.rules
|
||||
/usr/lib/udev/rules.d/99-azure-product-uuid.rules
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
%dir %{python3_sitelib}/azurelinuxagent
|
||||
%{python3_sitelib}
|
||||
%exclude %{python3_sitelib}/azurelinuxagent/tests
|
||||
%else
|
||||
%dir %{python_sitelib}/azurelinuxagent
|
||||
%{python_sitelib}
|
||||
%exclude %{python_sitelib}/azurelinuxagent/tests
|
||||
%endif
|
||||
|
||||
%files test
|
||||
%defattr(0644,root,root,0755)
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1315
|
||||
%{python3_sitelib}/azurelinuxagent/tests
|
||||
%else
|
||||
%{python_sitelib}/azurelinuxagent/tests
|
||||
%endif
|
||||
|
||||
%files config-default
|
||||
%ghost %{_sysconfdir}/waagent.conf
|
||||
%config(noreplace) %{_sysconfdir}/waagent.conf.default
|
||||
|
||||
%files config-server
|
||||
%ghost %{_sysconfdir}/waagent.conf
|
||||
%config(noreplace) %{_sysconfdir}/waagent.conf.server
|
||||
|
||||
%files config-hpc
|
||||
%ghost %{_sysconfdir}/waagent.conf
|
||||
%config(noreplace) %{_sysconfdir}/waagent.conf.hpc
|
||||
|
||||
%files config-micro
|
||||
%ghost %{_sysconfdir}/waagent.conf
|
||||
%config(noreplace) %{_sysconfdir}/waagent.conf.micro
|
||||
|
||||
%changelog
|
160
remove-mock.patch
Normal file
160
remove-mock.patch
Normal file
@ -0,0 +1,160 @@
|
||||
Index: WALinuxAgent-2.9.1.1/tests/common/dhcp/test_dhcp.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/common/dhcp/test_dhcp.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/common/dhcp/test_dhcp.py
|
||||
@@ -15,7 +15,10 @@
|
||||
# Requires Python 2.6+ and Openssl 1.0+
|
||||
#
|
||||
|
||||
-import mock
|
||||
+try:
|
||||
+ from unittest import mock
|
||||
+except ImportError:
|
||||
+ import mock
|
||||
import azurelinuxagent.common.dhcp as dhcp
|
||||
import azurelinuxagent.common.osutil.default as osutil
|
||||
from tests.tools import AgentTestCase, open_patch, patch
|
||||
Index: WALinuxAgent-2.9.1.1/tests/common/osutil/test_default.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/common/osutil/test_default.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/common/osutil/test_default.py
|
||||
@@ -22,7 +22,10 @@ import subprocess
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
-import mock
|
||||
+try:
|
||||
+ from unittest import mock
|
||||
+except ImportError:
|
||||
+ import mock
|
||||
|
||||
import azurelinuxagent.common.conf as conf
|
||||
import azurelinuxagent.common.osutil.default as osutil
|
||||
Index: WALinuxAgent-2.9.1.1/tests/common/test_event.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/common/test_event.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/common/test_event.py
|
||||
@@ -26,7 +26,10 @@ import threading
|
||||
import xml.dom
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
-from mock import MagicMock
|
||||
+try:
|
||||
+ from unittest.mock import MagicMock
|
||||
+except ImportError:
|
||||
+ from mock import MagicMock
|
||||
|
||||
from azurelinuxagent.common.utils import textutil, fileutil
|
||||
from azurelinuxagent.common import event, logger
|
||||
Index: WALinuxAgent-2.9.1.1/tests/common/test_version.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/common/test_version.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/common/test_version.py
|
||||
@@ -20,7 +20,10 @@ from __future__ import print_function
|
||||
import os
|
||||
import textwrap
|
||||
|
||||
-import mock
|
||||
+try:
|
||||
+ from unittest import mock
|
||||
+except ImportError:
|
||||
+ import mock
|
||||
|
||||
import azurelinuxagent.common.conf as conf
|
||||
from azurelinuxagent.common.future import ustr
|
||||
Index: WALinuxAgent-2.9.1.1/tests/distro/test_scvmm.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/distro/test_scvmm.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/distro/test_scvmm.py
|
||||
@@ -20,7 +20,10 @@
|
||||
import os
|
||||
import unittest
|
||||
|
||||
-import mock
|
||||
+try:
|
||||
+ from unittest import mock
|
||||
+except ImportError:
|
||||
+ import mock
|
||||
|
||||
import azurelinuxagent.daemon.scvmm as scvmm
|
||||
from azurelinuxagent.common import conf
|
||||
Index: WALinuxAgent-2.9.1.1/tests/ga/mocks.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/ga/mocks.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/ga/mocks.py
|
||||
@@ -17,7 +17,10 @@
|
||||
|
||||
import contextlib
|
||||
|
||||
-from mock import PropertyMock
|
||||
+try:
|
||||
+ from unittest.mock import PropertyMock
|
||||
+except ImportError:
|
||||
+ from mock import PropertyMock
|
||||
from azurelinuxagent.ga.exthandlers import ExtHandlersHandler
|
||||
from azurelinuxagent.ga.remoteaccess import RemoteAccessHandler
|
||||
from azurelinuxagent.ga.update import UpdateHandler, get_update_handler
|
||||
Index: WALinuxAgent-2.9.1.1/tests/ga/test_collect_telemetry_events.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/ga/test_collect_telemetry_events.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/ga/test_collect_telemetry_events.py
|
||||
@@ -26,7 +26,10 @@ import string
|
||||
import uuid
|
||||
from collections import defaultdict
|
||||
|
||||
-from mock import patch, MagicMock
|
||||
+try:
|
||||
+ from unittest.mock import patch, MagicMock
|
||||
+except ImportError:
|
||||
+ from mock import patch, MagicMock
|
||||
|
||||
from azurelinuxagent.common import conf
|
||||
from azurelinuxagent.common.event import EVENTS_DIRECTORY
|
||||
Index: WALinuxAgent-2.9.1.1/tests/ga/test_remoteaccess_handler.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/ga/test_remoteaccess_handler.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/ga/test_remoteaccess_handler.py
|
||||
@@ -16,7 +16,10 @@
|
||||
#
|
||||
from datetime import timedelta, datetime
|
||||
|
||||
-from mock import Mock, MagicMock
|
||||
+try:
|
||||
+ from unittest.mock import Mock, MagicMock
|
||||
+except ImportError:
|
||||
+ from mock import Mock, MagicMock
|
||||
from azurelinuxagent.common.osutil.default import DefaultOSUtil
|
||||
from azurelinuxagent.common.protocol.goal_state import RemoteAccess
|
||||
from azurelinuxagent.common.protocol.util import ProtocolUtil
|
||||
Index: WALinuxAgent-2.9.1.1/tests/ga/test_send_telemetry_events.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/ga/test_send_telemetry_events.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/ga/test_send_telemetry_events.py
|
||||
@@ -24,7 +24,10 @@ import time
|
||||
import uuid
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
-from mock import MagicMock, Mock, patch, PropertyMock
|
||||
+try:
|
||||
+ from unittest.mock import MagicMock, Mock, patch, PropertyMock
|
||||
+except ImportError:
|
||||
+ from mock import MagicMock, Mock, patch, PropertyMock
|
||||
|
||||
from azurelinuxagent.common import logger
|
||||
from azurelinuxagent.common.datacontract import get_properties
|
||||
Index: WALinuxAgent-2.9.1.1/tests/utils/test_network_util.py
|
||||
===================================================================
|
||||
--- WALinuxAgent-2.9.1.1.orig/tests/utils/test_network_util.py
|
||||
+++ WALinuxAgent-2.9.1.1/tests/utils/test_network_util.py
|
||||
@@ -16,7 +16,10 @@
|
||||
#
|
||||
import subprocess
|
||||
|
||||
-from mock.mock import patch
|
||||
+try:
|
||||
+ from unittest.mock import patch
|
||||
+except ImportError:
|
||||
+ from mock import patch
|
||||
|
||||
import azurelinuxagent.common.utils.networkutil as networkutil
|
||||
from tests.tools import AgentTestCase
|
56
reset-dhcp-deprovision.patch
Normal file
56
reset-dhcp-deprovision.patch
Normal file
@ -0,0 +1,56 @@
|
||||
--- azurelinuxagent/pa/deprovision/factory.py.orig
|
||||
+++ azurelinuxagent/pa/deprovision/factory.py
|
||||
@@ -22,6 +22,7 @@ from .arch import ArchDeprovisionHandler
|
||||
from .clearlinux import ClearLinuxDeprovisionHandler
|
||||
from .coreos import CoreOSDeprovisionHandler
|
||||
from .default import DeprovisionHandler
|
||||
+from .suse import SUSEDeprovisionHandler
|
||||
from .ubuntu import UbuntuDeprovisionHandler, Ubuntu1804DeprovisionHandler
|
||||
|
||||
|
||||
@@ -39,6 +40,8 @@ def get_deprovision_handler(distro_name=
|
||||
return CoreOSDeprovisionHandler()
|
||||
if "Clear Linux" in distro_full_name:
|
||||
return ClearLinuxDeprovisionHandler() # pylint: disable=E1120
|
||||
+ if distro_name in ("suse", "sle_hpc", "sles", "opensuse"):
|
||||
+ return SUSEDeprovisionHandler()
|
||||
|
||||
return DeprovisionHandler()
|
||||
|
||||
--- /dev/null
|
||||
+++ azurelinuxagent/pa/deprovision/suse.py
|
||||
@@ -0,0 +1,34 @@
|
||||
+# Microsoft Azure Linux Agent
|
||||
+#
|
||||
+# Copyright 2022 Microsoft Corporation
|
||||
+#
|
||||
+# 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.fileutil as fileutil
|
||||
+from azurelinuxagent.pa.deprovision.default import DeprovisionHandler, \
|
||||
+ DeprovisionAction
|
||||
+
|
||||
+class SUSEDeprovisionHandler(DeprovisionHandler):
|
||||
+ def __init__(self):
|
||||
+ super(SUSEDeprovisionHandler, self).__init__()
|
||||
+
|
||||
+ def reset_hostname(self, warnings, actions):
|
||||
+ localhost = ["AUTO"]
|
||||
+ actions.append(DeprovisionAction(self.osutil.set_hostname,
|
||||
+ localhost))
|
||||
+ actions.append(DeprovisionAction(self.osutil.set_dhcp_hostname,
|
||||
+ localhost))
|
||||
+
|
Loading…
Reference in New Issue
Block a user