summaryrefslogtreecommitdiff
path: root/cloudinit/distros/__init__.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2016-03-10 21:43:46 -0500
committerScott Moser <smoser@ubuntu.com>2016-03-10 21:43:46 -0500
commit781ded8127deefb49a8806e49bdb7bb6e4d4b245 (patch)
treeff9a951f01a94ba796d8d849a14372aad2d80dff /cloudinit/distros/__init__.py
parent098d05b2f1253ba0808772851a1a8e85cb0108a9 (diff)
downloadvyos-cloud-init-781ded8127deefb49a8806e49bdb7bb6e4d4b245.tar.gz
vyos-cloud-init-781ded8127deefb49a8806e49bdb7bb6e4d4b245.zip
commit planned implementation of datasourcenocloud
this adds the consumption of 'network-config' to the datasourcenocloud. There is an implementation of the network rendering taht is untested in distros/debian.
Diffstat (limited to 'cloudinit/distros/__init__.py')
-rw-r--r--cloudinit/distros/__init__.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index a73acae5..461253a7 100644
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -75,6 +75,9 @@ class Distro(object):
# to write this blob out in a distro format
raise NotImplementedError()
+ def _write_network_config(self, settings):
+ raise NotImplementedError()
+
def _find_tz_file(self, tz):
tz_file = os.path.join(self.tz_zone_dir, str(tz))
if not os.path.isfile(tz_file):
@@ -132,6 +135,14 @@ class Distro(object):
return self._bring_up_interfaces(dev_names)
return False
+ def apply_network_config(self, netconfig, bring_up=True):
+ # Write it out
+ dev_names = self._write_network_config(netconfig)
+ # Now try to bring them up
+ if bring_up:
+ return self._bring_up_interfaces(dev_names)
+ return False
+
@abc.abstractmethod
def apply_locale(self, locale, out_fn=None):
raise NotImplementedError()