def __init__(self):
        py_vmomi_service = pyVmomiService(SmartConnect, Disconnect)
        cloudshell_data_retriever_service = CloudshellDataRetrieverService()
        resource_connection_details_retriever = ResourceConnectionDetailsRetriever(
            helpers, cloudshell_data_retriever_service)
        resource_remover = CloudshellResourceRemover(helpers)
        command_wrapper = CommandWrapper(getLogger, py_vmomi_service)
        template_deployer = VirtualMachineDeployer(py_vmomi_service,
                                                   generate_unique_name)

        deploy_from_template_command = DeployFromTemplateCommand(
            template_deployer)

        resource_model_parser = ResourceModelParser()
        vc_model_retriever = VCenterDataModelRetriever(helpers,
                                                       resource_model_parser)
        vc_data_model = vc_model_retriever.get_vcenter_data_model()

        #vnic_to_network_mapper = VnicToNetworkMapper(name_generator, vc_data_model.default_network)
        port_group_name_generator = DvPortGroupNameGenerator()
        vnic_to_network_mapper = VnicToNetworkMapper(port_group_name_generator)

        # Virtual Switch Connect
        synchronous_task_waiter = SynchronousTaskWaiter()
        dv_port_group_creator = DvPortGroupCreator(py_vmomi_service,
                                                   synchronous_task_waiter)
        virtual_machine_port_group_configurer = VirtualMachinePortGroupConfigurer(
            py_vmomi_service, synchronous_task_waiter, vnic_to_network_mapper,
            VNicService())
        virtual_switch_to_machine_connector = VirtualSwitchToMachineConnector(
            dv_port_group_creator, virtual_machine_port_group_configurer)

        virtual_switch_connect_command = VirtualSwitchConnectCommand(
            py_vmomi_service, virtual_switch_to_machine_connector,
            DvPortGroupNameGenerator(), VlanSpecFactory(), VLanIdRangeParser(),
            getLogger('VirtualSwitchConnectCommand'))

        # Virtual Switch Revoke
        virtual_switch_disconnect_command = \
            VirtualSwitchToMachineDisconnectCommand(py_vmomi_service,
                                                    virtual_machine_port_group_configurer,
                                                    vc_data_model.default_network)

        destroy_virtual_machine_command = DestroyVirtualMachineCommand(
            py_vmomi_service, resource_remover,
            virtual_switch_disconnect_command)
        # Power Command
        vm_power_management_command = VirtualMachinePowerManagementCommand(
            py_vmomi_service, synchronous_task_waiter)
        # Refresh IP command
        refresh_ip_command = RefreshIpCommand(
            py_vmomi_service, cloudshell_data_retriever_service, helpers,
            resource_model_parser)

        self.commandExecuterService = CommandExecuterService(
            jsonpickle, helpers, command_wrapper,
            resource_connection_details_retriever, vc_data_model,
            destroy_virtual_machine_command, deploy_from_template_command,
            virtual_switch_connect_command, virtual_switch_disconnect_command,
            vm_power_management_command, refresh_ip_command)
Exemple #2
0
    def integration_test_connect_B(self):
        py_vmomi_service = pyVmomiService(SmartConnect, Disconnect)
        cred = TestCredentials()
        si = py_vmomi_service.connect(cred.host, cred.username, cred.password, cred.port)
        vm_uuid = py_vmomi_service.find_vm_by_name(si, 'QualiSB/Boris', 'Boris2-win7').config.uuid

        mapping = VmNetworkMapping()
        mapping.vlan_id = '114'
        # mapping.dv_port_name = 65
        mapping.dv_switch_name = 'dvSwitch'
        mapping.dv_switch_path = 'QualiSB'
        mapping.port_group_path = 'QualiSB'
        mapping.vlan_spec = 'Trunk'

        vlan_spec = VlanSpecFactory()
        range_fac = VLanIdRangeParser()
        synchronous_task_waiter = SynchronousTaskWaiter()
        name_gen = DvPortGroupNameGenerator()
        mapper = VnicToNetworkMapper(name_gen)
        dv_port_group_creator = DvPortGroupCreator(py_vmomi_service, synchronous_task_waiter)
        virtual_machine_port_group_configurer = VirtualMachinePortGroupConfigurer(py_vmomi_service,
                                                                                  synchronous_task_waiter,
                                                                                  mapper,
                                                                                  VNicService())
        connector = VirtualSwitchToMachineConnector(dv_port_group_creator, virtual_machine_port_group_configurer)

        vnic_updater = VnicUpdater(helpers)
        command = VirtualSwitchConnectCommand(py_vmomi_service, connector, name_gen, vlan_spec, range_fac, vnic_updater)

        command.connect_to_networks(si, vm_uuid, [mapping], 'QualiSB/anetwork')
    def test_one_numer(self):
        v_lan_id_range_parser = VLanIdRangeParser()
        vlan_id = v_lan_id_range_parser.parse_vlan_id('Trunk', '11')

        self.assertEqual(vlan_id[0].start, 11)
        self.assertEqual(vlan_id[0].end, 11)
    def test_two_numbers_with_dash(self):
        v_lan_id_range_parser = VLanIdRangeParser()
        vlan_id = v_lan_id_range_parser.parse_vlan_id('Access', '100')

        self.assertEqual(vlan_id, 100)
    def test_two_numbers_with_dash(self):
        v_lan_id_range_parser = VLanIdRangeParser()
        vlan_id = v_lan_id_range_parser.parse_vlan_id('Trunk', '11-100')

        self.assertEqual(vlan_id[0].start, 11)
        self.assertEqual(vlan_id[0].end, 100)
    def test_one_numer(self):
        v_lan_id_range_parser = VLanIdRangeParser()
        vlan_id = v_lan_id_range_parser.parse_vlan_id('Trunk', '11')

        self.assertEqual(vlan_id[0].start, 11)
        self.assertEqual(vlan_id[0].end, 11)
 def test_parse_vlan_id(self):
     v_lan_id_range_parser = VLanIdRangeParser()
     self.assertRaises(Exception, v_lan_id_range_parser.parse_vlan_id, '',
                       None)
    def test_two_numbers_with_dash(self):
        v_lan_id_range_parser = VLanIdRangeParser()
        vlan_id = v_lan_id_range_parser.parse_vlan_id('Access', '100')

        self.assertEqual(vlan_id, 100)
    def test_two_numbers_with_dash(self):
        v_lan_id_range_parser = VLanIdRangeParser()
        vlan_id = v_lan_id_range_parser.parse_vlan_id('Trunk', '11-100')

        self.assertEqual(vlan_id[0].start, 11)
        self.assertEqual(vlan_id[0].end, 100)