summaryrefslogtreecommitdiff
path: root/cloudinit/sources/helpers
diff options
context:
space:
mode:
authorChris Patterson <cpatterson@microsoft.com>2022-01-18 14:17:56 -0500
committerGitHub <noreply@github.com>2022-01-18 13:17:56 -0600
commit032a7f219e9c70b1314d75da96cd380364c416be (patch)
treed61bc9c6e291b3bd0078cd1b8d7d1184d8091883 /cloudinit/sources/helpers
parent4ba6fd283674df1ef25300d91c6d2061910744be (diff)
downloadvyos-cloud-init-032a7f219e9c70b1314d75da96cd380364c416be.tar.gz
vyos-cloud-init-032a7f219e9c70b1314d75da96cd380364c416be.zip
sources/azure: consolidate DHCP variants to EphemeralDHCPv4WithReporting (#1190)
- Update EphemeralDHCPv4WithReporting to subclass EphemeralDHCPv4 for consistency (non-functional change). - Replace all usage of EphemeralDHCPv4 with EphemeralDHCPv4WithReporting. - Converging to one DHCP class exposed an issue with ExitStack patches being mixed with decorators. Specifically, it appeared that tests that did not enable azure.EphemeralDHCPv4WithReporting mocks had it applied anyways from previous tests. Presumably ExitStack was overwriting the actual value with the mock provided by the decorator? For now, remove some mock patches that trigger failures, but future work should move towards a consistent approach to prevent undetected effects. Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
Diffstat (limited to 'cloudinit/sources/helpers')
-rwxr-xr-xcloudinit/sources/helpers/azure.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/cloudinit/sources/helpers/azure.py b/cloudinit/sources/helpers/azure.py
index 50058fe0..e0a1abb6 100755
--- a/cloudinit/sources/helpers/azure.py
+++ b/cloudinit/sources/helpers/azure.py
@@ -1243,11 +1243,12 @@ def dhcp_log_cb(out, err):
)
-class EphemeralDHCPv4WithReporting:
- def __init__(self, reporter, nic=None):
+class EphemeralDHCPv4WithReporting(EphemeralDHCPv4):
+ def __init__(self, reporter, iface=None):
self.reporter = reporter
- self.ephemeralDHCPv4 = EphemeralDHCPv4(
- iface=nic, dhcp_log_func=dhcp_log_cb
+
+ super(EphemeralDHCPv4WithReporting, self).__init__(
+ iface=iface, dhcp_log_func=dhcp_log_cb
)
def __enter__(self):
@@ -1256,10 +1257,7 @@ class EphemeralDHCPv4WithReporting:
description="obtain dhcp lease",
parent=self.reporter,
):
- return self.ephemeralDHCPv4.__enter__()
-
- def __exit__(self, excp_type, excp_value, excp_traceback):
- self.ephemeralDHCPv4.__exit__(excp_type, excp_value, excp_traceback)
+ return super(EphemeralDHCPv4WithReporting, self).__enter__()
# vi: ts=4 expandtab