osi-dump 0.1.3.3.4.3__py3-none-any.whl → 0.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. osi_dump/__main__.py +4 -4
  2. osi_dump/api/keystone.py +70 -70
  3. osi_dump/api/neutron.py +65 -65
  4. osi_dump/api/octavia.py +94 -94
  5. osi_dump/api/placement.py +41 -41
  6. osi_dump/batch_handler/__init__.py +6 -5
  7. osi_dump/batch_handler/external_port_batch_handler.py +55 -55
  8. osi_dump/batch_handler/flavor_batch_handler.py +51 -51
  9. osi_dump/batch_handler/floating_ip_batch_handler.py +57 -57
  10. osi_dump/batch_handler/hypervisor_batch_handler.py +55 -55
  11. osi_dump/batch_handler/image_batch_handler.py +51 -51
  12. osi_dump/batch_handler/instance_batch_handler.py +46 -54
  13. osi_dump/batch_handler/load_balancer_batch_handler.py +59 -59
  14. osi_dump/batch_handler/network_batch_handler.py +51 -51
  15. osi_dump/batch_handler/project_batch_handler.py +51 -51
  16. osi_dump/batch_handler/role_assignment_batch_handler.py +38 -61
  17. osi_dump/batch_handler/router_batch_handler.py +49 -49
  18. osi_dump/batch_handler/security_group_batch_handler.py +37 -0
  19. osi_dump/batch_handler/volume_batch_handler.py +45 -45
  20. osi_dump/cli.py +267 -257
  21. osi_dump/exporter/external_port/excel_external_port_exporter.py +34 -34
  22. osi_dump/exporter/external_port/external_port_exporter.py +7 -7
  23. osi_dump/exporter/flavor/excel_flavor_exporter.py +30 -30
  24. osi_dump/exporter/flavor/flavor_exporter.py +7 -7
  25. osi_dump/exporter/floating_ip/excel_floating_ip_exporter.py +30 -30
  26. osi_dump/exporter/floating_ip/floating_ip_exporter.py +7 -7
  27. osi_dump/exporter/hypervisor/excel_hypervisor_exporter.py +32 -32
  28. osi_dump/exporter/hypervisor/hypervisor_exporter.py +7 -7
  29. osi_dump/exporter/image/excel_image_exporter.py +28 -28
  30. osi_dump/exporter/image/image_exporter.py +7 -7
  31. osi_dump/exporter/instance/excel_instance_exporter.py +29 -29
  32. osi_dump/exporter/instance/instance_exporter.py +8 -7
  33. osi_dump/exporter/load_balancer/excel_load_balancer_exporter.py +36 -36
  34. osi_dump/exporter/load_balancer/load_balancer_exporter.py +7 -7
  35. osi_dump/exporter/network/excel_network_exporter.py +32 -32
  36. osi_dump/exporter/network/network_exporter.py +7 -7
  37. osi_dump/exporter/project/excel_project_exporter.py +30 -30
  38. osi_dump/exporter/project/project_exporter.py +7 -7
  39. osi_dump/exporter/role_assignment/excel_role_assignment_exporter.py +43 -35
  40. osi_dump/exporter/role_assignment/role_assignment_exporter.py +7 -7
  41. osi_dump/exporter/router/excel_router_exporter.py +30 -30
  42. osi_dump/exporter/router/router_exporter.py +7 -7
  43. osi_dump/exporter/security_group/excel_security_group_exporter.py +35 -0
  44. osi_dump/exporter/security_group/security_group_exporter.py +8 -0
  45. osi_dump/exporter/volume/excel_volume_exporter.py +29 -29
  46. osi_dump/exporter/volume/volume_exporter.py +7 -7
  47. osi_dump/importer/external_port/external_port_importer.py +9 -9
  48. osi_dump/importer/external_port/openstack_external_port_importer.py +177 -177
  49. osi_dump/importer/flavor/flavor_importer.py +9 -9
  50. osi_dump/importer/flavor/openstack_flavor_importer.py +64 -64
  51. osi_dump/importer/floating_ip/floating_ip_importer.py +9 -9
  52. osi_dump/importer/floating_ip/openstack_floating_ip_importer.py +68 -68
  53. osi_dump/importer/hypervisor/hypervisor_importer.py +9 -9
  54. osi_dump/importer/hypervisor/openstack_hypervisor_importer.py +137 -137
  55. osi_dump/importer/image/image_importer.py +9 -9
  56. osi_dump/importer/image/openstack_image_importer.py +81 -81
  57. osi_dump/importer/instance/instance_importer.py +8 -9
  58. osi_dump/importer/instance/openstack_instance_importer.py +136 -136
  59. osi_dump/importer/load_balancer/load_balancer_importer.py +9 -9
  60. osi_dump/importer/load_balancer/openstack_load_balancer_importer.py +113 -113
  61. osi_dump/importer/network/network_importer.py +9 -9
  62. osi_dump/importer/network/openstack_network_importer.py +93 -93
  63. osi_dump/importer/project/openstack_project_importer.py +141 -141
  64. osi_dump/importer/project/project_importer.py +9 -9
  65. osi_dump/importer/role_assignment/openstack_role_assignment_importer.py +117 -147
  66. osi_dump/importer/role_assignment/role_assignment_importer.py +16 -9
  67. osi_dump/importer/router/openstack_router_importer.py +87 -87
  68. osi_dump/importer/router/router_importer.py +9 -9
  69. osi_dump/importer/security_group/openstack_security_group_importer.py +54 -0
  70. osi_dump/importer/security_group/security_group_importer.py +8 -0
  71. osi_dump/importer/volume/openstack_volume_importer.py +81 -81
  72. osi_dump/importer/volume/volume_importer.py +9 -9
  73. osi_dump/model/authentication_info.py +15 -15
  74. osi_dump/model/external_port.py +30 -30
  75. osi_dump/model/flavor.py +20 -20
  76. osi_dump/model/floating_ip.py +24 -24
  77. osi_dump/model/hypervisor.py +24 -24
  78. osi_dump/model/image.py +27 -27
  79. osi_dump/model/instance.py +29 -29
  80. osi_dump/model/load_balancer.py +26 -26
  81. osi_dump/model/network.py +25 -25
  82. osi_dump/model/project.py +33 -33
  83. osi_dump/model/role_assignment.py +30 -23
  84. osi_dump/model/router.py +23 -23
  85. osi_dump/model/security_group.py +22 -0
  86. osi_dump/model/volume.py +25 -25
  87. osi_dump/os_connection/get_connections.py +67 -67
  88. osi_dump/util/__init__.py +7 -7
  89. osi_dump/util/create_file.py +11 -11
  90. osi_dump/util/excel_autosize_column.py +39 -39
  91. osi_dump/util/excel_sort_sheet.py +35 -35
  92. osi_dump/util/export_data_excel.py +36 -36
  93. osi_dump/util/extract_hostname.py +5 -5
  94. osi_dump/util/openstack_util.py +48 -48
  95. osi_dump/util/panda_excel.py +26 -26
  96. osi_dump/util/validate_dir_path.py +20 -20
  97. {osi_dump-0.1.3.3.4.3.dist-info → osi_dump-0.1.4.dist-info}/METADATA +40 -40
  98. osi_dump-0.1.4.dist-info/RECORD +130 -0
  99. osi_dump-0.1.3.3.4.3.dist-info/RECORD +0 -124
  100. {osi_dump-0.1.3.3.4.3.dist-info → osi_dump-0.1.4.dist-info}/WHEEL +0 -0
  101. {osi_dump-0.1.3.3.4.3.dist-info → osi_dump-0.1.4.dist-info}/entry_points.txt +0 -0
  102. {osi_dump-0.1.3.3.4.3.dist-info → osi_dump-0.1.4.dist-info}/top_level.txt +0 -0
@@ -1,59 +1,59 @@
1
- import logging
2
-
3
- from openstack.connection import Connection
4
-
5
- from osi_dump.exporter.load_balancer.load_balancer_exporter import (
6
- LoadBalancerExporter,
7
- )
8
- from osi_dump.exporter.load_balancer.excel_load_balancer_exporter import (
9
- ExcelLoadBalancerExporter,
10
- )
11
-
12
- from osi_dump.importer.load_balancer.load_balancer_importer import (
13
- LoadBalancerImporter,
14
- )
15
- from osi_dump.importer.load_balancer.openstack_load_balancer_importer import (
16
- OpenStackLoadBalancerImporter,
17
- )
18
-
19
-
20
- from osi_dump import util
21
-
22
- logger = logging.getLogger(__name__)
23
-
24
-
25
- class LoadBalancerBatchHandler:
26
- def __init__(self):
27
- self._importer_exporter_list: list[
28
- tuple[LoadBalancerImporter, LoadBalancerExporter]
29
- ] = []
30
-
31
- def add_importer_exporter_from_openstack_connections(
32
- self, connections: list[Connection], output_file: str
33
- ):
34
- for connection in connections:
35
- importer = OpenStackLoadBalancerImporter(connection)
36
-
37
- sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-lb"
38
- exporter = ExcelLoadBalancerExporter(
39
- sheet_name=sheet_name, output_file=output_file
40
- )
41
-
42
- self.add_importer_exporter(importer=importer, exporter=exporter)
43
-
44
- def add_importer_exporter(
45
- self, importer: LoadBalancerImporter, exporter: LoadBalancerExporter
46
- ):
47
- self._importer_exporter_list.append((importer, exporter))
48
-
49
- def process(self):
50
-
51
- for importer, exporter in self._importer_exporter_list:
52
- try:
53
-
54
- load_balancers = importer.import_load_balancers()
55
-
56
- exporter.export_load_balancers(load_balancers=load_balancers)
57
- except Exception as e:
58
- logger.warning(e)
59
- logger.warning("Skipping...")
1
+ import logging
2
+
3
+ from openstack.connection import Connection
4
+
5
+ from osi_dump.exporter.load_balancer.load_balancer_exporter import (
6
+ LoadBalancerExporter,
7
+ )
8
+ from osi_dump.exporter.load_balancer.excel_load_balancer_exporter import (
9
+ ExcelLoadBalancerExporter,
10
+ )
11
+
12
+ from osi_dump.importer.load_balancer.load_balancer_importer import (
13
+ LoadBalancerImporter,
14
+ )
15
+ from osi_dump.importer.load_balancer.openstack_load_balancer_importer import (
16
+ OpenStackLoadBalancerImporter,
17
+ )
18
+
19
+
20
+ from osi_dump import util
21
+
22
+ logger = logging.getLogger(__name__)
23
+
24
+
25
+ class LoadBalancerBatchHandler:
26
+ def __init__(self):
27
+ self._importer_exporter_list: list[
28
+ tuple[LoadBalancerImporter, LoadBalancerExporter]
29
+ ] = []
30
+
31
+ def add_importer_exporter_from_openstack_connections(
32
+ self, connections: list[Connection], output_file: str
33
+ ):
34
+ for connection in connections:
35
+ importer = OpenStackLoadBalancerImporter(connection)
36
+
37
+ sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-lb"
38
+ exporter = ExcelLoadBalancerExporter(
39
+ sheet_name=sheet_name, output_file=output_file
40
+ )
41
+
42
+ self.add_importer_exporter(importer=importer, exporter=exporter)
43
+
44
+ def add_importer_exporter(
45
+ self, importer: LoadBalancerImporter, exporter: LoadBalancerExporter
46
+ ):
47
+ self._importer_exporter_list.append((importer, exporter))
48
+
49
+ def process(self):
50
+
51
+ for importer, exporter in self._importer_exporter_list:
52
+ try:
53
+
54
+ load_balancers = importer.import_load_balancers()
55
+
56
+ exporter.export_load_balancers(load_balancers=load_balancers)
57
+ except Exception as e:
58
+ logger.warning(e)
59
+ logger.warning("Skipping...")
@@ -1,51 +1,51 @@
1
- import logging
2
-
3
- from openstack.connection import Connection
4
-
5
- from osi_dump.exporter.network.network_exporter import NetworkExporter
6
- from osi_dump.exporter.network.excel_network_exporter import (
7
- ExcelNetworkExporter,
8
- )
9
-
10
- from osi_dump.importer.network.network_importer import NetworkImporter
11
- from osi_dump.importer.network.openstack_network_importer import (
12
- OpenStackNetworkImporter,
13
- )
14
-
15
-
16
- from osi_dump import util
17
-
18
- logger = logging.getLogger(__name__)
19
-
20
-
21
- class NetworkBatchHandler:
22
- def __init__(self):
23
- self._importer_exporter_list: list[tuple[NetworkImporter, NetworkExporter]] = []
24
-
25
- def add_importer_exporter_from_openstack_connections(
26
- self, connections: list[Connection], output_file: str
27
- ):
28
- for connection in connections:
29
- importer = OpenStackNetworkImporter(connection)
30
-
31
- sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-network"
32
- exporter = ExcelNetworkExporter(
33
- sheet_name=sheet_name, output_file=output_file
34
- )
35
-
36
- self.add_importer_exporter(importer=importer, exporter=exporter)
37
-
38
- def add_importer_exporter(self, importer: NetworkImporter, exporter: NetworkExporter):
39
- self._importer_exporter_list.append((importer, exporter))
40
-
41
- def process(self):
42
-
43
- for importer, exporter in self._importer_exporter_list:
44
- try:
45
-
46
- networks = importer.import_networks()
47
-
48
- exporter.export_networks(networks=networks)
49
- except Exception as e:
50
- logger.warning(e)
51
- logger.warning("Skipping...")
1
+ import logging
2
+
3
+ from openstack.connection import Connection
4
+
5
+ from osi_dump.exporter.network.network_exporter import NetworkExporter
6
+ from osi_dump.exporter.network.excel_network_exporter import (
7
+ ExcelNetworkExporter,
8
+ )
9
+
10
+ from osi_dump.importer.network.network_importer import NetworkImporter
11
+ from osi_dump.importer.network.openstack_network_importer import (
12
+ OpenStackNetworkImporter,
13
+ )
14
+
15
+
16
+ from osi_dump import util
17
+
18
+ logger = logging.getLogger(__name__)
19
+
20
+
21
+ class NetworkBatchHandler:
22
+ def __init__(self):
23
+ self._importer_exporter_list: list[tuple[NetworkImporter, NetworkExporter]] = []
24
+
25
+ def add_importer_exporter_from_openstack_connections(
26
+ self, connections: list[Connection], output_file: str
27
+ ):
28
+ for connection in connections:
29
+ importer = OpenStackNetworkImporter(connection)
30
+
31
+ sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-network"
32
+ exporter = ExcelNetworkExporter(
33
+ sheet_name=sheet_name, output_file=output_file
34
+ )
35
+
36
+ self.add_importer_exporter(importer=importer, exporter=exporter)
37
+
38
+ def add_importer_exporter(self, importer: NetworkImporter, exporter: NetworkExporter):
39
+ self._importer_exporter_list.append((importer, exporter))
40
+
41
+ def process(self):
42
+
43
+ for importer, exporter in self._importer_exporter_list:
44
+ try:
45
+
46
+ networks = importer.import_networks()
47
+
48
+ exporter.export_networks(networks=networks)
49
+ except Exception as e:
50
+ logger.warning(e)
51
+ logger.warning("Skipping...")
@@ -1,51 +1,51 @@
1
- import logging
2
-
3
- from openstack.connection import Connection
4
-
5
- from osi_dump.exporter.project.project_exporter import (
6
- ProjectExporter,
7
- )
8
- from osi_dump.exporter.project.excel_project_exporter import ExcelProjectExporter
9
-
10
- from osi_dump.importer.project.project_importer import ProjectImporter
11
- from osi_dump.importer.project.openstack_project_importer import (
12
- OpenStackProjectImporter,
13
- )
14
-
15
-
16
- from osi_dump import util
17
-
18
- logger = logging.getLogger(__name__)
19
-
20
-
21
- class ProjectBatchHandler:
22
- def __init__(self):
23
- self._importer_exporter_list: list[tuple[ProjectImporter, ProjectExporter]] = []
24
-
25
- def add_importer_exporter_from_openstack_connections(
26
- self, connections: list[Connection], output_file: str
27
- ):
28
- for connection in connections:
29
- importer = OpenStackProjectImporter(connection)
30
-
31
- sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-project"
32
- exporter = ExcelProjectExporter(
33
- sheet_name=sheet_name, output_file=output_file
34
- )
35
-
36
- self.add_importer_exporter(importer=importer, exporter=exporter)
37
-
38
- def add_importer_exporter(
39
- self, importer: ProjectImporter, exporter: ProjectExporter
40
- ):
41
- self._importer_exporter_list.append((importer, exporter))
42
-
43
- def process(self):
44
- for importer, exporter in self._importer_exporter_list:
45
- try:
46
- projects = importer.import_projects()
47
-
48
- exporter.export_projects(projects=projects)
49
- except Exception as e:
50
- logger.warning(e)
51
- logger.warning("Skipping...")
1
+ import logging
2
+
3
+ from openstack.connection import Connection
4
+
5
+ from osi_dump.exporter.project.project_exporter import (
6
+ ProjectExporter,
7
+ )
8
+ from osi_dump.exporter.project.excel_project_exporter import ExcelProjectExporter
9
+
10
+ from osi_dump.importer.project.project_importer import ProjectImporter
11
+ from osi_dump.importer.project.openstack_project_importer import (
12
+ OpenStackProjectImporter,
13
+ )
14
+
15
+
16
+ from osi_dump import util
17
+
18
+ logger = logging.getLogger(__name__)
19
+
20
+
21
+ class ProjectBatchHandler:
22
+ def __init__(self):
23
+ self._importer_exporter_list: list[tuple[ProjectImporter, ProjectExporter]] = []
24
+
25
+ def add_importer_exporter_from_openstack_connections(
26
+ self, connections: list[Connection], output_file: str
27
+ ):
28
+ for connection in connections:
29
+ importer = OpenStackProjectImporter(connection)
30
+
31
+ sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-project"
32
+ exporter = ExcelProjectExporter(
33
+ sheet_name=sheet_name, output_file=output_file
34
+ )
35
+
36
+ self.add_importer_exporter(importer=importer, exporter=exporter)
37
+
38
+ def add_importer_exporter(
39
+ self, importer: ProjectImporter, exporter: ProjectExporter
40
+ ):
41
+ self._importer_exporter_list.append((importer, exporter))
42
+
43
+ def process(self):
44
+ for importer, exporter in self._importer_exporter_list:
45
+ try:
46
+ projects = importer.import_projects()
47
+
48
+ exporter.export_projects(projects=projects)
49
+ except Exception as e:
50
+ logger.warning(e)
51
+ logger.warning("Skipping...")
@@ -1,61 +1,38 @@
1
- import logging
2
-
3
- from openstack.connection import Connection
4
-
5
- from osi_dump.exporter.role_assignment.role_assignment_exporter import (
6
- RoleAssignmentExporter,
7
- )
8
- from osi_dump.exporter.role_assignment.excel_role_assignment_exporter import (
9
- ExcelRoleAssignmentExporter,
10
- )
11
-
12
- from osi_dump.importer.role_assignment.role_assignment_importer import (
13
- RoleAssignmentImporter,
14
- )
15
- from osi_dump.importer.role_assignment.openstack_role_assignment_importer import (
16
- OpenStackRoleAssignmentImporter,
17
- )
18
-
19
-
20
- from osi_dump import util
21
-
22
- logger = logging.getLogger(__name__)
23
-
24
-
25
- class RoleAssignmentBatchHandler:
26
- def __init__(self):
27
- self._importer_exporter_list: list[
28
- tuple[RoleAssignmentImporter, RoleAssignmentExporter]
29
- ] = []
30
-
31
- def add_importer_exporter_from_openstack_connections(
32
- self, connections: list[Connection], output_file: str
33
- ):
34
- for connection in connections:
35
- importer = OpenStackRoleAssignmentImporter(connection)
36
-
37
- sheet_name = (
38
- f"{util.extract_hostname(connection.auth['auth_url'])}-role_ass"
39
- )
40
- exporter = ExcelRoleAssignmentExporter(
41
- sheet_name=sheet_name, output_file=output_file
42
- )
43
-
44
- self.add_importer_exporter(importer=importer, exporter=exporter)
45
-
46
- def add_importer_exporter(
47
- self, importer: RoleAssignmentImporter, exporter: RoleAssignmentExporter
48
- ):
49
- self._importer_exporter_list.append((importer, exporter))
50
-
51
- def process(self):
52
-
53
- for importer, exporter in self._importer_exporter_list:
54
- try:
55
-
56
- role_assignments = importer.import_role_assignments()
57
-
58
- exporter.export_role_assignments(role_assignments=role_assignments)
59
- except Exception as e:
60
- logger.warning(e)
61
- logger.warning("Skipping...")
1
+ import logging
2
+ from openstack.connection import Connection
3
+ from osi_dump import util
4
+ from osi_dump.importer.role_assignment.role_assignment_importer import RoleAssignmentImporter
5
+ from osi_dump.importer.role_assignment.openstack_role_assignment_importer import OpenStackRoleAssignmentImporter
6
+ from osi_dump.exporter.role_assignment.role_assignment_exporter import RoleAssignmentExporter
7
+ from osi_dump.exporter.role_assignment.excel_role_assignment_exporter import ExcelRoleAssignmentExporter
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+ class RoleAssignmentBatchHandler:
12
+ def __init__(self):
13
+ self._importer_exporter_list: list[tuple[RoleAssignmentImporter, RoleAssignmentExporter]] = []
14
+
15
+ def add_importer_exporter_from_openstack_connections(
16
+ self, connections: list[Connection], output_file: str
17
+ ):
18
+ for connection in connections:
19
+ importer = OpenStackRoleAssignmentImporter(connection)
20
+ sheet_name_prefix = f"{util.extract_hostname(connection.auth['auth_url'])}-role"
21
+ exporter = ExcelRoleAssignmentExporter(
22
+ sheet_name_prefix=sheet_name_prefix, output_file=output_file
23
+ )
24
+ self.add_importer_exporter(importer=importer, exporter=exporter)
25
+
26
+ def add_importer_exporter(
27
+ self, importer: RoleAssignmentImporter, exporter: RoleAssignmentExporter
28
+ ):
29
+ self._importer_exporter_list.append((importer, exporter))
30
+
31
+ def process(self):
32
+ for importer, exporter in self._importer_exporter_list:
33
+ try:
34
+ # importer to exporter
35
+ exporter.export_role_assignments(importer=importer)
36
+ except Exception as e:
37
+ logger.warning(e)
38
+ logger.warning("Skipping...")
@@ -1,49 +1,49 @@
1
- import logging
2
-
3
- from openstack.connection import Connection
4
-
5
- from osi_dump.exporter.router.router_exporter import (
6
- RouterExporter,
7
- )
8
- from osi_dump.exporter.router.excel_router_exporter import ExcelRouterExporter
9
-
10
- from osi_dump.importer.router.router_importer import RouterImporter
11
- from osi_dump.importer.router.openstack_router_importer import (
12
- OpenStackRouterImporter,
13
- )
14
-
15
-
16
- from osi_dump import util
17
-
18
- logger = logging.getLogger(__name__)
19
-
20
-
21
- class RouterBatchHandler:
22
- def __init__(self):
23
- self._importer_exporter_list: list[tuple[RouterImporter, RouterExporter]] = []
24
-
25
- def add_importer_exporter_from_openstack_connections(
26
- self, connections: list[Connection], output_file: str
27
- ):
28
- for connection in connections:
29
- importer = OpenStackRouterImporter(connection)
30
-
31
- sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-router"
32
- exporter = ExcelRouterExporter(
33
- sheet_name=sheet_name, output_file=output_file
34
- )
35
-
36
- self.add_importer_exporter(importer=importer, exporter=exporter)
37
-
38
- def add_importer_exporter(self, importer: RouterImporter, exporter: RouterExporter):
39
- self._importer_exporter_list.append((importer, exporter))
40
-
41
- def process(self):
42
- for importer, exporter in self._importer_exporter_list:
43
- try:
44
- routers = importer.import_routers()
45
-
46
- exporter.export_routers(routers=routers)
47
- except Exception as e:
48
- logger.warning(e)
49
- logger.warning("Skipping...")
1
+ import logging
2
+
3
+ from openstack.connection import Connection
4
+
5
+ from osi_dump.exporter.router.router_exporter import (
6
+ RouterExporter,
7
+ )
8
+ from osi_dump.exporter.router.excel_router_exporter import ExcelRouterExporter
9
+
10
+ from osi_dump.importer.router.router_importer import RouterImporter
11
+ from osi_dump.importer.router.openstack_router_importer import (
12
+ OpenStackRouterImporter,
13
+ )
14
+
15
+
16
+ from osi_dump import util
17
+
18
+ logger = logging.getLogger(__name__)
19
+
20
+
21
+ class RouterBatchHandler:
22
+ def __init__(self):
23
+ self._importer_exporter_list: list[tuple[RouterImporter, RouterExporter]] = []
24
+
25
+ def add_importer_exporter_from_openstack_connections(
26
+ self, connections: list[Connection], output_file: str
27
+ ):
28
+ for connection in connections:
29
+ importer = OpenStackRouterImporter(connection)
30
+
31
+ sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-router"
32
+ exporter = ExcelRouterExporter(
33
+ sheet_name=sheet_name, output_file=output_file
34
+ )
35
+
36
+ self.add_importer_exporter(importer=importer, exporter=exporter)
37
+
38
+ def add_importer_exporter(self, importer: RouterImporter, exporter: RouterExporter):
39
+ self._importer_exporter_list.append((importer, exporter))
40
+
41
+ def process(self):
42
+ for importer, exporter in self._importer_exporter_list:
43
+ try:
44
+ routers = importer.import_routers()
45
+
46
+ exporter.export_routers(routers=routers)
47
+ except Exception as e:
48
+ logger.warning(e)
49
+ logger.warning("Skipping...")
@@ -0,0 +1,37 @@
1
+ import logging
2
+ from openstack.connection import Connection
3
+ from osi_dump import util
4
+ from osi_dump.importer.security_group.security_group_importer import SecurityGroupImporter
5
+ from osi_dump.exporter.security_group.security_group_exporter import SecurityGroupExporter
6
+ from osi_dump.importer.security_group.openstack_security_group_importer import OpenStackSecurityGroupImporter
7
+ from osi_dump.exporter.security_group.excel_security_group_exporter import ExcelSecurityGroupExporter
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+ class SecurityGroupBatchHandler:
12
+ def __init__(self):
13
+ self._importer_exporter_list: list[tuple[SecurityGroupImporter, SecurityGroupExporter]] = []
14
+
15
+ def add_importer_exporter_from_openstack_connections(
16
+ self, connections: list[Connection], output_file: str
17
+ ):
18
+ for connection in connections:
19
+ importer = OpenStackSecurityGroupImporter(connection)
20
+ sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-sec-group"
21
+ exporter = ExcelSecurityGroupExporter(
22
+ sheet_name=sheet_name, output_file=output_file
23
+ )
24
+ self._importer_exporter_list.append((importer, exporter))
25
+
26
+ def process(self):
27
+ for importer, exporter in self._importer_exporter_list:
28
+ try:
29
+ # importer get generators
30
+ security_groups_generator = importer.import_security_groups()
31
+
32
+ # exporter uses generators
33
+ exporter.export_security_groups(security_groups=security_groups_generator)
34
+
35
+ except Exception as e:
36
+ logger.warning(e)
37
+ logger.warning("Skipping security group export...")
@@ -1,45 +1,45 @@
1
- import logging
2
-
3
- from openstack.connection import Connection
4
-
5
-
6
- from osi_dump.exporter.volume.excel_volume_exporter import ExcelVolumeExporter
7
- from osi_dump.exporter.volume.volume_exporter import VolumeExporter
8
-
9
-
10
- from osi_dump import util
11
- from osi_dump.importer.volume.openstack_volume_importer import OpenStackVolumeImporter
12
- from osi_dump.importer.volume.volume_importer import VolumeImporter
13
-
14
- logger = logging.getLogger(__name__)
15
-
16
-
17
- class VolumeBatchHandler:
18
- def __init__(self):
19
- self._importer_exporter_list: list[tuple[VolumeImporter, VolumeExporter]] = []
20
-
21
- def add_importer_exporter_from_openstack_connections(
22
- self, connections: list[Connection], output_file: str
23
- ):
24
- for connection in connections:
25
- importer = OpenStackVolumeImporter(connection)
26
-
27
- sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-volume"
28
- exporter = ExcelVolumeExporter(
29
- sheet_name=sheet_name, output_file=output_file
30
- )
31
-
32
- self.add_importer_exporter(importer=importer, exporter=exporter)
33
-
34
- def add_importer_exporter(self, importer: VolumeImporter, exporter: VolumeExporter):
35
- self._importer_exporter_list.append((importer, exporter))
36
-
37
- def process(self):
38
- for importer, exporter in self._importer_exporter_list:
39
- try:
40
- volumes = importer.import_volumes()
41
-
42
- exporter.export_volumes(volumes=volumes)
43
- except Exception as e:
44
- logger.warning(e)
45
- logger.warning("Skipping...")
1
+ import logging
2
+
3
+ from openstack.connection import Connection
4
+
5
+
6
+ from osi_dump.exporter.volume.excel_volume_exporter import ExcelVolumeExporter
7
+ from osi_dump.exporter.volume.volume_exporter import VolumeExporter
8
+
9
+
10
+ from osi_dump import util
11
+ from osi_dump.importer.volume.openstack_volume_importer import OpenStackVolumeImporter
12
+ from osi_dump.importer.volume.volume_importer import VolumeImporter
13
+
14
+ logger = logging.getLogger(__name__)
15
+
16
+
17
+ class VolumeBatchHandler:
18
+ def __init__(self):
19
+ self._importer_exporter_list: list[tuple[VolumeImporter, VolumeExporter]] = []
20
+
21
+ def add_importer_exporter_from_openstack_connections(
22
+ self, connections: list[Connection], output_file: str
23
+ ):
24
+ for connection in connections:
25
+ importer = OpenStackVolumeImporter(connection)
26
+
27
+ sheet_name = f"{util.extract_hostname(connection.auth['auth_url'])}-volume"
28
+ exporter = ExcelVolumeExporter(
29
+ sheet_name=sheet_name, output_file=output_file
30
+ )
31
+
32
+ self.add_importer_exporter(importer=importer, exporter=exporter)
33
+
34
+ def add_importer_exporter(self, importer: VolumeImporter, exporter: VolumeExporter):
35
+ self._importer_exporter_list.append((importer, exporter))
36
+
37
+ def process(self):
38
+ for importer, exporter in self._importer_exporter_list:
39
+ try:
40
+ volumes = importer.import_volumes()
41
+
42
+ exporter.export_volumes(volumes=volumes)
43
+ except Exception as e:
44
+ logger.warning(e)
45
+ logger.warning("Skipping...")