def test_create(rsps): vdc_id = 'e5d9a192-c5da-485a-b134-1b14ec9c57d9' vdc = Vdc.get_object(vdc_id) network = Network(name='Brand New Network', vdc=vdc) network.create() assert network.id assert network.name == 'Brand New Network' assert network.vdc.id == vdc.id
def test_create_with_fip(rsps): vdc_id = 'e5d9a192-c5da-485a-b134-1b14ec9c57d9' vdc = Vdc.get_object(vdc_id) template = Template.get_object('70722cb1-6e03-4900-ad78-b680205cd002') storage_profile = StorageProfile.get_object( '563a9b7c-419a-4630-9ac8-8022d740f12a') network = Network.get_object('b9e6df93-0d04-4dac-a3c1-1a8539b8e445') disk_1 = Disk(storage_profile=storage_profile, name='Root disk', size=10) password_field = next(f for f in template.get_fields() \ if f.system_alias == 'password') vm = Vm(name='My New Vm 2', vdc=vdc, cpu=1, ram=2, template=template, ports=[Port(network=network)], disks=[disk_1], metadata=[{ 'field': password_field, 'value': 'On3_tw0_thReE' }], floating=Port()) vm.create() assert vm.floating.ip_address == '74.53.11.5'
def test_remove_subnet(rsps): network = Network.get_object('b2d48cbc-5902-4512-b47d-5a858935e832') assert len(network.subnets) == 1 assert network.subnets[0].id == 'cb2de3aa-2083-4864-b753-9f75c642da71' network.remove_subnet(network.subnets[0]) assert len(network.subnets) == 0
def test_add_networks(rsps): vm_id = '17580bd1-b548-4214-8614-6cfee656bd6f' vm = Vm.get_object(vm_id) assert len(vm.ports) == 1 network = Network.get_object('09110dd6-2868-40f7-9aca-e4cda281ad0d') vm.add_port(Port(network=network)) assert len(vm.ports) == 2
def test_rename(rsps): network = Network.get_object('0b594d5a-1e24-484e-b624-9e139942e2f3') assert network.name == 'Custom network' network.name = 'Net1' network.save() assert network.name == 'Net1'
def test_create_with_subnet(rsps): vdc_id = '70eb1ec5-3e54-4df8-a096-ec26526ec89b' vdc = Vdc.get_object(vdc_id) subnet = Subnet(cidr='10.49.1.0/24', gateway='10.49.1.1', start_ip='10.49.1.2', end_ip='10.49.1.254', enable_dhcp=True) network = Network(name='Brand New Network with subnet', vdc=vdc, subnets=[subnet]) network.create() assert len(network.subnets) == 1 assert network.name == 'Brand New Network with subnet'
def test_get_by_id(rsps): network_id = 'b9e6df93-0d04-4dac-a3c1-1a8539b8e445' network = Network.get_object(network_id) assert isinstance(network, Network) assert network.id == network_id assert network.name == 'Default' assert len(network.subnets) == 2 assert network.subnets[0].cidr == '10.0.1.0/24' assert network.subnets[1].cidr == '10.22.23.0/24'
def test_create(rsps): vdc_id = 'e5d9a192-c5da-485a-b134-1b14ec9c57d9' vdc = Vdc.get_object(vdc_id) template = Template.get_object('70722cb1-6e03-4900-ad78-b680205cd002') storage_profile = StorageProfile.get_object( '563a9b7c-419a-4630-9ac8-8022d740f12a') network = Network.get_object('b9e6df93-0d04-4dac-a3c1-1a8539b8e445') disk_1 = Disk(storage_profile=storage_profile, name='Main disk #1', size=10) disk_2 = Disk(storage_profile=storage_profile, name='Second disk #2', size=12) firewall_template = next(f for f in vdc.get_firewall_templates() \ if f.name == 'По-умолчанию') ports = [Port(network=network, fw_templates=[firewall_template])] password_field = next(f for f in template.get_fields() \ if f.system_alias == 'password') metadata = [{'field': password_field, 'value': 'On3_tw0_thReE'}] vm = Vm(name='My New Vm', vdc=vdc, cpu=2, ram=4, template=template, ports=ports, disks=[disk_1, disk_2], metadata=metadata) assert vm.template.id == template.id assert len(vm.ports) == 1 assert isinstance(vm.ports[0].network, Network) assert len(vm.disks) == 2 assert isinstance(vm.disks[0], Disk) vm.create() assert vm.template.id == template.id assert len(vm.ports) == 1 assert isinstance(vm.ports[0].network, Network) assert len(vm.ports[0].fw_templates) == 1 assert vm.ports[0].fw_templates[ 0].id == '00000000-0000-0000-0000-000000000000' assert len(vm.disks) == 2 assert isinstance(vm.disks[0], Disk) assert vm.id assert vm.name == 'My New Vm' assert vm.vdc.id == vdc.id assert vm.floating is None
def test_add_subnet(rsps): network = Network.get_object('b9e6df93-0d04-4dac-a3c1-1a8539b8e445') subnet = Subnet(cidr='10.22.23.0/24', gateway='10.22.23.1', start_ip='10.22.23.2', end_ip='10.22.23.254', enable_dhcp=True) assert len(network.subnets) == 2 network.add_subnet(subnet) assert len(network.subnets) == 3
def test_create_with_ids_instead_of_objects(rsps): storage_profile = StorageProfile.get_object( '563a9b7c-419a-4630-9ac8-8022d740f12a') network = Network.get_object('b9e6df93-0d04-4dac-a3c1-1a8539b8e445') disk_1 = Disk(storage_profile=storage_profile, name='Main disk #1', size=10) # existing disk disk_2 = Disk(storage_profile=storage_profile, name='Second disk #2', size=12) vdc_id = 'e5d9a192-c5da-485a-b134-1b14ec9c57d9' template_id = '70722cb1-6e03-4900-ad78-b680205cd002' field = TemplateField(id='70722cb1-6e03-4900-ad78-b680205ff002') ports = [ Port(network=network.id, fw_templates=[ FirewallTemplate.get_object( '00000000-0000-0000-0000-000000000000') ]) ] metadata = [{'field': field, 'value': 'On3_tw0_thReE'}] vm = Vm(name='My New Vm', vdc=vdc_id, cpu=2, ram=4, template=template_id, ports=ports, disks=[disk_1, disk_2], metadata=metadata) assert vm.template.id == template_id assert len(vm.ports) == 1 assert isinstance(vm.ports[0].network, Network) assert len(vm.disks) == 2 assert isinstance(vm.disks[0], Disk) vm.create() assert vm.template.id == template_id assert len(vm.ports) == 1 assert isinstance(vm.ports[0].network, Network) assert len(vm.disks) == 2 assert isinstance(vm.disks[0], Disk) assert vm.id assert vm.name == 'My New Vm' assert vm.vdc.id == vdc_id
def test_delete(rsps): network = Network.get_object('0b594d5a-1e24-484e-b624-9e139942e2f3') network.destroy()
def test_not_found_by_id(rsps): network = '80000000-8000-8000-8000-800000000000' with pytest.raises(NotFoundEx): Network.get_object(network)