summaryrefslogtreecommitdiff
path: root/cloudinit/sources/helpers
diff options
context:
space:
mode:
authorxiaofengw-vmware <42736879+xiaofengw-vmware@users.noreply.github.com>2021-01-14 07:18:28 +0800
committerGitHub <noreply@github.com>2021-01-13 16:18:28 -0700
commit11630044d235e0c6e1ffd2b12ff8906613ccdac6 (patch)
tree1fe9dabec46dc68778e557b301be4679a56964b7 /cloudinit/sources/helpers
parent9a258eebd96aa5ad4486dba1fe86bea5bcf00c2f (diff)
downloadvyos-cloud-init-11630044d235e0c6e1ffd2b12ff8906613ccdac6.tar.gz
vyos-cloud-init-11630044d235e0c6e1ffd2b12ff8906613ccdac6.zip
[VMware] Support cloudinit raw data feature (#691)
This feature will modify VMware datasource to read from meta data and user data which are specified by VMware vSphere user. If meta data/user data are found in cloud-init configuration directory, datasource will parse the meta data/network and user data from the configuration file, otherwise it will continue to parse them from traditional customization configuration file as before. The supported meta data file is in json or yaml format.
Diffstat (limited to 'cloudinit/sources/helpers')
-rw-r--r--cloudinit/sources/helpers/vmware/imc/config.py12
-rw-r--r--cloudinit/sources/helpers/vmware/imc/guestcust_error.py1
2 files changed, 13 insertions, 0 deletions
diff --git a/cloudinit/sources/helpers/vmware/imc/config.py b/cloudinit/sources/helpers/vmware/imc/config.py
index 7109aef3..bdfab5a0 100644
--- a/cloudinit/sources/helpers/vmware/imc/config.py
+++ b/cloudinit/sources/helpers/vmware/imc/config.py
@@ -27,6 +27,8 @@ class Config(object):
UTC = 'DATETIME|UTC'
POST_GC_STATUS = 'MISC|POST-GC-STATUS'
DEFAULT_RUN_POST_SCRIPT = 'MISC|DEFAULT-RUN-POST-CUST-SCRIPT'
+ CLOUDINIT_META_DATA = 'CLOUDINIT|METADATA'
+ CLOUDINIT_USER_DATA = 'CLOUDINIT|USERDATA'
def __init__(self, configFile):
self._configFile = configFile
@@ -130,4 +132,14 @@ class Config(object):
raise ValueError('defaultRunPostScript value should be yes/no')
return defaultRunPostScript == 'yes'
+ @property
+ def meta_data_name(self):
+ """Return the name of cloud-init meta data."""
+ return self._configFile.get(Config.CLOUDINIT_META_DATA, None)
+
+ @property
+ def user_data_name(self):
+ """Return the name of cloud-init user data."""
+ return self._configFile.get(Config.CLOUDINIT_USER_DATA, None)
+
# vi: ts=4 expandtab
diff --git a/cloudinit/sources/helpers/vmware/imc/guestcust_error.py b/cloudinit/sources/helpers/vmware/imc/guestcust_error.py
index 65ae7390..96d839b8 100644
--- a/cloudinit/sources/helpers/vmware/imc/guestcust_error.py
+++ b/cloudinit/sources/helpers/vmware/imc/guestcust_error.py
@@ -11,5 +11,6 @@ class GuestCustErrorEnum(object):
GUESTCUST_ERROR_SUCCESS = 0
GUESTCUST_ERROR_SCRIPT_DISABLED = 6
+ GUESTCUST_ERROR_WRONG_META_FORMAT = 9
# vi: ts=4 expandtab