diff options
author | Scott Moser <smoser@brickies.net> | 2017-11-20 15:56:40 -0500 |
---|---|---|
committer | Scott Moser <smoser@brickies.net> | 2017-11-20 15:56:40 -0500 |
commit | 281a82181716183d526e76f4e0415e0a6f680cbe (patch) | |
tree | cf617a96b41289112787dcef23b358bf5e63c8f9 /cloudinit/net | |
parent | d3a0958c09c73a78fda6e922b749a1b98036e984 (diff) | |
download | vyos-cloud-init-281a82181716183d526e76f4e0415e0a6f680cbe.tar.gz vyos-cloud-init-281a82181716183d526e76f4e0415e0a6f680cbe.zip |
EC2: Fix bug using fallback_nic and metadata when restoring from cache.
If user upgraded to new cloud-init and attempted to run 'cloud-init init'
without rebooting, cloud-init restores the datasource object from pickle.
The older version pickled datasource object had no value for
_network_config or fallback_nic. This caused the Ec2 datasource to attempt
to reconfigure networking with a None fallback_nic. The pickled object
also cached an older version of ec2 metadata which didn't contain network
information.
This branch does two things:
- Add a fallback_interface property to DatasourceEC2 to support reading the
old .fallback_nic attribute if it was set. New versions will
call net.find_fallback_nic() if there has not been one found.
- Re-crawl metadata if we are on Ec2 and don't have a 'network' key in
metadata
LP: #1732917
Diffstat (limited to 'cloudinit/net')
-rw-r--r-- | cloudinit/net/dhcp.py | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/cloudinit/net/dhcp.py b/cloudinit/net/dhcp.py index f3a412a9..d8624d82 100644 --- a/cloudinit/net/dhcp.py +++ b/cloudinit/net/dhcp.py @@ -42,8 +42,7 @@ def maybe_perform_dhcp_discovery(nic=None): if nic is None: nic = find_fallback_nic() if nic is None: - LOG.debug( - 'Skip dhcp_discovery: Unable to find fallback nic.') + LOG.debug('Skip dhcp_discovery: Unable to find fallback nic.') return {} elif nic not in get_devicelist(): LOG.debug( |