LUSetInstanceParams: save cluster
[ganeti-local] / lib / objects.py
index 64b4418..51ef992 100644 (file)
@@ -310,7 +310,7 @@ class ConfigData(ConfigObject):
 
 class NIC(ConfigObject):
   """Config object representing a network card."""
-  __slots__ = ["mac", "ip", "bridge"]
+  __slots__ = ["mac", "ip", "bridge", "nicparams"]
 
   @classmethod
   def CheckParameterSyntax(cls, nicparams):
@@ -330,6 +330,16 @@ class NIC(ConfigObject):
       err = "Missing bridged nic link"
       raise errors.ConfigurationError(err)
 
+  def UpgradeConfig(self):
+    """Fill defaults for missing configuration values.
+
+    """
+    if self.nicparams is None:
+      self.nicparams = {}
+      if self.bridge is not None:
+        self.nicparams[constants.NIC_MODE] = constants.NIC_MODE_BRIDGED
+        self.nicparams[constants.NIC_LINK] = self.bridge
+
 
 class Disk(ConfigObject):
   """Config object representing a block device."""