osi-dump 0.1.3.3.3.3__tar.gz → 0.1.3.3.3.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 (121) hide show
  1. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/PKG-INFO +1 -1
  2. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/pyproject.toml +1 -1
  3. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/project/openstack_project_importer.py +61 -15
  4. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/project.py +2 -0
  5. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump.egg-info/PKG-INFO +1 -1
  6. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/README.md +0 -0
  7. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/setup.cfg +0 -0
  8. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/__init__.py +0 -0
  9. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/__main__.py +0 -0
  10. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/api/__init__.py +0 -0
  11. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/api/keystone.py +0 -0
  12. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/api/neutron.py +0 -0
  13. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/api/octavia.py +0 -0
  14. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/api/placement.py +0 -0
  15. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/__init__.py +0 -0
  16. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/external_port_batch_handler.py +0 -0
  17. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/flavor_batch_handler.py +0 -0
  18. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/floating_ip_batch_handler.py +0 -0
  19. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/hypervisor_batch_handler.py +0 -0
  20. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/image_batch_handler.py +0 -0
  21. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/instance_batch_handler.py +0 -0
  22. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/load_balancer_batch_handler.py +0 -0
  23. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/project_batch_handler.py +0 -0
  24. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/role_assignment_batch_handler.py +0 -0
  25. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/router_batch_handler.py +0 -0
  26. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/batch_handler/volume_batch_handler.py +0 -0
  27. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/cli.py +0 -0
  28. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/__init__.py +0 -0
  29. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/external_port/__init__.py +0 -0
  30. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/external_port/excel_external_port_exporter.py +0 -0
  31. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/external_port/external_port_exporter.py +0 -0
  32. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/flavor/__init__.py +0 -0
  33. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/flavor/excel_flavor_exporter.py +0 -0
  34. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/flavor/flavor_exporter.py +0 -0
  35. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/floating_ip/__init__.py +0 -0
  36. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/floating_ip/excel_floating_ip_exporter.py +0 -0
  37. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/floating_ip/floating_ip_exporter.py +0 -0
  38. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/hypervisor/__init__.py +0 -0
  39. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/hypervisor/excel_hypervisor_exporter.py +0 -0
  40. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/hypervisor/hypervisor_exporter.py +0 -0
  41. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/image/__init__.py +0 -0
  42. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/image/excel_image_exporter.py +0 -0
  43. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/image/image_exporter.py +0 -0
  44. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/instance/__init__.py +0 -0
  45. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/instance/excel_instance_exporter.py +0 -0
  46. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/instance/instance_exporter.py +0 -0
  47. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/load_balancer/__init__.py +0 -0
  48. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/load_balancer/excel_load_balancer_exporter.py +0 -0
  49. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/load_balancer/load_balancer_exporter.py +0 -0
  50. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/project/__init__.py +0 -0
  51. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/project/excel_project_exporter.py +0 -0
  52. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/project/project_exporter.py +0 -0
  53. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/role_assignment/__init__.py +0 -0
  54. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/role_assignment/excel_role_assignment_exporter.py +0 -0
  55. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/role_assignment/role_assignment_exporter.py +0 -0
  56. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/router/__init__.py +0 -0
  57. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/router/excel_router_exporter.py +0 -0
  58. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/router/router_exporter.py +0 -0
  59. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/volume/__init__.py +0 -0
  60. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/volume/excel_volume_exporter.py +0 -0
  61. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/exporter/volume/volume_exporter.py +0 -0
  62. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/external_port/__init__.py +0 -0
  63. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/external_port/external_port_importer.py +0 -0
  64. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/external_port/openstack_external_port_importer.py +0 -0
  65. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/flavor/__init__.py +0 -0
  66. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/flavor/flavor_importer.py +0 -0
  67. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/flavor/openstack_flavor_importer.py +0 -0
  68. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/floating_ip/__init__.py +0 -0
  69. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/floating_ip/floating_ip_importer.py +0 -0
  70. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/floating_ip/openstack_floating_ip_importer.py +0 -0
  71. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/hypervisor/__init__.py +0 -0
  72. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/hypervisor/hypervisor_importer.py +0 -0
  73. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/hypervisor/openstack_hypervisor_importer.py +0 -0
  74. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/image/__init__.py +0 -0
  75. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/image/image_importer.py +0 -0
  76. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/image/openstack_image_importer.py +0 -0
  77. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/instance/__init__.py +0 -0
  78. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/instance/instance_importer.py +0 -0
  79. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/instance/openstack_instance_importer.py +0 -0
  80. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/load_balancer/__init__.py +0 -0
  81. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/load_balancer/load_balancer_importer.py +0 -0
  82. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/load_balancer/openstack_load_balancer_importer.py +0 -0
  83. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/project/__init__.py +0 -0
  84. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/project/project_importer.py +0 -0
  85. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/role_assignment/__init__.py +0 -0
  86. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/role_assignment/openstack_role_assignment_importer.py +0 -0
  87. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/role_assignment/role_assignment_importer.py +0 -0
  88. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/router/__init__.py +0 -0
  89. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/router/openstack_router_importer.py +0 -0
  90. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/router/router_importer.py +0 -0
  91. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/volume/__init__.py +0 -0
  92. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/volume/openstack_volume_importer.py +0 -0
  93. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/importer/volume/volume_importer.py +0 -0
  94. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/__init__.py +0 -0
  95. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/authentication_info.py +0 -0
  96. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/external_port.py +0 -0
  97. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/flavor.py +0 -0
  98. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/floating_ip.py +0 -0
  99. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/hypervisor.py +0 -0
  100. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/image.py +0 -0
  101. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/instance.py +0 -0
  102. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/load_balancer.py +0 -0
  103. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/role_assignment.py +0 -0
  104. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/router.py +0 -0
  105. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/model/volume.py +0 -0
  106. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/os_connection/__init__.py +0 -0
  107. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/os_connection/get_connections.py +0 -0
  108. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/__init__.py +0 -0
  109. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/create_file.py +0 -0
  110. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/excel_autosize_column.py +0 -0
  111. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/excel_sort_sheet.py +0 -0
  112. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/export_data_excel.py +0 -0
  113. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/extract_hostname.py +0 -0
  114. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/openstack_util.py +0 -0
  115. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/panda_excel.py +0 -0
  116. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump/util/validate_dir_path.py +0 -0
  117. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump.egg-info/SOURCES.txt +0 -0
  118. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump.egg-info/dependency_links.txt +0 -0
  119. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump.egg-info/entry_points.txt +0 -0
  120. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.5}/src/osi_dump.egg-info/requires.txt +0 -0
  121. {osi_dump-0.1.3.3.3.3 → osi_dump-0.1.3.3.3.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.3.3.3
3
+ Version: 0.1.3.3.3.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.3.3.3"
3
+ version = "0.1.3.3.3.5"
4
4
  description = "OpenStack information dump tool"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "TVKain" }]
@@ -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,19 +65,45 @@ 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:
69
+
70
+ usage_instance=None
71
+ quota_instance=None
72
+ usage_ram=None
73
+ quota_ram=None
74
+ usage_vcpu=None
75
+ quota_vcpu=None
52
76
 
53
77
  try:
54
78
  compute_quotas = self.connection.compute.get_quota_set(
55
79
  project.id, usage=True
56
80
  )
81
+
82
+ usage_instance=compute_quotas.usage["instances"]
83
+ quota_instance=compute_quotas.instances
84
+ usage_ram=compute_quotas.usage["ram"]
85
+ quota_ram=compute_quotas.ram
86
+ usage_vcpu=compute_quotas.usage["cores"]
87
+ quota_vcpu=compute_quotas.cores
57
88
  except Exception as e:
58
89
  logger.warning(f"Get compute quotas failed for {project.id} error: {e}")
59
90
 
91
+ usage_volume=None
92
+ quota_volume=None
93
+ usage_snapshot=None
94
+ quota_snapshot=None
95
+ usage_storage=None
96
+ quota_storage=None
60
97
  try:
61
98
  storage_quotas = self.connection.block_storage.get_quota_set(
62
99
  project.id, usage=True
63
100
  )
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,
64
107
  except Exception as e:
65
108
  logger.warning(f"Get storage quotas failed for {project.id} error: {e}")
66
109
 
@@ -71,6 +114,8 @@ class OpenStackProjectImporter(ProjectImporter):
71
114
  except Exception as e:
72
115
  logger.warning(f"Get domain failed for {project.domain_id} error: {e}")
73
116
 
117
+ lb_count = project_lb_dict.get(project.id)
118
+
74
119
  project_ret = Project(
75
120
  project_id=project.id,
76
121
  project_name=project.name,
@@ -78,18 +123,19 @@ class OpenStackProjectImporter(ProjectImporter):
78
123
  domain_name=domain_name,
79
124
  enabled=project.is_enabled,
80
125
  parent_id=project.parent_id,
81
- usage_instance=compute_quotas.usage["instances"],
82
- quota_instance=compute_quotas.instances,
83
- usage_ram=compute_quotas.usage["ram"],
84
- quota_ram=compute_quotas.ram,
85
- usage_vcpu=compute_quotas.usage["cores"],
86
- quota_vcpu=compute_quotas.cores,
87
- usage_volume=storage_quotas.usage["volumes"],
88
- quota_volume=storage_quotas.volumes,
89
- usage_snapshot=storage_quotas.usage["snapshots"],
90
- quota_snapshot=storage_quotas.snapshots,
91
- usage_storage=storage_quotas.usage["gigabytes"],
92
- quota_storage=storage_quotas.gigabytes,
126
+ usage_instance=usage_instance,
127
+ quota_instance=quota_instance,
128
+ usage_ram=usage_ram,
129
+ quota_ram=quota_ram,
130
+ usage_vcpu=usage_vcpu,
131
+ quota_vcpu=quota_vcpu,
132
+ usage_volume=usage_volume,
133
+ quota_volume=quota_volume,
134
+ usage_snapshot=usage_snapshot,
135
+ quota_snapshot=quota_snapshot,
136
+ usage_storage=usage_storage,
137
+ quota_storage=quota_storage,
138
+ load_balancer_count=lb_count
93
139
  )
94
140
 
95
141
  return project_ret
@@ -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.3
3
+ Version: 0.1.3.3.3.5
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
File without changes
File without changes