summaryrefslogtreecommitdiff
path: root/cloudinit/cmd
diff options
context:
space:
mode:
authorRyan Harper <ryan.harper@canonical.com>2017-06-20 17:06:43 -0500
committerScott Moser <smoser@brickies.net>2017-06-27 17:03:34 -0400
commitebc9ecbc8a76bdf511a456fb72339a7eb4c20568 (patch)
tree3b735b43bde5c5d8e96e602f5a7a6c39dd20f34c /cloudinit/cmd
parent10e5195e4a4459d1893801aa9fb486dc2973415d (diff)
downloadvyos-cloud-init-ebc9ecbc8a76bdf511a456fb72339a7eb4c20568.tar.gz
vyos-cloud-init-ebc9ecbc8a76bdf511a456fb72339a7eb4c20568.zip
Azure: Add network-config, Refactor net layer to handle duplicate macs.
On systems with network devices with duplicate mac addresses, cloud-init will fail to rename the devices according to the specified network configuration. Refactor net layer to search by device driver and device id if available. Azure systems may have duplicate mac addresses by design. Update Azure datasource to run at init-local time and let Azure datasource generate a fallback networking config to handle advanced networking configurations. Lastly, add a 'setup' method to the datasources that is called before userdata/vendordata is processed but after networking is up. That is used here on Azure to interact with the 'fabric'.
Diffstat (limited to 'cloudinit/cmd')
-rw-r--r--cloudinit/cmd/main.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/cloudinit/cmd/main.py b/cloudinit/cmd/main.py
index ce3c10dd..139e03b3 100644
--- a/cloudinit/cmd/main.py
+++ b/cloudinit/cmd/main.py
@@ -372,6 +372,9 @@ def main_init(name, args):
LOG.debug("[%s] %s is in local mode, will apply init modules now.",
mode, init.datasource)
+ # Give the datasource a chance to use network resources.
+ # This is used on Azure to communicate with the fabric over network.
+ init.setup_datasource()
# update fully realizes user-data (pulling in #include if necessary)
init.update()
# Stage 7