osi-dump 0.1.3.3.3.4__tar.gz → 0.1.3.3.3.6__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 (121) hide show
  1. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/PKG-INFO +2 -2
  2. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/pyproject.toml +2 -2
  3. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/load_balancer/openstack_load_balancer_importer.py +2 -0
  4. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/project/openstack_project_importer.py +30 -10
  5. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/load_balancer.py +1 -1
  6. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/project.py +2 -0
  7. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump.egg-info/PKG-INFO +2 -2
  8. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump.egg-info/requires.txt +1 -1
  9. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/README.md +0 -0
  10. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/setup.cfg +0 -0
  11. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/__init__.py +0 -0
  12. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/__main__.py +0 -0
  13. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/api/__init__.py +0 -0
  14. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/api/keystone.py +0 -0
  15. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/api/neutron.py +0 -0
  16. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/api/octavia.py +0 -0
  17. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/api/placement.py +0 -0
  18. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/__init__.py +0 -0
  19. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/external_port_batch_handler.py +0 -0
  20. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/flavor_batch_handler.py +0 -0
  21. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/floating_ip_batch_handler.py +0 -0
  22. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/hypervisor_batch_handler.py +0 -0
  23. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/image_batch_handler.py +0 -0
  24. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/instance_batch_handler.py +0 -0
  25. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/load_balancer_batch_handler.py +0 -0
  26. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/project_batch_handler.py +0 -0
  27. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/role_assignment_batch_handler.py +0 -0
  28. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/router_batch_handler.py +0 -0
  29. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/batch_handler/volume_batch_handler.py +0 -0
  30. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/cli.py +0 -0
  31. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/__init__.py +0 -0
  32. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/external_port/__init__.py +0 -0
  33. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/external_port/excel_external_port_exporter.py +0 -0
  34. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/external_port/external_port_exporter.py +0 -0
  35. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/flavor/__init__.py +0 -0
  36. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/flavor/excel_flavor_exporter.py +0 -0
  37. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/flavor/flavor_exporter.py +0 -0
  38. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/floating_ip/__init__.py +0 -0
  39. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/floating_ip/excel_floating_ip_exporter.py +0 -0
  40. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/floating_ip/floating_ip_exporter.py +0 -0
  41. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/hypervisor/__init__.py +0 -0
  42. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/hypervisor/excel_hypervisor_exporter.py +0 -0
  43. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/hypervisor/hypervisor_exporter.py +0 -0
  44. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/image/__init__.py +0 -0
  45. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/image/excel_image_exporter.py +0 -0
  46. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/image/image_exporter.py +0 -0
  47. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/instance/__init__.py +0 -0
  48. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/instance/excel_instance_exporter.py +0 -0
  49. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/instance/instance_exporter.py +0 -0
  50. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/load_balancer/__init__.py +0 -0
  51. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/load_balancer/excel_load_balancer_exporter.py +0 -0
  52. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/load_balancer/load_balancer_exporter.py +0 -0
  53. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/project/__init__.py +0 -0
  54. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/project/excel_project_exporter.py +0 -0
  55. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/project/project_exporter.py +0 -0
  56. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/role_assignment/__init__.py +0 -0
  57. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/role_assignment/excel_role_assignment_exporter.py +0 -0
  58. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/role_assignment/role_assignment_exporter.py +0 -0
  59. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/router/__init__.py +0 -0
  60. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/router/excel_router_exporter.py +0 -0
  61. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/router/router_exporter.py +0 -0
  62. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/volume/__init__.py +0 -0
  63. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/volume/excel_volume_exporter.py +0 -0
  64. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/exporter/volume/volume_exporter.py +0 -0
  65. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/external_port/__init__.py +0 -0
  66. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/external_port/external_port_importer.py +0 -0
  67. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/external_port/openstack_external_port_importer.py +0 -0
  68. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/flavor/__init__.py +0 -0
  69. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/flavor/flavor_importer.py +0 -0
  70. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/flavor/openstack_flavor_importer.py +0 -0
  71. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/floating_ip/__init__.py +0 -0
  72. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/floating_ip/floating_ip_importer.py +0 -0
  73. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/floating_ip/openstack_floating_ip_importer.py +0 -0
  74. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/hypervisor/__init__.py +0 -0
  75. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/hypervisor/hypervisor_importer.py +0 -0
  76. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/hypervisor/openstack_hypervisor_importer.py +0 -0
  77. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/image/__init__.py +0 -0
  78. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/image/image_importer.py +0 -0
  79. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/image/openstack_image_importer.py +0 -0
  80. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/instance/__init__.py +0 -0
  81. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/instance/instance_importer.py +0 -0
  82. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/instance/openstack_instance_importer.py +0 -0
  83. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/load_balancer/__init__.py +0 -0
  84. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/load_balancer/load_balancer_importer.py +0 -0
  85. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/project/__init__.py +0 -0
  86. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/project/project_importer.py +0 -0
  87. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/role_assignment/__init__.py +0 -0
  88. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/role_assignment/openstack_role_assignment_importer.py +0 -0
  89. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/role_assignment/role_assignment_importer.py +0 -0
  90. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/router/__init__.py +0 -0
  91. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/router/openstack_router_importer.py +0 -0
  92. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/router/router_importer.py +0 -0
  93. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/volume/__init__.py +0 -0
  94. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/volume/openstack_volume_importer.py +0 -0
  95. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/importer/volume/volume_importer.py +0 -0
  96. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/__init__.py +0 -0
  97. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/authentication_info.py +0 -0
  98. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/external_port.py +0 -0
  99. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/flavor.py +0 -0
  100. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/floating_ip.py +0 -0
  101. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/hypervisor.py +0 -0
  102. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/image.py +0 -0
  103. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/instance.py +0 -0
  104. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/role_assignment.py +0 -0
  105. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/router.py +0 -0
  106. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/model/volume.py +0 -0
  107. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/os_connection/__init__.py +0 -0
  108. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/os_connection/get_connections.py +0 -0
  109. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/__init__.py +0 -0
  110. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/create_file.py +0 -0
  111. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/excel_autosize_column.py +0 -0
  112. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/excel_sort_sheet.py +0 -0
  113. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/export_data_excel.py +0 -0
  114. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/extract_hostname.py +0 -0
  115. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/openstack_util.py +0 -0
  116. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/panda_excel.py +0 -0
  117. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump/util/validate_dir_path.py +0 -0
  118. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump.egg-info/SOURCES.txt +0 -0
  119. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump.egg-info/dependency_links.txt +0 -0
  120. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/src/osi_dump.egg-info/entry_points.txt +0 -0
  121. {osi_dump-0.1.3.3.3.4 → osi_dump-0.1.3.3.3.6}/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.3.3.4
3
+ Version: 0.1.3.3.3.6
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
@@ -8,7 +8,7 @@ Classifier: License :: OSI Approved :: Apache Software License
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
10
  Requires-Dist: typer
11
- Requires-Dist: openstacksdk
11
+ Requires-Dist: openstacksdk==3.3.0
12
12
  Requires-Dist: pydantic
13
13
  Requires-Dist: pandas
14
14
  Requires-Dist: openpyxl
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "osi-dump"
3
- version = "0.1.3.3.3.4"
3
+ version = "0.1.3.3.3.6"
4
4
  description = "OpenStack information dump tool"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "TVKain" }]
@@ -9,7 +9,7 @@ requires-python = ">=3.10"
9
9
  classifiers = ["License :: OSI Approved :: Apache Software License"]
10
10
  dependencies = [
11
11
  "typer",
12
- "openstacksdk",
12
+ "openstacksdk==3.3.0",
13
13
  "pydantic",
14
14
  "pandas",
15
15
  "openpyxl",
@@ -71,6 +71,8 @@ class OpenStackLoadBalancerImporter(LoadBalancerImporter):
71
71
  flavor = self.connection.get_flavor_by_id(amphorae["compute_flavor"])
72
72
  amphorae["ram"] = flavor.ram
73
73
  amphorae["vcpus"] = flavor.vcpus
74
+ amphorae["flavor_name"] = flavor.name
75
+ amphorae["flavor_description"] = flavor.description
74
76
 
75
77
  load_balancer_ret = LoadBalancer(
76
78
  id=load_balancer["id"],
@@ -4,10 +4,11 @@ import concurrent
4
4
 
5
5
  from openstack.connection import Connection
6
6
  from openstack.identity.v3.project import Project as OSProject
7
+ from openstack.load_balancer.v2.load_balancer import LoadBalancer as OSLoadBalancer
7
8
 
8
9
  from osi_dump.importer.project.project_importer import ProjectImporter
9
10
  from osi_dump.model.project import Project
10
-
11
+ import osi_dump.api.octavia as octavia_api
11
12
  logger = logging.getLogger(__name__)
12
13
 
13
14
 
@@ -26,6 +27,22 @@ class OpenStackProjectImporter(ProjectImporter):
26
27
  """
27
28
 
28
29
  logger.info(f"Importing projects for {self.connection.auth['auth_url']}")
30
+ try:
31
+ osload_balancers: list[OSLoadBalancer] = octavia_api.get_load_balancers(
32
+ connection=self.connection
33
+ )
34
+ except Exception as e:
35
+ raise Exception(
36
+ f"Can not fetch load_balancers for {self.connection.auth['auth_url']} {e}"
37
+ ) from e
38
+
39
+ project_lb_dict = {}
40
+
41
+ for osload_balancer in osload_balancers:
42
+ if project_lb_dict.get(osload_balancer["project_id"]):
43
+ project_lb_dict[osload_balancer["project_id"]] += 1
44
+ else:
45
+ project_lb_dict[osload_balancer["project_id"]] = 1
29
46
 
30
47
  try:
31
48
  osprojects: list[OSProject] = list(self.connection.identity.projects())
@@ -38,7 +55,7 @@ class OpenStackProjectImporter(ProjectImporter):
38
55
 
39
56
  with concurrent.futures.ThreadPoolExecutor() as executor:
40
57
  futures = [
41
- executor.submit(self._get_project_info, project)
58
+ executor.submit(self._get_project_info, project, project_lb_dict)
42
59
  for project in osprojects
43
60
  ]
44
61
  for future in concurrent.futures.as_completed(futures):
@@ -48,7 +65,7 @@ class OpenStackProjectImporter(ProjectImporter):
48
65
 
49
66
  return projects
50
67
 
51
- def _get_project_info(self, project: OSProject) -> Project:
68
+ def _get_project_info(self, project: OSProject, project_lb_dict: dict) -> Project:
52
69
 
53
70
  usage_instance=None
54
71
  quota_instance=None
@@ -81,12 +98,12 @@ class OpenStackProjectImporter(ProjectImporter):
81
98
  storage_quotas = self.connection.block_storage.get_quota_set(
82
99
  project.id, usage=True
83
100
  )
84
- usage_volume=storage_quotas.usage["volumes"],
85
- quota_volume=storage_quotas.volumes,
86
- usage_snapshot=storage_quotas.usage["snapshots"],
87
- quota_snapshot=storage_quotas.snapshots,
88
- usage_storage=storage_quotas.usage["gigabytes"],
89
- quota_storage=storage_quotas.gigabytes,
101
+ usage_volume=storage_quotas.usage["volumes"]
102
+ quota_volume=storage_quotas.volumes
103
+ usage_snapshot=storage_quotas.usage["snapshots"]
104
+ quota_snapshot=storage_quotas.snapshots
105
+ usage_storage=storage_quotas.usage["gigabytes"]
106
+ quota_storage=storage_quotas.gigabytes
90
107
  except Exception as e:
91
108
  logger.warning(f"Get storage quotas failed for {project.id} error: {e}")
92
109
 
@@ -97,6 +114,8 @@ class OpenStackProjectImporter(ProjectImporter):
97
114
  except Exception as e:
98
115
  logger.warning(f"Get domain failed for {project.domain_id} error: {e}")
99
116
 
117
+ lb_count = project_lb_dict.get(project.id)
118
+
100
119
  project_ret = Project(
101
120
  project_id=project.id,
102
121
  project_name=project.name,
@@ -115,7 +134,8 @@ class OpenStackProjectImporter(ProjectImporter):
115
134
  usage_snapshot=usage_snapshot,
116
135
  quota_snapshot=quota_snapshot,
117
136
  usage_storage=usage_storage,
118
- quota_storage=quota_storage
137
+ quota_storage=quota_storage,
138
+ load_balancer_count=lb_count
119
139
  )
120
140
 
121
141
  return project_ret
@@ -14,7 +14,7 @@ class LoadBalancer(BaseModel):
14
14
 
15
15
  operating_status: Optional[str]
16
16
 
17
- amphoraes: list[dict]
17
+ amphoraes: list[dict] # compute_id, compute_flavor_id, flavor_name, flavor_description
18
18
  vip: Optional[str]
19
19
 
20
20
  project_id: Optional[str]
@@ -30,3 +30,5 @@ class Project(BaseModel):
30
30
 
31
31
  usage_storage: Optional[int]
32
32
  quota_storage: Optional[int]
33
+
34
+ load_balancer_count: Optional[int]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: osi-dump
3
- Version: 0.1.3.3.3.4
3
+ Version: 0.1.3.3.3.6
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
@@ -8,7 +8,7 @@ Classifier: License :: OSI Approved :: Apache Software License
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
10
  Requires-Dist: typer
11
- Requires-Dist: openstacksdk
11
+ Requires-Dist: openstacksdk==3.3.0
12
12
  Requires-Dist: pydantic
13
13
  Requires-Dist: pandas
14
14
  Requires-Dist: openpyxl
@@ -1,5 +1,5 @@
1
1
  typer
2
- openstacksdk
2
+ openstacksdk==3.3.0
3
3
  pydantic
4
4
  pandas
5
5
  openpyxl
File without changes
File without changes