Azure Preprovisioning waits an extra 60s due to timeout
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Fix Released
|
Medium
|
Douglas Jordan |
Bug Description
During Azure preprovisioning, the platform owned VM gets into a polling loop while we are waiting for the reprovsioning data file (the customer's ovf_env.xml). If the VM moves from one vnet to another, we will get a timeout exception on the request to IMDS and thus need to re-dhcp to get the new IP and network configuration. Currently, that timeout is 60seconds, and upon further testing IMDS responds within 5-20 milliseconds so we propose moving the timeout to 1 second in order to speed up the total deployment time for the customer.
In addition, due to IMDS server updates there is a chance it will be unreachable. If it is, then we could be re-dhcping multiple times, and it is possible to hit the current limit (5) especially with a max retry of 5. That would put the VM in an effectively useless state where it would not be possible to recover. We propose removing the max dhcp retry count for preprovisioning.
Related branches
- Scott Moser: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 2321 lines (+1535/-239)26 files modifiedcloudinit/config/cc_snap.py (+2/-45)
cloudinit/config/cc_ubuntu_advantage.py (+173/-0)
cloudinit/config/tests/test_snap.py (+6/-51)
cloudinit/config/tests/test_ubuntu_advantage.py (+269/-0)
cloudinit/ec2_utils.py (+2/-4)
cloudinit/net/netplan.py (+9/-16)
cloudinit/sources/DataSourceAzure.py (+9/-22)
cloudinit/sources/DataSourceConfigDrive.py (+10/-0)
cloudinit/sources/DataSourceIBMCloud.py (+325/-0)
cloudinit/sources/DataSourceScaleway.py (+3/-3)
cloudinit/subp.py (+57/-0)
cloudinit/tests/test_subp.py (+61/-0)
cloudinit/tests/test_util.py (+72/-0)
cloudinit/url_helper.py (+12/-8)
cloudinit/util.py (+31/-0)
config/cloud.cfg.tmpl (+3/-0)
debian/changelog (+19/-0)
doc/rtd/topics/modules.rst (+1/-0)
tests/unittests/test_datasource/test_azure.py (+7/-15)
tests/unittests/test_datasource/test_ibmcloud.py (+262/-0)
tests/unittests/test_ds_identify.py (+112/-3)
tests/unittests/test_handler/test_schema.py (+1/-0)
tests/unittests/test_net.py (+12/-63)
tools/ds-identify (+60/-9)
tools/pipremove (+14/-0)
tox.ini (+3/-0)
- Chad Smith: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 172 lines (+24/-42)3 files modifiedcloudinit/sources/DataSourceAzure.py (+9/-22)
cloudinit/url_helper.py (+8/-5)
tests/unittests/test_datasource/test_azure.py (+7/-15)
Changed in cloud-init: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → Douglas Jordan (dojordan) |
An upstream commit landed for this bug.
To view that commit see the following URL: /git.launchpad. net/cloud- init/commit/ ?id=2d618e27
https:/