summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cloudinit/sources/DataSourceConfigDrive.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/cloudinit/sources/DataSourceConfigDrive.py b/cloudinit/sources/DataSourceConfigDrive.py
index 9729cfb9..dbbedce1 100644
--- a/cloudinit/sources/DataSourceConfigDrive.py
+++ b/cloudinit/sources/DataSourceConfigDrive.py
@@ -218,11 +218,6 @@ class DataSourceConfigDrive(sources.DataSource):
return True
- def get_public_ssh_keys(self):
- if not 'public-keys' in self.metadata:
- return []
- return self.metadata['public-keys']
-
class DataSourceConfigDriveNet(DataSourceConfigDrive):
def __init__(self, sys_cfg, distro, paths):
@@ -331,6 +326,13 @@ def read_config_drive_dir_v2(source_dir, version="2012-08-10"):
except KeyError:
raise BrokenConfigDriveDir("No uuid entry in metadata")
+ # other datasources (and config-drive-v1) populate metadata['public-keys']
+ # where as with config-drive-v2, that would be 'public_keys'. So, just
+ # copy the field if it is present
+ if ('public_keys' in results['metadata'] and not
+ 'public-keys' in results['metadata']):
+ results['public-keys'] = results['public_keys']
+
def read_content_path(item):
# do not use os.path.join here, as content_path starts with /
cpath = os.path.sep.join((source_dir, "openstack",