Port replace disk/change node to the new DRBD RPCs
[ganeti-local] / test / ganeti.config_unittest.py
index f796b1f..eb3ebc7 100755 (executable)
@@ -29,9 +29,10 @@ import tempfile
 import os.path
 import socket
 
-from ganeti import errors
-from ganeti import constants
+from ganeti import bootstrap
 from ganeti import config
+from ganeti import constants
+from ganeti import errors
 from ganeti import objects
 from ganeti import utils
 
@@ -41,6 +42,7 @@ class TestConfigRunner(unittest.TestCase):
   def setUp(self):
     fd, self.cfg_file = tempfile.mkstemp()
     os.close(fd)
+    self._init_cluster(self.cfg_file)
 
   def tearDown(self):
     try:
@@ -55,8 +57,32 @@ class TestConfigRunner(unittest.TestCase):
 
   def _init_cluster(self, cfg):
     """Initializes the cfg object"""
-    cfg.InitConfig(utils.HostInfo().name, '127.0.0.1', None, '', 'aa:00:00',
-                   'xenvg', constants.DEFAULT_BRIDGE)
+    me = utils.HostInfo()
+    ip = constants.LOCALHOST_IP_ADDRESS
+
+    cluster_config = objects.Cluster(
+      serial_no=1,
+      rsahostkeypub="",
+      highest_used_port=(constants.FIRST_DRBD_PORT - 1),
+      mac_prefix="aa:00:00",
+      volume_group_name="xenvg",
+      default_bridge=constants.DEFAULT_BRIDGE,
+      tcpudp_port_pool=set(),
+      default_hypervisor=constants.HT_FAKE,
+      master_node=me.name,
+      master_ip="127.0.0.1",
+      master_netdev=constants.DEFAULT_BRIDGE,
+      cluster_name="cluster.local",
+      file_storage_dir="/tmp",
+      )
+
+    master_node_config = objects.Node(name=me.name,
+                                      primary_ip=me.ip,
+                                      secondary_ip=ip,
+                                      serial_no=1)
+
+    bootstrap.InitConfig(constants.CONFIG_VERSION,
+                         cluster_config, master_node_config, self.cfg_file)
 
   def _create_instance(self):
     """Create and return an instance object"""
@@ -71,7 +97,6 @@ class TestConfigRunner(unittest.TestCase):
   def testInit(self):
     """Test initialize the config file"""
     cfg = self._get_object()
-    self._init_cluster(cfg)
     self.failUnlessEqual(1, len(cfg.GetNodeList()))
     self.failUnlessEqual(0, len(cfg.GetInstanceList()))
 
@@ -81,9 +106,8 @@ class TestConfigRunner(unittest.TestCase):
     # construct a fake cluster object
     fake_cl = objects.Cluster()
     # fail if we didn't read the config
-    self.failUnlessRaises(errors.ProgrammerError, cfg.Update, fake_cl)
+    self.failUnlessRaises(errors.ConfigurationError, cfg.Update, fake_cl)
 
-    self._init_cluster(cfg)
     cl = cfg.GetClusterInfo()
     # first pass, must not fail
     cfg.Update(cl)
@@ -98,9 +122,8 @@ class TestConfigRunner(unittest.TestCase):
     # construct a fake node
     fake_node = objects.Node()
     # fail if we didn't read the config
-    self.failUnlessRaises(errors.ProgrammerError, cfg.Update, fake_node)
+    self.failUnlessRaises(errors.ConfigurationError, cfg.Update, fake_node)
 
-    self._init_cluster(cfg)
     node = cfg.GetNodeInfo(cfg.GetNodeList()[0])
     # first pass, must not fail
     cfg.Update(node)
@@ -116,9 +139,8 @@ class TestConfigRunner(unittest.TestCase):
     inst = self._create_instance()
     fake_instance = objects.Instance()
     # fail if we didn't read the config
-    self.failUnlessRaises(errors.ProgrammerError, cfg.Update, fake_instance)
+    self.failUnlessRaises(errors.ConfigurationError, cfg.Update, fake_instance)
 
-    self._init_cluster(cfg)
     cfg.AddInstance(inst)
     instance = cfg.GetInstanceInfo(cfg.GetInstanceList()[0])
     # first pass, must not fail