diff options
author | Ryan Harper <ryan.harper@canonical.com> | 2016-03-24 13:41:25 -0500 |
---|---|---|
committer | Ryan Harper <ryan.harper@canonical.com> | 2016-03-24 13:41:25 -0500 |
commit | 9c0b3fc96fc33107dde8e89b02a63dbfb04e207c (patch) | |
tree | 3dabdc7752c41a86fd5c63118dd665c5b3977aa3 | |
parent | 32e81553907eaba84345252527f208d29151620f (diff) | |
download | vyos-cloud-init-9c0b3fc96fc33107dde8e89b02a63dbfb04e207c.tar.gz vyos-cloud-init-9c0b3fc96fc33107dde8e89b02a63dbfb04e207c.zip |
fix review comments
net: add render_route comment to document why we added || true to route
statements
DataSourceConfigDrive: Only convert network_json to network_config when
caller reads network_config attr. Cache the conversion.
-rw-r--r-- | cloudinit/net/__init__.py | 14 | ||||
-rw-r--r-- | cloudinit/sources/DataSourceConfigDrive.py | 6 |
2 files changed, 17 insertions, 3 deletions
diff --git a/cloudinit/net/__init__.py b/cloudinit/net/__init__.py index 76cd4e8b..2435055b 100644 --- a/cloudinit/net/__init__.py +++ b/cloudinit/net/__init__.py @@ -349,6 +349,20 @@ def iface_add_attrs(iface): def render_route(route, indent=""): + """ When rendering routes for an iface, in some cases applying a route + may result in the route command returning non-zero which produces + some confusing output for users manually using ifup/ifdown[1]. To + that end, we will optionally include an '|| true' postfix to each + route line allowing users to work with ifup/ifdown without using + --force option. + + We may at somepoint not want to emit this additional postfix, and + add a 'strict' flag to this function. When called with strict=True, + then we will not append the postfix. + + 1. http://askubuntu.com/questions/168033/ + how-to-set-static-routes-in-ubuntu-server + """ content = "" up = indent + "post-up route add" down = indent + "pre-down route del" diff --git a/cloudinit/sources/DataSourceConfigDrive.py b/cloudinit/sources/DataSourceConfigDrive.py index db813f6e..14676f97 100644 --- a/cloudinit/sources/DataSourceConfigDrive.py +++ b/cloudinit/sources/DataSourceConfigDrive.py @@ -153,9 +153,6 @@ class DataSourceConfigDrive(openstack.SourceMixin, sources.DataSource): LOG.warn("Invalid content in network-data: %s", e) self.network_json = None - if self.network_json: - self._network_config = convert_network_data(self.network_json) - return True def check_instance_id(self): @@ -164,6 +161,9 @@ class DataSourceConfigDrive(openstack.SourceMixin, sources.DataSource): @property def network_config(self): + if self._network_config is None: + if self.network_json is not None: + self._network_config = convert_network_data(self.network_json) return self._network_config |