diff options
author | Chris Patterson <cpatterson@microsoft.com> | 2022-02-15 12:19:19 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-15 11:19:19 -0600 |
commit | 101a62f2389a933676e9d0d20d9f59303b1f1833 (patch) | |
tree | c6cbc4b2c94c5cc8bf2f471c14982fa22db2250d /pyproject.toml | |
parent | 32fcbb580d6eacb06c901bc291e0fa118bb9b646 (diff) | |
download | vyos-cloud-init-101a62f2389a933676e9d0d20d9f59303b1f1833.tar.gz vyos-cloud-init-101a62f2389a933676e9d0d20d9f59303b1f1833.zip |
sources/azure: report ready in local phase (#1265)
Pre-provisioned instances report ready early in the local phase and
again in the non-local phase, during setup(). Non-PPS only reports
ready during non-local phase.
Update the process to report ready during the local phase for all
cases. Only attempt to do so if networking is up to prevent stalling
boot. We've already waited at least 20 minutes for DHCP if we're
provisioning, or 5 minutes for DHCP on normal boot requesting updated
network configuration.
- Extend _report_ready() with pubkey_info and raise exception
on error to consolidate reporting done in _negotiate() and
_report_ready().
- Remove setup(), moving relevant logic into crawl_metadata().
- Move remaining _negotiate() logic into _cleanup_markers() and
_determine_wireserver_pubkey_info().
These changes effectively fix two issues that were present:
(1) _negotiated is incorrectly set to True
When failing to report ready. _negotiate() squashed the exception and
the return value was not checked. This was probably masked due to the
forced removal of obj.pkl on Ubuntu instances, but would be preferable
once we start persisting it to prevent unnecessary re-negotiation.
(2) provisioning media is not ejected for non-PPS
_negotiate() did not pass iso_dev parameter when reporting ready. The
host will ensure this operation takes place, but it is preferable to
eject /dev/sr0 from within the guest when we're done with it.
Lastly, this removes any need for lease file parsing as the wireserver
addressed is tracked for ephemeral DHCP. A follow-up PR will remove
this now-unused logic.
Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
Diffstat (limited to 'pyproject.toml')
-rw-r--r-- | pyproject.toml | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/pyproject.toml b/pyproject.toml index 52093fac..324d6f35 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,6 @@ exclude=[ '^cloudinit/net/netplan\.py$', '^cloudinit/net/sysconfig\.py$', '^cloudinit/serial\.py$', - '^cloudinit/sources/DataSourceAzure\.py$', '^cloudinit/sources/DataSourceAliYun\.py$', '^cloudinit/sources/DataSourceLXD\.py$', '^cloudinit/sources/DataSourceOracle\.py$', @@ -42,7 +41,6 @@ exclude=[ '^cloudinit/sources/DataSourceSmartOS\.py$', '^cloudinit/sources/DataSourceVMware\.py$', '^cloudinit/sources/__init__\.py$', - '^cloudinit/sources/helpers/azure\.py$', '^cloudinit/sources/helpers/vmware/imc/config_file\.py$', '^cloudinit/stages\.py$', '^cloudinit/templater\.py$', |