diff options
author | Scott Moser <smoser@ubuntu.com> | 2018-01-12 14:23:26 -0700 |
---|---|---|
committer | Chad Smith <blackboxsw@gmail.com> | 2018-01-12 14:23:26 -0700 |
commit | 6299e8d0cc230b0c9b41a69a5963bcd2c252c337 (patch) | |
tree | 4da09bab37ece6f2752d710f384746e8bb186ac8 /cloudinit/cmd/main.py | |
parent | 78372f16d2711812793196aa8003ad51693ca472 (diff) | |
download | vyos-cloud-init-6299e8d0cc230b0c9b41a69a5963bcd2c252c337.tar.gz vyos-cloud-init-6299e8d0cc230b0c9b41a69a5963bcd2c252c337.zip |
Do not log warning on config files that represent None.
This issue was first identified when manual_cache_clean was set, as
ds-identify would write /run/cloud-init/cloud.cfg with
# manual_cache_clean
that would generate a warning as cloud-init expected to load a dict.
Any other "empty" config would also log such a warning.
Also fix reading of di_report to allow it to be None, as ds-identify
would write:
di_report:
# manual_cache_clean
which reads as 'di_report: None' rather than di_report: {}.
LP: #1742479
Diffstat (limited to 'cloudinit/cmd/main.py')
-rw-r--r-- | cloudinit/cmd/main.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cloudinit/cmd/main.py b/cloudinit/cmd/main.py index 30b37fe1..d2f1b778 100644 --- a/cloudinit/cmd/main.py +++ b/cloudinit/cmd/main.py @@ -421,7 +421,13 @@ def di_report_warn(datasource, cfg): LOG.debug("no di_report found in config.") return - dicfg = cfg.get('di_report', {}) + dicfg = cfg['di_report'] + if dicfg is None: + # ds-identify may write 'di_report:\n #comment\n' + # which reads as {'di_report': None} + LOG.debug("di_report was None.") + return + if not isinstance(dicfg, dict): LOG.warning("di_report config not a dictionary: %s", dicfg) return |