예제 #1
0
    def testAttachAsOpts(self):
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.invalid_attach_as_choice)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.invalid_attach_as_opt)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.valid_attach_as_opt_1)
        self.assertEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        self.assertEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.valid_attach_as_opt_2)
        self.assertEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        self.assertEqual(err, None, err)
    def testAccessOpts(self):
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.invalid_access_choice)
        logging.info(err)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.invalid_access_opt)
        logging.info(err)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.valid_access_opt)
        logging.info(err)
        self.assertEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        logging.info(err)
        self.assertEqual(err, None, err)
예제 #3
0
    def testAttachAsOpts(self):
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.invalid_attach_as_choice)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.invalid_attach_as_opt)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.valid_attach_as_opt_1)
        self.assertEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        self.assertEqual(err, None, err)

        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.valid_attach_as_opt_2)
        self.assertEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        self.assertEqual(err, None, err)
    def testPolicy(self):
        # info for testPolicy
        testInfo = [
            #    size     policy   expected success?
            ["2000kb", "good", True],
            ["14000pb", "good", False],
            ["bad size", "good", False],
            ["100mb", "impossible", True],
            ["100mb", "good", True],
        ]
        path = vmdk_utils.get_vsan_dockvols_path()
        i = 0
        for unit in testInfo:
            vol_name = '{0}{1}'.format(self.volName, i)
            vmdk_path = vmdk_ops.getVmdkName(path,vol_name)
            i = i+1
            # create a volume with requestes size/policy and check vs expected result
            err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                      vmdk_path=vmdk_path,
                                      vol_name=vol_name,
                                      opts={volume_kv.VSAN_POLICY_NAME: unit[1],
                                            volume_kv.SIZE: unit[0]})
            self.assertEqual(err == None, unit[2], err)

            # clean up should fail if the created should have failed.
            err = vmdk_ops.removeVMDK(vmdk_path)
            self.assertEqual(err == None, unit[2], err)
    def testPolicy(self):
        # info for testPolicy
        testInfo = [
            #    size     policy   expected success?
            ["2000kb", "good", True, "zeroedthick"],
            ["14000pb", "good", False, "zeroedthick"],
            ["bad size", "good", False, "eagerzeroedthick"],
            ["100mb", "impossible", True, "eagerzeroedthick"],
            ["100mb", "good", True, "thin"],
        ]
        path = vsan_info.get_vsan_dockvols_path()
        i = 0
        for unit in testInfo:
            vol_name = '{0}{1}'.format(self.volName, i)
            vmdk_path = vmdk_utils.get_vmdk_path(path, vol_name)
            i = i + 1
            # create a volume with requests size/policy and check vs expected result
            err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                      vmdk_path=vmdk_path,
                                      vol_name=vol_name,
                                      opts={
                                          volume_kv.VSAN_POLICY_NAME: unit[1],
                                          volume_kv.SIZE: unit[0],
                                          volume_kv.DISK_ALLOCATION_FORMAT:
                                          unit[3]
                                      })
            self.assertEqual(err == None, unit[2], err)

            # clean up should fail if the created should have failed.
            err = vmdk_ops.removeVMDK(vmdk_path)
            self.assertEqual(err == None, unit[2], err)
    def setUp(self):
        """ Setup run before each test """
        logging.debug("VMDKAttachDetachTest setUp path =%s", path)
        self.cleanup()

        if (not self.datastore_name):
            datastores = vmdk_utils.get_datastores()
            datastore = datastores[0]
            if (not datastore):
                logging.error("Cannot find a valid datastore")
                self.assertFalse(True)
            self.datastore_name = datastore[0]
            self.datastore_path = datastore[2]
            logging.debug("datastore_name=%s datastore_path=%s",
                          self.datastore_name, self.datastore_path)

        # get service_instance, and create a VM
        if not vmdk_ops.si:
            vmdk_ops.connectLocal()

        self.create_vm(vmdk_ops.si, self.vm_name, self.datastore_name)

        # create max_vol_count+1 VMDK files
        for id in range(1, self.max_vol_count + 2):
            volName = 'VmdkAttachDetachTestVol' + str(id)
            fullpath = os.path.join(self.datastore_path, volName + '.vmdk')
            self.assertEqual(
                None,
                vmdk_ops.createVMDK(vm_name=self.vm_name,
                                    vmdk_path=fullpath,
                                    vol_name=volName))
예제 #7
0
    def setUp(self):
        """ Setup run before each test """
        logging.debug("VMDKAttachDetachTest setUp path =%s", path)
        self.cleanup()

        if (not self.datastore_name):
            datastores = vmdk_utils.get_datastores()
            datastore = datastores[0]
            if (not datastore):
                logging.error("Cannot find a valid datastore")
                self.assertFalse(True)
            self.datastore_name = datastore[0]
            self.datastore_path = datastore[2]
            logging.debug("datastore_name=%s datastore_path=%s", self.datastore_name,
                                                                 self.datastore_path)   
        
        # get service_instance, and create a VM
        si = vmdk_ops.get_si()
        self.create_vm(si, self.vm_name, self.datastore_name)

        # create max_vol_count+1 VMDK files
        for id in range(1, self.max_vol_count+2):
            volName = 'VmdkAttachDetachTestVol' + str(id)
            fullpath = os.path.join(self.datastore_path, volName + '.vmdk')
            self.assertEqual(None,
                                vmdk_ops.createVMDK(vm_name=self.vm_name,
                                                    vmdk_path=fullpath,
                                                    vol_name=volName))
 def setUp(self):
     """create a vmdk before each test (method) in this class"""
     self.si = vmdk_ops.connectLocal()
     # create VMDK
     err = vmdk_ops.createVMDK(self.VM_NAME, self.VMDK_PATH,
                               "test_policy_vol")
     self.assertEqual(err, None, err)
 def setUp(self):
     """create a vmdk before each test (method) in this class"""
     si = vmdk_ops.get_si()
     # create VMDK
     err = vmdk_ops.createVMDK(vmdk_path=self.VMDK_PATH,
                               vm_name=self.VM_NAME,
                               vol_name="test_policy_vol")
     self.assertEqual(err, None, err)
예제 #10
0
    def testBadOpts(self):
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.badOpts)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        self.assertNotEqual(err, None, err)
예제 #11
0
    def testBadOpts(self):
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=self.name,
                                  vol_name=self.volName,
                                  opts=self.badOpts)
        self.assertNotEqual(err, None, err)

        err = vmdk_ops.removeVMDK(self.name)
        self.assertNotEqual(err, None, err)
 def testCreateDelete(self):
     err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                               vmdk_path=self.name,
                               vol_name=self.volName)
     self.assertEqual(err, None, err)
     self.assertEqual(os.path.isfile(self.name), True,
                      "VMDK {0} is missing after create.".format(self.name))
     err = vmdk_ops.removeVMDK(self.name)
     self.assertEqual(err, None, err)
     self.assertEqual(
         os.path.isfile(self.name), False,
         "VMDK {0} is still present after delete.".format(self.name))
 def testCreateDelete(self):
     err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                               vmdk_path=self.name,
                               vol_name=self.volName)
     self.assertEqual(err, None, err)
     self.assertEqual(
         os.path.isfile(self.name), True,
         "VMDK {0} is missing after create.".format(self.name))
     err = vmdk_ops.removeVMDK(self.name)
     self.assertEqual(err, None, err)
     self.assertEqual(
         os.path.isfile(self.name), False,
         "VMDK {0} is still present after delete.".format(self.name))
예제 #14
0
 def setUp(self):
     """ Setup run before each test """
     self.vol_count = 0
     self.cleanup()
     for (datastore, url_name, path) in vmdk_utils.get_datastores():
         if not self.mkdir(path):
             continue
         for id in range(5):
             volName = 'testvol' + str(id)
             fullpath = os.path.join(path, volName + '.vmdk')
             self.assertEqual(None,
                              vmdk_ops.createVMDK(vm_name='test-vm',
                                                  vmdk_path=fullpath,
                                                  vol_name=volName))
             self.vol_count += 1
 def setUp(self):
     """ Setup run before each test """
     self.vol_count = 0
     self.cleanup()
     for (datastore, url, path) in vmdk_utils.get_datastores():
         if not self.mkdir(path):
             continue
         for id in range(5):
             volName = 'testvol' + str(id)
             fullpath = os.path.join(path, volName + '.vmdk')
             self.assertEqual(None,
                              vmdk_ops.createVMDK(vm_name='test-vm',
                                                  vmdk_path=fullpath,
                                                  vol_name=volName))
             self.vol_count += 1
예제 #16
0
    def testPolicyUpdate(self):
        path = vsan_info.get_vsan_dockvols_path()
        vmdk_path = vmdk_utils.get_vmdk_path(path, self.volName)
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=vmdk_path,
                                  vol_name=self.volName,
                                  opts={'vsan-policy-name': 'good'})
        self.assertEqual(err, None, err)
        self.assertEqual(None, vsan_policy.update('good',
                                                  self.new_policy_content))
        # Setting an identical policy returns an error msg
        self.assertNotEqual(None, vsan_policy.update('good',
                                                     self.new_policy_content))

        backup_policy_file = vsan_policy.backup_policy_filename(self.name)
        #Ensure there is no backup policy file
        self.assertFalse(os.path.isfile(backup_policy_file))

        # Fail to update because of a bad policy, and ensure there is no backup
        self.assertNotEqual(None, vsan_policy.update('good', 'blah'))
        self.assertFalse(os.path.isfile(backup_policy_file))
    def testPolicyUpdate(self):
        path = vsan_info.get_vsan_dockvols_path()
        vmdk_path = vmdk_utils.get_vmdk_path(path, self.volName)
        err = vmdk_ops.createVMDK(vm_name=self.vm_name,
                                  vmdk_path=vmdk_path,
                                  vol_name=self.volName,
                                  opts={'vsan-policy-name': 'good'})
        self.assertEqual(err, None, err)
        self.assertEqual(None,
                         vsan_policy.update('good', self.new_policy_content))
        # Setting an identical policy returns an error msg
        self.assertNotEqual(
            None, vsan_policy.update('good', self.new_policy_content))

        backup_policy_file = vsan_policy.backup_policy_filename(self.name)
        #Ensure there is no backup policy file
        self.assertFalse(os.path.isfile(backup_policy_file))

        # Fail to update because of a bad policy, and ensure there is no backup
        self.assertNotEqual(None, vsan_policy.update('good', 'blah'))
        self.assertFalse(os.path.isfile(backup_policy_file))
 def setUp(self):
     """create a vmdk before each test (method) in this class"""
     self.si = vmdk_ops.connectLocal()
     # create VMDK
     err = vmdk_ops.createVMDK(self.VM_NAME, self.VMDK_PATH, "test_policy_vol")
     self.assertEqual(err, None, err)