diff --git a/cloudinit/sources/DataSourceOpenNebula.py b/cloudinit/sources/DataSourceOpenNebula.py index 835486c6..b6eb8477 100644 --- a/cloudinit/sources/DataSourceOpenNebula.py +++ b/cloudinit/sources/DataSourceOpenNebula.py @@ -137,21 +137,30 @@ class OpenNebulaNetwork(object): def get_ip(self, dev, components): var_name = dev.upper() + '_IP' if var_name in self.context: - return self.context[var_name] + if self.context[var_name]: + return self.context[var_name] + else: + return '.'.join(components) else: return '.'.join(components) def get_mask(self, dev): var_name = dev.upper() + '_MASK' if var_name in self.context: - return self.context[var_name] + if self.context[var_name]: + return self.context[var_name] + else: + return '255.255.255.0' else: return '255.255.255.0' def get_network(self, dev, components): var_name = dev.upper() + '_NETWORK' if var_name in self.context: - return self.context[var_name] + if self.context[var_name]: + return self.context[var_name] + else: + return '.'.join(components[:-1]) + '.0' else: return '.'.join(components[:-1]) + '.0'