summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog12
-rw-r--r--debian/patches/lp-1492420-config-drive_skip-invalid-file-paths.patch15
-rw-r--r--debian/patches/lp-1492468-config-drive_alternative-interface-path.patch22
-rw-r--r--debian/patches/series2
4 files changed, 51 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 53a8c011..8a3e965e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+cloud-init (0.6.3-0ubuntu1.21) precise; urgency=medium
+
+ * debian/patches/lp-1492420-config-drive_skip-invalid-file-paths.patch:
+ - skip null length paths defined on some Cloud Drive implementations
+ (LP: #1492420).
+ * debian/patches/lp-1492468-config-drive_alternative-interface-path.patch:
+ - use alternative interface definition of "interfaces" when
+ "network-interfaces" is invalid as used on some Cloud Drive
+ implementations (LP: #1492468).
+
+ -- Ben Howard <ben.howard@ubuntu.com> Tue, 08 Sep 2015 14:45:36 -0600
+
cloud-init (0.6.3-0ubuntu1.20) precise; urgency=medium
* debian/patches/lp-1490796-azure-fix-mount_cb-for-symlinks.patch:
diff --git a/debian/patches/lp-1492420-config-drive_skip-invalid-file-paths.patch b/debian/patches/lp-1492420-config-drive_skip-invalid-file-paths.patch
new file mode 100644
index 00000000..f36623c4
--- /dev/null
+++ b/debian/patches/lp-1492420-config-drive_skip-invalid-file-paths.patch
@@ -0,0 +1,15 @@
+Description: do not process invalid paths
+Author: Ben Howard <ben.howard@ubuntu.com>
+Bug: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1492420
+--- cloud-init-0.6.3.orig/cloudinit/DataSourceConfigDrive.py
++++ cloud-init-0.6.3/cloudinit/DataSourceConfigDrive.py
+@@ -380,7 +380,8 @@
+ files = {}
+ try:
+ for item in results['metadata'].get('files', {}):
+- files[item['path']] = read_content_path(item)
++ if len(item) > 0:
++ files[item['path']] = read_content_path(item)
+
+ # the 'network_config' item in metadata is a content pointer
+ # to the network config that should be applied.
diff --git a/debian/patches/lp-1492468-config-drive_alternative-interface-path.patch b/debian/patches/lp-1492468-config-drive_alternative-interface-path.patch
new file mode 100644
index 00000000..81b4b1e3
--- /dev/null
+++ b/debian/patches/lp-1492468-config-drive_alternative-interface-path.patch
@@ -0,0 +1,22 @@
+Description: support interfaces as alternative to network-interfaces
+Author: Ben Howard <ben.howard@ubuntu.com>
+Bug: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1492468
+--- cloud-init-0.6.3.orig/cloudinit/DataSourceConfigDrive.py
++++ cloud-init-0.6.3/cloudinit/DataSourceConfigDrive.py
+@@ -198,8 +198,14 @@
+ LOG.debug("Updating network interfaces from config drive (%s)",
+ dsmode)
+
+- util.write_file("/etc/network/interfaces",
+- md['network-interfaces'])
++ # Look at network-interfaces first and then use interfaces
++ # to support some Cloud Drive implementations.
++ for iname in ("network-interfaces", "interfaces"):
++ iface_def = md.get(iname, None)
++ if iface_def is not None:
++ util.write_file("/etc/network/interfaces", iface_def)
++ break
++
+ try:
+ (out, err) = util.subp(['ifup', '--all'])
+ if len(out) or len(err):
diff --git a/debian/patches/series b/debian/patches/series
index 1090c333..3a0bf3d8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -34,3 +34,5 @@ lp-1411582-azure-udev-ephemeral-disks.patch
lp-1470880-fix-gce-az-determination.patch
lp-1470890-include-regions-in-dynamic-mirror-discovery.patch
lp-1490796-azure-fix-mount_cb-for-symlinks.patch
+lp-1492420-config-drive_skip-invalid-file-paths.patch
+lp-1492468-config-drive_alternative-interface-path.patch