Exemple #1
0
    def deploy_portforwards(self, portforwards_data, virtualmachines_data, vpc,
                            publicipaddress):
        for portforward_data in portforwards_data:
            for virtualmachine_data in virtualmachines_data:
                if virtualmachine_data['data']['name'] == portforward_data[
                        'data']['virtualmachinename']:
                    for nic_data in virtualmachine_data['data']['nics']:
                        if nic_data['data']['guestip'] == portforward_data[
                                'data']['nic']:
                            network = get_network(
                                api_client=self.api_client,
                                name=nic_data['data']['networkname'],
                                vpc=vpc)
                            virtualmachine = get_virtual_machine(
                                api_client=self.api_client,
                                name=self.dynamic_names['vms'][
                                    virtualmachine_data['data']['name']],
                                network=network)

                            self.logger.debug(
                                '>>>  PORT FORWARD  =>  Creating...')
                            portforward = NATRule.create(
                                api_client=self.api_client,
                                data=portforward_data['data'],
                                network=network,
                                virtual_machine=virtualmachine,
                                ipaddress=publicipaddress)

                            Tag.create(
                                api_client=self.api_client,
                                resourceType='UserVm',
                                resourceIds=[virtualmachine.id],
                                tags=[{
                                    'key':
                                    'sship',
                                    'value':
                                    publicipaddress.ipaddress.ipaddress
                                }, {
                                    'key':
                                    'sshport',
                                    'value':
                                    portforward_data['data']['publicport']
                                }])

                            self.logger.debug(
                                '>>>  PORT FORWARD  =>  ID: %s  =>  Public Start Port: %s  '
                                '=>  Public End Port: %s  =>  Private Start Port: %s  '
                                '=>  Private End Port: %s  =>  CIDR List: %s  =>  Protocol: %s  '
                                '=>  State: %s  =>  IP: %s  =>  VM: %s',
                                portforward.id, portforward.publicport,
                                portforward.publicendport,
                                portforward.privateport,
                                portforward.privateendport,
                                portforward.cidrlist, portforward.protocol,
                                portforward.state, portforward.ipaddressid,
                                portforward.virtualmachineid)
    def deploy_portforwards(self, portforwards_data, virtualmachines_data, vpc, publicipaddress):
        for portforward_data in portforwards_data:
            for virtualmachine_data in virtualmachines_data:
                if virtualmachine_data['data']['name'] == portforward_data['data']['virtualmachinename']:
                    for nic_data in virtualmachine_data['data']['nics']:
                        if nic_data['data']['guestip'] == portforward_data['data']['nic']:
                            network = get_network(
                                api_client=self.api_client,
                                name=nic_data['data']['networkname'],
                                vpc=vpc
                            )
                            virtualmachine = get_virtual_machine(
                                api_client=self.api_client,
                                name=self.dynamic_names['vms'][virtualmachine_data['data']['name']],
                                network=network
                            )

                            self.logger.debug('>>>  PORT FORWARD  =>  Creating...')
                            portforward = NATRule.create(
                                api_client=self.api_client,
                                data=portforward_data['data'],
                                network=network,
                                virtual_machine=virtualmachine,
                                ipaddress=publicipaddress
                            )

                            Tag.create(
                                api_client=self.api_client,
                                resourceType='UserVm',
                                resourceIds=[virtualmachine.id],
                                tags=[
                                    {
                                        'key': 'sship',
                                        'value': publicipaddress.ipaddress.ipaddress
                                    },
                                    {
                                        'key': 'sshport',
                                        'value': portforward_data['data']['publicport']
                                    }
                                ]
                            )

                            self.logger.debug('>>>  PORT FORWARD  =>  ID: %s  =>  Public Start Port: %s  '
                                              '=>  Public End Port: %s  =>  Private Start Port: %s  '
                                              '=>  Private End Port: %s  =>  CIDR List: %s  =>  Protocol: %s  '
                                              '=>  State: %s  =>  IP: %s  =>  VM: %s', portforward.id,
                                              portforward.publicport, portforward.publicendport,
                                              portforward.privateport, portforward.privateendport, portforward.cidrlist,
                                              portforward.protocol, portforward.state, portforward.ipaddressid,
                                              portforward.virtualmachineid)
Exemple #3
0
    def test_08_vcpolicy_tag_to_reverted_disk(self):
        tag = Tag.create(self.apiclient,
                         resourceIds=self.virtual_machine2.id,
                         resourceType='UserVm',
                         tags={'vc-policy': 'testing_vc-policy'})
        vm = list_virtual_machines(self.apiclient,
                                   id=self.virtual_machine2.id,
                                   listall=True)
        vm_tags = vm[0].tags

        volume = Volume.list(self.apiclient,
                             virtualmachineid=self.virtual_machine2.id,
                             listall=True,
                             type="ROOT")
        self.vc_policy_tags(volume, vm_tags, vm)

        snapshot = Snapshot.create(self.apiclient,
                                   volume[0].id,
                                   account=self.account.name,
                                   domainid=self.account.domainid)

        virtual_machine = self.virtual_machine2.stop(self.apiclient,
                                                     forced=True)

        cmd = revertSnapshot.revertSnapshotCmd()
        cmd.id = snapshot.id
        revertedn = self.apiclient.revertSnapshot(cmd)

        vm = list_virtual_machines(self.apiclient, id=self.virtual_machine2.id)
        vm_tags = vm[0].tags

        vol = list_volumes(self.apiclient, id=snapshot.volumeid, listall=True)
        self.vc_policy_tags(vol, vm_tags, vm)
Exemple #4
0
    def test_25_vc_policy_attach_vol_global_id_vm_uuid(self):

        tag = Tag.create(self.apiclient,
                         resourceIds=self.virtual_machine4.id,
                         resourceType='UserVm',
                         tags={'vc-policy': 'testing_vc-policy'})

        vm = list_virtual_machines(self.apiclient, id=self.virtual_machine4.id)
        vm_tags = vm[0].tags
        volumes = list_volumes(
            self.apiclient,
            virtualmachineid=self.virtual_machine4.id,
        )
        self.assertTrue(len(volumes) == 1, "Volume length should be == 1")
        for v in volumes:
            self.helper.vc_policy_tags_global_id(v, vm_tags, False)

        volume = Volume.create(
            self.apiclient,
            {"diskname": "StorPoolDisk-GlId-%d" % random.randint(0, 100)},
            zoneid=self.zone.id,
            diskofferingid=self.disk_offering.id,
        )

        self.virtual_machine4.attach_volume(self.apiclient, volume)

        vm = list_virtual_machines(self.apiclient, id=self.virtual_machine4.id)
        vm_tags = vm[0].tags
        volumes = list_volumes(self.apiclient,
                               virtualmachineid=self.virtual_machine4.id,
                               id=volume.id)
        self.assertTrue(len(volumes) == 1, "Volume length should be == 1")
        self.helper.vc_policy_tags_global_id(volumes[0], vm_tags, False)
        self._cleanup.append(volume)
Exemple #5
0
    def test_05_set_vcpolicy_tag_with_admin_and_try_delete_with_user(self):
        ''' Test set vc-policy tag to VM with one attached disk
        '''
        tag = Tag.create(self.apiclient,
                         resourceIds=self.virtual_machine.id,
                         resourceType='UserVm',
                         tags={'vc-policy': 'testing_vc-policy'})

        self.debug(
            '######################### test_05_set_vcpolicy_tag_with_admin_and_try_delete_with_user tags ######################### '
        )

        vm = list_virtual_machines(self.userapiclient,
                                   id=self.virtual_machine.id)
        vm_tags = vm[0].tags
        volumes = list_volumes(self.apiclient,
                               virtualmachineid=self.virtual_machine.id,
                               listall=True)
        self.debug(
            '######################### test_01_set_vcpolicy_tag_to_vm_with_attached_disks tags ######################### '
        )

        self.vc_policy_tags(volumes, vm_tags, vm)

        try:
            Tag.delete(self.userapiclient,
                       resourceIds=self.virtual_machine.id,
                       resourceType='UserVm',
                       tags={'vc-policy': 'testing_vc-policy'})
        except Exception as e:
            self.debug(
                "##################### test_05_set_vcpolicy_tag_with_admin_and_try_delete_with_user %s "
                % e)
Exemple #6
0
 def test_01_set_vcpolicy_tag_to_vm_with_attached_disks(self):
     ''' Test set vc-policy tag to VM with one attached disk
     '''
     volume_attached = self.virtual_machine.attach_volume(
         self.userapiclient, self.volume_1)
     try:
         tag = Tag.create(self.userapiclient,
                          resourceIds=self.virtual_machine.id,
                          resourceType='UserVm',
                          tags={'vc-policy': 'testing_vc-policy'})
     except Exception as e:
         self.debug(
             "##################### test_01_set_vcpolicy_tag_to_vm_with_attached_disks %s"
             % e)
Exemple #7
0
    def test_27_vc_policy_to_volume_and_vm_with_glid(self):
        vm = VirtualMachine.create(self.apiclient,
                                   {"name": "StorPool-%s" % uuid.uuid4()},
                                   zoneid=self.zone.id,
                                   templateid=self.template.id,
                                   serviceofferingid=self.service_offering.id,
                                   hypervisor=self.hypervisor,
                                   rootdisksize=10)

        tag = Tag.create(self.apiclient,
                         resourceIds=vm.id,
                         resourceType='UserVm',
                         tags={'vc-policy': 'testing_vc-policy'})

        vm_list = list_virtual_machines(self.apiclient, id=vm.id)
        vm_tags = vm_list[0].tags
        self._cleanup.append(vm)
Exemple #8
0
    def test_01_set_vcpolicy_tag_to_vm_with_attached_disks(self):
        ''' Test set vc-policy tag to VM with one attached disk
        '''
        volume_attached = self.virtual_machine.attach_volume(
            self.apiclient, self.volume_1)
        tag = Tag.create(self.apiclient,
                         resourceIds=self.virtual_machine.id,
                         resourceType='UserVm',
                         tags={'vc-policy': 'testing_vc-policy'})
        vm = list_virtual_machines(self.apiclient,
                                   id=self.virtual_machine.id,
                                   listall=True)
        vm_tags = vm[0].tags
        volumes = list_volumes(self.apiclient,
                               virtualmachineid=self.virtual_machine.id,
                               listall=True)

        self.vc_policy_tags(volumes, vm_tags, vm)
    def test_01_vc_policy_with_attached_disk_uuid(self):
        list = list_volumes(self.apiclient,
                            virtualmachineid=self.virtual_machine.id,
                            id=self.volume.id)
        self.assertIsNotNone(
            list, "Volume=%s was not attached to vm=%s" %
            (self.volume.id, self.virtual_machine.id))

        tag = Tag.create(self.apiclient,
                         resourceIds=self.virtual_machine.id,
                         resourceType='UserVm',
                         tags={'vc-policy': 'testing_vc-policy'})
        vm = list_virtual_machines(self.apiclient, id=self.virtual_machine.id)
        vm_tags = vm[0].tags
        volumes = list_volumes(
            self.apiclient,
            virtualmachineid=self.virtual_machine.id,
        )
        for v in volumes:
            self.helper.vc_policy_tags_global_id(v, vm_tags, False)