summaryrefslogtreecommitdiff
path: root/cloudinit/sources/helpers
diff options
context:
space:
mode:
authorMoustafa Moustafa <momousta@microsoft.com>2020-06-19 06:38:05 -0700
committerGitHub <noreply@github.com>2020-06-19 09:38:05 -0400
commitd083a0315faf67c00acdecdc3f95c700edf6ba06 (patch)
treeff1e36ac43a80040eca5ff0ce25e6dfc90a7c79c /cloudinit/sources/helpers
parent615fe62c0927e68349a1cd602c169eb699684f50 (diff)
downloadvyos-cloud-init-d083a0315faf67c00acdecdc3f95c700edf6ba06.tar.gz
vyos-cloud-init-d083a0315faf67c00acdecdc3f95c700edf6ba06.zip
printing the error stream of the dhclient process before killing it (#369)
This introduces a way to log the dhclient error stream, and uses it for the Azure datasource (where we have a specific requirement for this data to be logged).
Diffstat (limited to 'cloudinit/sources/helpers')
-rwxr-xr-xcloudinit/sources/helpers/azure.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/cloudinit/sources/helpers/azure.py b/cloudinit/sources/helpers/azure.py
index 7bace8ca..7afa7ed8 100755
--- a/cloudinit/sources/helpers/azure.py
+++ b/cloudinit/sources/helpers/azure.py
@@ -626,10 +626,16 @@ def get_metadata_from_fabric(fallback_lease_file=None, dhcp_opts=None,
shim.clean_up()
+def dhcp_log_cb(out, err):
+ report_diagnostic_event("dhclient output stream: %s" % out)
+ report_diagnostic_event("dhclient error stream: %s" % err)
+
+
class EphemeralDHCPv4WithReporting(object):
def __init__(self, reporter, nic=None):
self.reporter = reporter
- self.ephemeralDHCPv4 = EphemeralDHCPv4(iface=nic)
+ self.ephemeralDHCPv4 = EphemeralDHCPv4(
+ iface=nic, dhcp_log_func=dhcp_log_cb)
def __enter__(self):
with events.ReportEventStack(