コード例 #1
0
    def cleanup(self):

        print('Cleanup Samples Started')
        CreateDefaultVM(self.context.client).cleanup()
        CreateBasicVM(self.context.client).cleanup()
        CreateExhaustiveVM(self.context.client).cleanup()
        print('Cleanup Samples Complete\n')
コード例 #2
0
    def setup(self, context):
        print('Setup Samples Started')

        self.context = context

        ###########################################################################
        # Getting a PlacementSpec
        ###########################################################################
        placement_spec = samples.vsphere.vcenter.vm.placement.get_placement_spec_for_resource_pool(context)
        print('=' * 79)
        print('= Resource selection')
        print('=' * 79)
        print('placement_spec={}'.format(pp(placement_spec)))

        ###########################################################################
        # Getting a Network
        # Choose one of the following ways to get the PlacementSpec
        # 1. STANDARD_PORTGROUP on DATACENTER2
        # 2. DISTRIBUTED_PORTGROUP on DATACENTER2
        ###########################################################################
        standard_network = samples.vsphere.vcenter.helper \
            .network_helper.get_network_backing(
            context.client,
            context.testbed.config['STDPORTGROUP_NAME'],
            context.testbed.config['VM_DATACENTER_NAME'],
            Network.Type.STANDARD_PORTGROUP)
        print('standard_network={}'.format(standard_network))

        distributed_network = samples.vsphere.vcenter.helper \
            .network_helper.get_network_backing(
            context.client,
            context.testbed.config['VDPORTGROUP1_NAME'],
            context.testbed.config['VM_DATACENTER_NAME'],
            Network.Type.DISTRIBUTED_PORTGROUP)
        print('distributed_network={}'.format(distributed_network))

        print('=' * 79)

        self.default_vm = CreateDefaultVM(context.client,
                                          placement_spec)
        self.basic_vm = CreateBasicVM(context.client, placement_spec)
        self.exhaustive_vm = CreateExhaustiveVM(context.client,
                                                placement_spec,
                                                standard_network,
                                                distributed_network)

        print('Setup Samples Complete')
コード例 #3
0
class VMSetup(object):
    def __init__(self, context=None):
        self.context = context
        self.basic_vm = None
        self.default_vm = None
        self.exhaustive_vm = None

    def setup(self, context):
        print('Setup Samples Started')

        self.context = context

        ###########################################################################
        # Getting a PlacementSpec
        ###########################################################################
        placement_spec = samples.vsphere.vcenter.vm.placement.get_placement_spec_for_resource_pool(context)
        print('=' * 79)
        print('= Resource selection')
        print('=' * 79)
        print('placement_spec={}'.format(pp(placement_spec)))

        ###########################################################################
        # Getting a Network
        # Choose one of the following ways to get the PlacementSpec
        # 1. STANDARD_PORTGROUP on DATACENTER2
        # 2. DISTRIBUTED_PORTGROUP on DATACENTER2
        ###########################################################################
        standard_network = samples.vsphere.vcenter.helper \
            .network_helper.get_network_backing(
            context.client,
            context.testbed.config['STDPORTGROUP_NAME'],
            context.testbed.config['VM_DATACENTER_NAME'],
            Network.Type.STANDARD_PORTGROUP)
        print('standard_network={}'.format(standard_network))

        distributed_network = samples.vsphere.vcenter.helper \
            .network_helper.get_network_backing(
            context.client,
            context.testbed.config['VDPORTGROUP1_NAME'],
            context.testbed.config['VM_DATACENTER_NAME'],
            Network.Type.DISTRIBUTED_PORTGROUP)
        print('distributed_network={}'.format(distributed_network))

        print('=' * 79)

        self.default_vm = CreateDefaultVM(context.client,
                                          placement_spec)
        self.basic_vm = CreateBasicVM(context.client, placement_spec)
        self.exhaustive_vm = CreateExhaustiveVM(context.client,
                                                placement_spec,
                                                standard_network,
                                                distributed_network)

        print('Setup Samples Complete')

    def cleanup(self):

        print('Cleanup Samples Started')
        CreateDefaultVM(self.context.client).cleanup()
        CreateBasicVM(self.context.client).cleanup()
        CreateExhaustiveVM(self.context.client).cleanup()
        print('Cleanup Samples Complete\n')

    def validate(self):
        print('Validating and Detecting Resources in vcenter.vm Samples')
        r = testbed_setup.validate(self.context)
        if r:
            print('==> Samples Setup validated')
            return True
        else:
            print('==> Samples Setup has errors')
            return False

    def run(self):
        # Clean up in case of past failures
        self.cleanup()

        # Check that sample is ready to run
        if self.context.option['DO_SAMPLES']:
            if not self.validate():
                exit(0)

        ###########################################################################
        # Create VM samples
        #
        # Choose one of the following ways to create the VM
        # 1. Default
        # 2. Basic (2 disks, 1 nic)
        # 3. Exhaustive (3 disks, 2 nics, 2 vcpu, 2 GB memory, boot=BIOS, 1 cdrom,
        #                1 serial port, 1 parallel port, 1 floppy,
        #                boot_devices= [CDROM, DISK, ETHERNET])
        ###########################################################################
        self.default_vm.run()
        self.basic_vm.run()
        self.exhaustive_vm.run()

        ###########################################################################
        # Incremental device CRUDE + connect/disconnect samples
        #
        ###########################################################################
        if self.context.option['DO_SAMPLES_INCREMENTAL']:
            samples.vsphere.vcenter.vm.hardware.main.setup(self.context)
            samples.vsphere.vcenter.vm.hardware.main.validate(self.context)
            samples.vsphere.vcenter.vm.hardware.main.run()
            if self.context.option['DO_SAMPLES_CLEANUP']:
                samples.vsphere.vcenter.vm.hardware.main.cleanup()

        # Sample cleanup
        if self.context.option['DO_SAMPLES_CLEANUP']:
            self.cleanup()
コード例 #4
0
def create_vm(vm_name, cpu, memory, cap):
    session = get_unverified_session()
    client = create_vsphere_client(server='192.168.111.101', username='******',
                                   password='******', session=session)
    create_basic_vm = CreateBasicVM(client=client, vm_name=vm_name, cpu=cpu, memory=memory, cap=cap)
    create_basic_vm.run()