osi-dump 0.1.3.1.3__tar.gz → 0.1.3.1.5__tar.gz

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 (120) hide show
  1. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/PKG-INFO +1 -1
  2. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/pyproject.toml +1 -1
  3. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/api/octavia.py +2 -0
  4. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/hypervisor/excel_hypervisor_exporter.py +2 -0
  5. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/hypervisor/openstack_hypervisor_importer.py +19 -18
  6. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/hypervisor.py +1 -3
  7. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/openstack_util.py +1 -1
  8. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump.egg-info/PKG-INFO +1 -1
  9. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/README.md +0 -0
  10. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/setup.cfg +0 -0
  11. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/__init__.py +0 -0
  12. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/__main__.py +0 -0
  13. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/api/__init__.py +0 -0
  14. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/api/neutron.py +0 -0
  15. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/api/placement.py +0 -0
  16. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/__init__.py +0 -0
  17. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/external_port_batch_handler.py +0 -0
  18. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/flavor_batch_handler.py +0 -0
  19. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/floating_ip_batch_handler.py +0 -0
  20. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/hypervisor_batch_handler.py +0 -0
  21. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/image_batch_handler.py +0 -0
  22. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/instance_batch_handler.py +0 -0
  23. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/load_balancer_batch_handler.py +0 -0
  24. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/project_batch_handler.py +0 -0
  25. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/role_assignment_batch_handler.py +0 -0
  26. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/router_batch_handler.py +0 -0
  27. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/batch_handler/volume_batch_handler.py +0 -0
  28. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/cli.py +0 -0
  29. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/__init__.py +0 -0
  30. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/external_port/__init__.py +0 -0
  31. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/external_port/excel_external_port_exporter.py +0 -0
  32. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/external_port/external_port_exporter.py +0 -0
  33. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/flavor/__init__.py +0 -0
  34. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/flavor/excel_flavor_exporter.py +0 -0
  35. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/flavor/flavor_exporter.py +0 -0
  36. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/floating_ip/__init__.py +0 -0
  37. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/floating_ip/excel_floating_ip_exporter.py +0 -0
  38. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/floating_ip/floating_ip_exporter.py +0 -0
  39. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/hypervisor/__init__.py +0 -0
  40. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/hypervisor/hypervisor_exporter.py +0 -0
  41. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/image/__init__.py +0 -0
  42. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/image/excel_image_exporter.py +0 -0
  43. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/image/image_exporter.py +0 -0
  44. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/instance/__init__.py +0 -0
  45. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/instance/excel_instance_exporter.py +0 -0
  46. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/instance/instance_exporter.py +0 -0
  47. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/load_balancer/__init__.py +0 -0
  48. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/load_balancer/excel_load_balancer_exporter.py +0 -0
  49. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/load_balancer/load_balancer_exporter.py +0 -0
  50. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/project/__init__.py +0 -0
  51. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/project/excel_project_exporter.py +0 -0
  52. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/project/project_exporter.py +0 -0
  53. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/role_assignment/__init__.py +0 -0
  54. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/role_assignment/excel_role_assignment_exporter.py +0 -0
  55. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/role_assignment/role_assignment_exporter.py +0 -0
  56. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/router/__init__.py +0 -0
  57. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/router/excel_router_exporter.py +0 -0
  58. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/router/router_exporter.py +0 -0
  59. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/volume/__init__.py +0 -0
  60. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/volume/excel_volume_exporter.py +0 -0
  61. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/exporter/volume/volume_exporter.py +0 -0
  62. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/external_port/__init__.py +0 -0
  63. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/external_port/external_port_importer.py +0 -0
  64. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/external_port/openstack_external_port_importer.py +0 -0
  65. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/flavor/__init__.py +0 -0
  66. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/flavor/flavor_importer.py +0 -0
  67. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/flavor/openstack_flavor_importer.py +0 -0
  68. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/floating_ip/__init__.py +0 -0
  69. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/floating_ip/floating_ip_importer.py +0 -0
  70. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/floating_ip/openstack_floating_ip_importer.py +0 -0
  71. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/hypervisor/__init__.py +0 -0
  72. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/hypervisor/hypervisor_importer.py +0 -0
  73. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/image/__init__.py +0 -0
  74. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/image/image_importer.py +0 -0
  75. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/image/openstack_image_importer.py +0 -0
  76. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/instance/__init__.py +0 -0
  77. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/instance/instance_importer.py +0 -0
  78. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/instance/openstack_instance_importer.py +0 -0
  79. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/load_balancer/__init__.py +0 -0
  80. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/load_balancer/load_balancer_importer.py +0 -0
  81. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/load_balancer/openstack_load_balancer_importer.py +0 -0
  82. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/project/__init__.py +0 -0
  83. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/project/openstack_project_importer.py +0 -0
  84. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/project/project_importer.py +0 -0
  85. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/role_assignment/__init__.py +0 -0
  86. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/role_assignment/openstack_role_assignment_importer.py +0 -0
  87. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/role_assignment/role_assignment_importer.py +0 -0
  88. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/router/__init__.py +0 -0
  89. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/router/openstack_router_importer.py +0 -0
  90. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/router/router_importer.py +0 -0
  91. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/volume/__init__.py +0 -0
  92. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/volume/openstack_volume_importer.py +0 -0
  93. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/importer/volume/volume_importer.py +0 -0
  94. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/__init__.py +0 -0
  95. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/authentication_info.py +0 -0
  96. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/external_port.py +0 -0
  97. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/flavor.py +0 -0
  98. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/floating_ip.py +0 -0
  99. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/image.py +0 -0
  100. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/instance.py +0 -0
  101. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/load_balancer.py +0 -0
  102. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/project.py +0 -0
  103. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/role_assignment.py +0 -0
  104. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/router.py +0 -0
  105. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/model/volume.py +0 -0
  106. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/os_connection/__init__.py +0 -0
  107. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/os_connection/get_connections.py +0 -0
  108. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/__init__.py +0 -0
  109. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/create_file.py +0 -0
  110. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/excel_autosize_column.py +0 -0
  111. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/excel_sort_sheet.py +0 -0
  112. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/export_data_excel.py +0 -0
  113. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/extract_hostname.py +0 -0
  114. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/panda_excel.py +0 -0
  115. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump/util/validate_dir_path.py +0 -0
  116. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump.egg-info/SOURCES.txt +0 -0
  117. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump.egg-info/dependency_links.txt +0 -0
  118. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump.egg-info/entry_points.txt +0 -0
  119. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump.egg-info/requires.txt +0 -0
  120. {osi_dump-0.1.3.1.3 → osi_dump-0.1.3.1.5}/src/osi_dump.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: osi-dump
3
- Version: 0.1.3.1.3
3
+ Version: 0.1.3.1.5
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "osi-dump"
3
- version = "0.1.3.1.3"
3
+ version = "0.1.3.1.5"
4
4
  description = "OpenStack information dump tool"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "TVKain" }]
@@ -34,4 +34,6 @@ def get_amphoraes(connection: Connection, load_balancer_id: str) -> list[dict]:
34
34
 
35
35
  amphoraes = data["amphorae"]
36
36
 
37
+ amphoraes = [dict(sorted(amphorae.items())) for amphorae in amphoraes]
38
+
37
39
  return amphoraes
@@ -21,6 +21,8 @@ class ExcelHypervisorExporter(HypervisorExporter):
21
21
  def export_hypervisors(self, hypervisors: list[Hypervisor]):
22
22
  df = pd.DataFrame([hypervisor.model_dump() for hypervisor in hypervisors])
23
23
 
24
+ df = util.expand_list_column(df, "aggregates")
25
+
24
26
  logger.info(f"Exporting hypervisors for {self.sheet_name}")
25
27
  try:
26
28
  util.export_data_excel(self.output_file, sheet_name=self.sheet_name, df=df)
@@ -59,16 +59,7 @@ class OpenStackHypervisorImporter(HypervisorImporter):
59
59
  def _get_hypervisor_info(
60
60
  self, hypervisor: OSHypervisor, aggregates: list[OSAggregate]
61
61
  ) -> Hypervisor:
62
- aggregate = self._get_aggregate(hypervisor=hypervisor)
63
-
64
- aggregate_id = None
65
- aggregate_name = None
66
- availability_zone = None
67
-
68
- if aggregate:
69
- aggregate_id = aggregate.id
70
- aggregate_name = aggregate.name
71
- availability_zone = aggregate.availability_zone
62
+ aggregate_list = self._get_aggregates(hypervisor=hypervisor)
72
63
 
73
64
  placement_proxy: PlacementProxy = self.connection.placement
74
65
 
@@ -97,18 +88,28 @@ class OpenStackHypervisorImporter(HypervisorImporter):
97
88
  memory_usage=usage_data["MEMORY_MB"],
98
89
  local_disk_usage=usage_data["DISK_GB"],
99
90
  vm_count=len(hypervisor.servers),
100
- aggregate_id=aggregate_id,
101
- aggregate_name=aggregate_name,
102
- availability_zone=availability_zone,
91
+ aggregates=aggregate_list,
103
92
  )
104
93
 
105
94
  return ret_hypervisor
106
95
 
107
- def _get_aggregate(self, hypervisor: OSHypervisor) -> OSAggregate:
108
- aggregates = list(self.connection.list_aggregates())
96
+ def _get_aggregates(self, hypervisor: OSHypervisor):
97
+ aggregates_ret = []
98
+
99
+ aggregates: OSAggregate = list(self.connection.list_aggregates())
109
100
 
110
101
  for aggregate in aggregates:
111
102
  if hypervisor.name in aggregate.hosts:
112
- return aggregate
113
-
114
- return None
103
+ aggregates_ret.append(
104
+ {
105
+ "id": aggregate.id,
106
+ "name": aggregate.name,
107
+ "availability_zone": aggregate.availability_zone,
108
+ }
109
+ )
110
+
111
+ aggregates_ret = [
112
+ dict(sorted(aggregate.items())) for aggregate in aggregates_ret
113
+ ]
114
+
115
+ return aggregates_ret
@@ -18,8 +18,6 @@ class Hypervisor(BaseModel):
18
18
  local_disk_usage: int
19
19
  local_disk_size: int
20
20
 
21
- availability_zone: Optional[str]
22
- aggregate_name: Optional[str]
23
- aggregate_id: Optional[int]
21
+ aggregates: Optional[list[dict]] # id, name, az
24
22
 
25
23
  vm_count: int
@@ -15,7 +15,7 @@ def get_endpoint(connection: Connection, service_type: str, interface: str) -> s
15
15
 
16
16
  ret = urllib.parse.urlunparse(
17
17
  parsed_endpoint._replace(netloc=f"{new_hostname}:{port}")._replace(
18
- scheme="https"
18
+ scheme="http"
19
19
  )
20
20
  )
21
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: osi-dump
3
- Version: 0.1.3.1.3
3
+ Version: 0.1.3.1.5
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
File without changes
File without changes