コード例 #1
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
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
コード例 #2
0
ファイル: test_vm.py プロジェクト: pilat/rustack-esu
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'
コード例 #3
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
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
コード例 #4
0
ファイル: test_vm.py プロジェクト: pilat/rustack-esu
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
コード例 #5
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
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'
コード例 #6
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
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'
コード例 #7
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
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'
コード例 #8
0
ファイル: test_vm.py プロジェクト: pilat/rustack-esu
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
コード例 #9
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
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
コード例 #10
0
ファイル: test_vm.py プロジェクト: pilat/rustack-esu
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
コード例 #11
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
def test_delete(rsps):
    network = Network.get_object('0b594d5a-1e24-484e-b624-9e139942e2f3')
    network.destroy()
コード例 #12
0
ファイル: test_network.py プロジェクト: pilat/rustack-esu
def test_not_found_by_id(rsps):
    network = '80000000-8000-8000-8000-800000000000'
    with pytest.raises(NotFoundEx):
        Network.get_object(network)