diff options
-rwxr-xr-x | cloud-init-cfg.py | 9 | ||||
-rw-r--r-- | cloudinit/CloudConfig/__init__.py | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/cloud-init-cfg.py b/cloud-init-cfg.py index 49ddf302..0905eb5e 100755 --- a/cloud-init-cfg.py +++ b/cloud-init-cfg.py @@ -60,7 +60,14 @@ def main(): if os.environ.has_key(cfg_env_name): cfg_path = os.environ[cfg_env_name] - cc = CC.CloudConfig(cfg_path) + cloud = cloudinit.CloudInit(ds_deps=[]) # ds_deps=[], get only cached + try: + cloud.get_data_source() + except cloudinit.DataSourceNotFoundException as e: + # there was no datasource found, theres nothing to do + sys.exit(0) + + cc = CC.CloudConfig(cfg_path,cloud) try: (outfmt, errfmt) = CC.get_output_cfg(cc.cfg,modename) diff --git a/cloudinit/CloudConfig/__init__.py b/cloudinit/CloudConfig/__init__.py index 0962c238..91853dfd 100644 --- a/cloudinit/CloudConfig/__init__.py +++ b/cloudinit/CloudConfig/__init__.py @@ -33,13 +33,13 @@ class CloudConfig(): cfgfile = None cfg = None - def __init__(self,cfgfile, cloud=None): + def __init__(self,cfgfile, cloud=None, ds_deps=[]): if cloud == None: - self.cloud = cloudinit.CloudInit() + self.cloud = cloudinit.CloudInit(ds_deps) + self.cloud.get_data_source() else: self.cloud = cloud self.cfg = self.get_config_obj(cfgfile) - self.cloud.get_data_source() def get_config_obj(self,cfgfile): try: |