コード例 #1
0
 def test_0090_vm_nic_delete(self):
     """Test the method delete_nic in vm.py
     This test passes if a nic is deleted successfully.
     """
     vm = VM(TestVM._client, href=TestVM._test_vapp_first_vm_href)
     nics = vm.list_nics()
     self.assertTrue(len(nics) == 2)
     nic_to_delete = next(i[VmNicProperties.INDEX.value] for i in nics
                          if i[VmNicProperties.PRIMARY.value])
     task = vm.delete_nic(int(nic_to_delete))
     result = TestVM._client.get_task_monitor().wait_for_success(task=task)
     self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)
     vm.reload()
     self.assertTrue(len(vm.list_nics()) == 1)
コード例 #2
0
def create_vm(vms, source_vapp_resource, vm_cfg, master_name, master=False):
    try:
        global lastMasterIp
        vm = vapp.get_vm(vm_cfg['name'])
        vm_obj = VM(client, resource=vm)
        ip = vm_obj.list_nics()[0]['ip_address'].ljust(20)
        if master:
            #gen_key(vm_cfg['name'],os.environ['SSH_USERNAME'],os.environ['SSH_PASSWORD'], ip)
            lastMasterIp = ip
        if vm_obj.is_powered_on() == True:
            print("    VM '{0}' ... OK".format(vm_cfg['name']))
        else:
            print("    VM '{0}' ... DOWN -> starting ...\r".format(
                vm_cfg['name']),
                  end='')
            result = vm_obj.power_on()
            handle_task(client, result)
            print("    VM '{0}' ... UP {1}".format(vm_cfg['name'],
                                                   "".ljust(20)))

    except EntityNotFoundException:
        print("    VM '{0}' ... NONE -> marked for creation ...".format(
            vm_cfg['name']))
        spec = {
            'source_vm_name': vm_cfg['source_vm_name'],
            'vapp': source_vapp_resource
        }
        spec['target_vm_name'] = vm_cfg['name']
        spec['hostname'] = vm_cfg['hostname']
        vms.append(spec)
コード例 #3
0
ファイル: vm_tests.py プロジェクト: vmware/pyvcloud
    def test_0090_vm_nic_delete(self):
        """Test the method delete_nic in vm.py

        This test passes if a nic is deleted successfully.
        """
        vm = VM(TestVM._client, href=TestVM._test_vapp_first_vm_href)
        nics = vm.list_nics()
        self.assertTrue(len(nics) == 2)
        nic_to_delete = next(i[VmNicProperties.INDEX.value] for i in nics
                             if i[VmNicProperties.PRIMARY.value])
        task = vm.delete_nic(int(nic_to_delete))
        result = TestVM._client.get_task_monitor().wait_for_success(task=task)
        self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)

        vm.reload()
        self.assertTrue(len(vm.list_nics()) == 1)
コード例 #4
0
def deploy_local_key(vms, source_vapp_resource, vm_cfg, master_name):
    try:
        vm = vapp.get_vm(vm_cfg['name'])
        vm_obj = VM(client, resource=vm)
        ip = vm_obj.list_nics()[0]['ip_address'].ljust(20)
        push_local_key(os.environ['SSH_USERNAME'], os.environ['SSH_PASSWORD'],
                       ip, master_name)
    except EntityNotFoundException:
        print("    Cannot deploy certificate on VM '{0}'".format(
            vm_cfg['name']))
コード例 #5
0
def generate_key(vms, source_vapp_resource, vm_cfg):
    try:
        global lastMasterIp
        vm = vapp.get_vm(vm_cfg['name'])
        vm_obj = VM(client, resource=vm)
        ip = vm_obj.list_nics()[0]['ip_address'].ljust(20)
        lastMasterIp = ip
        gen_key(vm_cfg['name'], os.environ['SSH_USERNAME'],
                os.environ['SSH_PASSWORD'], ip)
    except EntityNotFoundException:
        print("    Cannot generate certificate on VM '{0}'".format(
            vm_cfg['name']))
コード例 #6
0
    def test_0080_vm_nic_operations(self):
        """Test the method add_nic vm.py.

        This test passes if a nic is created successfully.
        """
        vm = VM(TestVM._client, href=TestVM._test_vapp_first_vm_href)
        task = vm.add_nic(NetworkAdapterType.E1000.value, True, True, 'none',
                          IpAddressMode.NONE.value, None)
        result = TestVM._client.get_task_monitor().wait_for_success(task=task)
        self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)
        vm.reload()
        self.assertTrue(len(vm.list_nics()) == 2)
コード例 #7
0
ファイル: vm_tests.py プロジェクト: vmware/pyvcloud
    def test_0080_vm_nic_operations(self):
        """Test the method add_nic vm.py.

        This test passes if a nic is created successfully.
        """
        vm = VM(TestVM._client, href=TestVM._test_vapp_first_vm_href)
        task = vm.add_nic(NetworkAdapterType.E1000.value, True, True, 'none',
                          IpAddressMode.NONE.value, None)
        result = TestVM._client.get_task_monitor().wait_for_success(task=task)
        self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)
        vm.reload()
        self.assertTrue(len(vm.list_nics()) == 2)
コード例 #8
0
def deploy_tool(vms, source_vapp_resource, vm_cfg, master_name):
    try:
        vm = vapp.get_vm(vm_cfg['name'])
        vm_obj = VM(client, resource=vm)
        ip = vm_obj.list_nics()[0]['ip_address'].ljust(20)
        upgrade_os(os.environ['SSH_USERNAME'], os.environ['SSH_PASSWORD'], ip,
                   master_name)
        install_sshpass(os.environ['SSH_USERNAME'], os.environ['SSH_PASSWORD'],
                        ip, master_name)
        install_git(os.environ['SSH_USERNAME'], os.environ['SSH_PASSWORD'], ip,
                    master_name)
    except EntityNotFoundException:
        print("    Cannot deploy tool on VM '{0}'".format(vm_cfg['name']))
コード例 #9
0
while (vapp.get_all_vms() is None
       or len(vapp.get_all_vms()) < len(cfg.vapp['vms'])):
    print("  VMs ... {0}\r".format("waiting full start ...".ljust(20)), end='')
    vapp.reload()

for vm in vapp.get_all_vms():
    vm_obj = VM(client, resource=vm)
    while (vm_obj.is_powered_on() == False):
        print("  VM '{0}' ... {1}\r".format(vm.get('name'),
                                            "DOWN (waiting)".ljust(20)),
              end='')
        vm_obj.reload()
        time.sleep(5)
    print("  VM '{0}' ... {1}\r".format(vm.get('name'), "UP").ljust(20),
          end='')
    while (vm_obj.list_nics() is None or (len(vm_obj.list_nics()) == 0)
           or ('ip_address' not in vm_obj.list_nics()[0].keys())):
        print("  VM '{0}' ... {1}  -  IP = {2}\r".format(
            vm.get('name'), "UP", "... (waiting)".ljust(20)),
              end='')
        vm_obj.reload()
        time.sleep(5)
    print("  VM '{0}' ... {1}  -  IP = {2}".format(
        vm.get('name'), "UP",
        vm_obj.list_nics()[0]['ip_address'].ljust(20)))

vapp.reload()
vm_obj.reload()

# Deploying tool & keys
for vm_cfg in cfg.vapp['vms']:
コード例 #10
0
print("Prepare Host.ini file ...")
hostconfig = configparser.ConfigParser(allow_no_value=True)
hostconfig['all:vars'] = {
    'ansible_connection': 'ssh',
    'ansible_user': os.environ['SSH_USERNAME'],
    'ansible_ssh_private_key_file': '~/.ssh/id_ansible_rsa',
    'ansible_become_pass': os.environ['SSH_PASSWORD']
}

for vm_cfg in cfg.vapp['vms']:
    try:
        vm_resource = vapp.get_vm(vm_cfg['name'])
        vm_obj = VM(client, resource=vm_resource)
        print("Adding Master {0} -> {1}".format(
            vm_resource.get('name'),
            vm_obj.list_nics()[0]['ip_address'].ljust(20)))
        if not hostconfig.has_section('master'):
            hostconfig.add_section('master')
        hostconfig.set("master", vm_obj.list_nics()[0]['ip_address'].ljust(20))
        for vm_slave_cfg in vm_cfg['slaves']:
            try:
                vm_resource = vapp.get_vm(vm_slave_cfg['name'])
                vm_slave_obj = VM(client, resource=vm_resource)
                if not hostconfig.has_section('node'):
                    hostconfig.add_section('node')
                print("Adding Node {0} -> {1}".format(
                    vm_resource.get('name'),
                    vm_slave_obj.list_nics()[0]['ip_address'].ljust(20)))
                hostconfig.set(
                    "node",
                    vm_slave_obj.list_nics()[0]['ip_address'].ljust(20))