diff options
author | ctracey <ctracey@craigtracey.com> | 2013-01-15 16:08:43 -0500 |
---|---|---|
committer | ctracey <ctracey@craigtracey.com> | 2013-01-15 16:08:43 -0500 |
commit | 361738c6a9a14e32bd2123828fab8d8b70c6bc3a (patch) | |
tree | 797223a4b37cb8d76f6f6134fb9d399399cb4c99 /cloudinit/config | |
parent | 0c38be4ae18e08640269e2f45e9243ea4867153c (diff) | |
download | vyos-cloud-init-361738c6a9a14e32bd2123828fab8d8b70c6bc3a.tar.gz vyos-cloud-init-361738c6a9a14e32bd2123828fab8d8b70c6bc3a.zip |
add support for operating system families
often it is convenient to classify a distro as being part of an
operating system family. for instance, file templates may be
identical for both debian and ubuntu, but to support this under
the current templating code, one would need multiple templates for the
same code.
similarly, configuration handlers often fall into the same bucket: the
configuraton is known to work/has been tested on a particular family
of operating systems. right now this is handled with a declaration
like:
distros = ['fedora', 'rhel']
this fix seeks to address both of these issues. it allows for the
simplification of the above line to:
osfamilies = ['redhat']
and provides a mechanism for operating system family templates.
Diffstat (limited to 'cloudinit/config')
-rw-r--r-- | cloudinit/config/__init__.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cloudinit/config/__init__.py b/cloudinit/config/__init__.py index 69a8cc68..d57453be 100644 --- a/cloudinit/config/__init__.py +++ b/cloudinit/config/__init__.py @@ -52,5 +52,7 @@ def fixup_module(mod, def_freq=PER_INSTANCE): if freq and freq not in FREQUENCIES: LOG.warn("Module %s has an unknown frequency %s", mod, freq) if not hasattr(mod, 'distros'): - setattr(mod, 'distros', None) + setattr(mod, 'distros', []) + if not hasattr(mod, 'osfamilies'): + setattr(mod, 'osfamilies', []) return mod |