blob: 4007ebe79362d4c0e01ab71477f2580f9486dba8 [file] [log] [blame]
Dmitriy Kruglov6146cb42023-04-10 00:13:59 +02001import os
2from typing import Any, Final, Union
3
4import openstack
5
6
7# openstack.enable_logging(True, path='openstack.log')
8
9TEST_CLOUD: Final[str] = os.getenv('OS_TEST_CLOUD', 'target')
10
11cloud = openstack.connect(cloud=TEST_CLOUD)
12config = openstack.config.loader.OpenStackConfig()
13cloud_config = config.get_one(cloud=TEST_CLOUD)
14
15
16def get_resource_value(
17 resource_key: str, default: Union[int, str]
18) -> Union[int, str]:
19 try:
20 return cloud_config.config['custom_vars'][resource_key]
21 except KeyError:
22 return default
23
24
25CLOUD_NAME: Final[Any] = get_resource_value('cloud_name', '')
26
27UBUNTU_IMAGE_NAME: Final[Any] = get_resource_value(
28 'ubuntu_image_name', 'Ubuntu-18.04')
29FIO_SG_NAME: Final[Any] = get_resource_value('sg_name', 'fio-sg')
30FIO_KEYPAIR_NAME: Final[Union[int, str]] = "-".join(
31 [get_resource_value('keypair_name', 'fio-key'), CLOUD_NAME])
32PRIVATE_KEYPAIR_FILE: Final[str] = "{}/{}.pem".format(
33 get_resource_value('keypair_file_location', '.'),
34 FIO_KEYPAIR_NAME)
35
36FIO_NET_NAME: Final[Any] = get_resource_value('fixed_net_name', 'fio-net')
37FIO_SUBNET_NAME: Final[Any] = get_resource_value(
38 'fixed_subnet_name', 'fio-subnet')
39FIO_SUBNET_RANGE: Final[Any] = get_resource_value(
40 'fixed_subnet_range', '192.168.200.0/24')
41NET_IPV4: Final[Any] = get_resource_value('net_ipv4', '4')
42FIO_ROUTER_NAME: Final[Any] = get_resource_value(
43 'fio_router_name', 'fio-router')
44FLOATING_NET_NAME: Final[Any] = get_resource_value(
45 'floating_net_name', 'public')
46MTU_SIZE: Final[Any] = get_resource_value('mtu_size', 9000)
47
48FIO_FLAVOR_NAME: Final[Any] = get_resource_value('fio_flavor_name', 'fio')
49FIO_FLAVOR_RAM: Final[Any] = get_resource_value('fio_flavor_ram', 2048)
50FIO_FLAVOR_CPUS: Final[Any] = get_resource_value('fio_flavor_cpus', 10)
51FIO_FLAVOR_DISK: Final[Any] = get_resource_value('fio_flavor_disk', 20)
52FIO_CLIENTS_COUNT: Final[Any] = int(
53 get_resource_value('fio_clients_count', 10))
54FIO_VOL_NAME_MASK: Final[Any] = get_resource_value(
55 'fio_vol_name_mask', 'fio-vol')
56FIO_VOL_SIZE: Final[Any] = get_resource_value('fio_vol_size', 110)
57FIO_VOL_TYPE: Final[Any] = get_resource_value(
58 'fio_vol_type', 'volumes-nvme')
59FIO_VOL_MOUNTPOINT: Final[Any] = get_resource_value(
60 'fio_vol_mountpoint', '/dev/vdc')
61FIO_CLIENT_NAME_MASK: Final[Any] = get_resource_value(
62 'fio_client_name_mask', 'fio-vm')
63
64HV_SUFFIX: Final[Any] = get_resource_value('hv_suffix', '')
65
66
67def delete_server(srv: openstack.compute.v2.server.Server) -> None:
68 cloud.compute.delete_server(srv)
69 cloud.compute.wait_for_delete(srv)
70
71
72def delete_volume(vol: openstack.block_storage.v3.volume.Volume) -> None:
73 cloud.volume.delete_volume(vol)
74 cloud.volume.wait_for_delete(vol)
75
76
77def detach_volume(
78 srv: openstack.compute.v2.server.Server,
79 vol: openstack.block_storage.v3.volume.Volume
80) -> None:
81 cloud.compute.delete_volume_attachment(srv, vol)
82 cloud.volume.wait_for_status(vol, status='available')
83
84
85if __name__ == "__main__":
86 print(UBUNTU_IMAGE_NAME)
87 print(FIO_SG_NAME)
88 print(FIO_KEYPAIR_NAME)
89 print(PRIVATE_KEYPAIR_FILE)
90
91 print(FIO_NET_NAME)
92 print(FIO_SUBNET_NAME)
93 print(FIO_SUBNET_RANGE)
94 print(NET_IPV4)
95 print(FIO_ROUTER_NAME)
96 print(FLOATING_NET_NAME)
97 print(MTU_SIZE)
98
99 print(FIO_FLAVOR_NAME)
100 print(FIO_FLAVOR_RAM)
101 print(FIO_FLAVOR_CPUS)
102 print(FIO_FLAVOR_DISK)
103 print(FIO_CLIENTS_COUNT)
104 print(FIO_CLIENT_NAME_MASK)
105 print(FIO_VOL_NAME_MASK)
106 print(FIO_VOL_SIZE)
107 print(FIO_VOL_TYPE)
108 print(FIO_VOL_MOUNTPOINT)
109
110 print(HV_SUFFIX)
111 print(CLOUD_NAME)