hv_xen: Test removing config from "auto" directory
authorMichael Hanselmann <hansmi@google.com>
Thu, 24 Jan 2013 14:10:11 +0000 (15:10 +0100)
committerMichael Hanselmann <hansmi@google.com>
Fri, 25 Jan 2013 10:58:48 +0000 (11:58 +0100)
Test whether any existing configuration file named after the instance is
removed from Xen's “auto” directory.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

test/py/ganeti.hypervisor.hv_xen_unittest.py

index d226d10..61c7085 100755 (executable)
@@ -26,6 +26,7 @@ import unittest
 import tempfile
 import shutil
 import random
 import tempfile
 import shutil
 import random
+import os
 
 from ganeti import constants
 from ganeti import objects
 
 from ganeti import constants
 from ganeti import objects
@@ -365,6 +366,23 @@ class _TestXenHypervisor(object):
                            "", "This command failed", None,
                            NotImplemented, NotImplemented)
 
                            "", "This command failed", None,
                            NotImplemented, NotImplemented)
 
+  def testRemovingAutoConfigFile(self):
+    name = "inst8206.example.com"
+    cfgfile = utils.PathJoin(self.tmpdir, name)
+    autodir = utils.PathJoin(self.tmpdir, "auto")
+    autocfgfile = utils.PathJoin(autodir, name)
+
+    os.mkdir(autodir)
+
+    utils.WriteFile(autocfgfile, data="")
+
+    hv = self._GetHv()
+
+    self.assertTrue(os.path.isfile(autocfgfile))
+    hv._WriteConfigFile(name, "content")
+    self.assertFalse(os.path.exists(autocfgfile))
+    self.assertEqual(utils.ReadFile(cfgfile), "content")
+
 
 def _MakeTestClass(cls, cmd):
   """Makes a class for testing.
 
 def _MakeTestClass(cls, cmd):
   """Makes a class for testing.