Exemple #1
0
    def test_0060_detach_disk_from_vm_in_vapp(self):
        """Test the  method vapp.detach_disk_to_vm().

           Invoke the method for the second independent disk, to detach it from
           the default test vm available in the Environment. we need to power
           down the vm before running this test, and power it back on once the
           test is over.

           This test passes if the disk detachment task succeeds.
        """
        org_admin_client = Environment.get_client_in_default_org(
            CommonRoles.ORGANIZATION_ADMINISTRATOR)
        vdc = Environment.get_test_vdc(org_admin_client)
        vapp = Environment.get_default_vapp(org_admin_client)
        vm_name = Environment.get_default_vm_name()
        disk = vdc.get_disk(disk_id=TestDisk._idisk2_id)

        try:
            # vm needs to be powered off for detach to succeed.
            self._power_off_vapp(org_admin_client, vapp)

            vapp.reload()
            result = vapp.detach_disk_from_vm(disk_href=disk.get('href'),
                                              vm_name=vm_name)
            task = org_admin_client.get_task_monitor().wait_for_success(
                task=result)
            self.assertEqual(task.get('status'), TaskStatus.SUCCESS.value)

            vapp.reload()
            # power on vapp after detaching disk is successful for sanity of
            # next test run.
            self._power_on_vapp(org_admin_client, vapp)
        finally:
            org_admin_client.logout()
Exemple #2
0
    def test_0050_attach_disk_to_vm_in_vapp(self):
        """Test the  method vapp.attach_disk_to_vm().

        Invoke the method for the second independent disk, and attach it to the
        default test vm available in the Environment.

        This test passes if the disk attachment task succeeds.
        """
        org_admin_client = Environment.get_client_in_default_org(
            CommonRoles.ORGANIZATION_ADMINISTRATOR)
        vdc = Environment.get_test_vdc(org_admin_client)
        vapp = Environment.get_default_vapp(org_admin_client)
        vm_name = Environment.get_default_vm_name()
        disk = vdc.get_disk(disk_id=TestDisk._idisk2_id)

        try:
            if vapp.is_suspended():
                task = vapp.deploy()
                org_admin_client.get_task_monitor().wait_for_success(task=task)

            task = vapp.attach_disk_to_vm(disk_href=disk.get('href'),
                                          vm_name=vm_name)
            result = org_admin_client.get_task_monitor().wait_for_success(
                task=task)
            self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)
        finally:
            org_admin_client.logout()
Exemple #3
0
    def test_0020_add_delete_vm(self):
        """Test the method vapp.add_vms() and vapp.delete_vms().

        This test passes if the supplied vm is sucessfully added to the vApp
           and then successfully removed from the vApp.
        """
        logger = Environment.get_default_logger()
        vapp_name = TestVApp._empty_vapp_name
        vapp = Environment.get_vapp_in_test_vdc(client=TestVApp._client,
                                                vapp_name=vapp_name)

        source_vapp_resource = Environment.get_default_vapp(TestVApp._client).\
            get_resource()
        source_vm_name = Environment.get_default_vm_name()
        target_vm_name = TestVApp._additional_vm_name
        spec = {
            'vapp': source_vapp_resource,
            'source_vm_name': source_vm_name,
            'target_vm_name': target_vm_name
        }

        logger.debug('Adding vm ' + target_vm_name + ' to vApp ' + vapp_name)
        # deploy and power_on are false to make sure that the subsequent
        # deletion of vm doesn't require additional power operations
        task = vapp.add_vms([spec],
                            deploy=False,
                            power_on=False,
                            all_eulas_accepted=True)
        result = TestVApp._client.get_task_monitor().wait_for_success(task)
        self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)

        logger.debug('Removing vm ' + target_vm_name + ' from vApp ' +
                     vapp_name)
        vapp.reload()
        task = vapp.delete_vms([target_vm_name])
        result = TestVApp._client.get_task_monitor().wait_for_success(task)
        self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)