osi-dump 0.1.3__tar.gz → 0.1.3.1__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 → osi_dump-0.1.3.1}/PKG-INFO +1 -1
  2. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/pyproject.toml +1 -1
  3. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/api/neutron.py +7 -5
  4. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/api/octavia.py +7 -4
  5. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/api/placement.py +4 -2
  6. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/instance/openstack_instance_importer.py +1 -3
  7. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/router/openstack_router_importer.py +1 -0
  8. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/image.py +2 -2
  9. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/router.py +4 -2
  10. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/volume.py +2 -2
  11. osi_dump-0.1.3.1/src/osi_dump/util/openstack_util.py +20 -0
  12. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump.egg-info/PKG-INFO +1 -1
  13. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump.egg-info/SOURCES.txt +1 -0
  14. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/README.md +0 -0
  15. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/setup.cfg +0 -0
  16. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/__init__.py +0 -0
  17. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/__main__.py +0 -0
  18. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/api/__init__.py +0 -0
  19. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/__init__.py +0 -0
  20. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/external_port_batch_handler.py +0 -0
  21. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/flavor_batch_handler.py +0 -0
  22. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/floating_ip_batch_handler.py +0 -0
  23. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/hypervisor_batch_handler.py +0 -0
  24. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/image_batch_handler.py +0 -0
  25. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/instance_batch_handler.py +0 -0
  26. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/load_balancer_batch_handler.py +0 -0
  27. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/project_batch_handler.py +0 -0
  28. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/role_assignment_batch_handler.py +0 -0
  29. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/router_batch_handler.py +0 -0
  30. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/batch_handler/volume_batch_handler.py +0 -0
  31. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/cli.py +0 -0
  32. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/__init__.py +0 -0
  33. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/external_port/__init__.py +0 -0
  34. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/external_port/excel_external_port_exporter.py +0 -0
  35. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/external_port/external_port_exporter.py +0 -0
  36. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/flavor/__init__.py +0 -0
  37. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/flavor/excel_flavor_exporter.py +0 -0
  38. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/flavor/flavor_exporter.py +0 -0
  39. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/floating_ip/__init__.py +0 -0
  40. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/floating_ip/excel_floating_ip_exporter.py +0 -0
  41. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/floating_ip/floating_ip_exporter.py +0 -0
  42. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/hypervisor/__init__.py +0 -0
  43. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/hypervisor/excel_hypervisor_exporter.py +0 -0
  44. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/hypervisor/hypervisor_exporter.py +0 -0
  45. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/image/__init__.py +0 -0
  46. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/image/excel_image_exporter.py +0 -0
  47. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/image/image_exporter.py +0 -0
  48. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/instance/__init__.py +0 -0
  49. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/instance/excel_instance_exporter.py +0 -0
  50. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/instance/instance_exporter.py +0 -0
  51. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/load_balancer/__init__.py +0 -0
  52. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/load_balancer/excel_load_balancer_exporter.py +0 -0
  53. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/load_balancer/load_balancer_exporter.py +0 -0
  54. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/project/__init__.py +0 -0
  55. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/project/excel_project_exporter.py +0 -0
  56. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/project/project_exporter.py +0 -0
  57. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/role_assignment/__init__.py +0 -0
  58. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/role_assignment/excel_role_assignment_exporter.py +0 -0
  59. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/role_assignment/role_assignment_exporter.py +0 -0
  60. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/router/__init__.py +0 -0
  61. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/router/excel_router_exporter.py +0 -0
  62. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/router/router_exporter.py +0 -0
  63. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/volume/__init__.py +0 -0
  64. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/volume/excel_volume_exporter.py +0 -0
  65. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/exporter/volume/volume_exporter.py +0 -0
  66. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/external_port/__init__.py +0 -0
  67. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/external_port/external_port_importer.py +0 -0
  68. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/external_port/openstack_external_port_importer.py +0 -0
  69. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/flavor/__init__.py +0 -0
  70. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/flavor/flavor_importer.py +0 -0
  71. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/flavor/openstack_flavor_importer.py +0 -0
  72. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/floating_ip/__init__.py +0 -0
  73. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/floating_ip/floating_ip_importer.py +0 -0
  74. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/floating_ip/openstack_floating_ip_importer.py +0 -0
  75. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/hypervisor/__init__.py +0 -0
  76. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/hypervisor/hypervisor_importer.py +0 -0
  77. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/hypervisor/openstack_hypervisor_importer.py +0 -0
  78. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/image/__init__.py +0 -0
  79. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/image/image_importer.py +0 -0
  80. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/image/openstack_image_importer.py +0 -0
  81. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/instance/__init__.py +0 -0
  82. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/instance/instance_importer.py +0 -0
  83. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/load_balancer/__init__.py +0 -0
  84. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/load_balancer/load_balancer_importer.py +0 -0
  85. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/load_balancer/openstack_load_balancer_importer.py +0 -0
  86. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/project/__init__.py +0 -0
  87. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/project/openstack_project_importer.py +0 -0
  88. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/project/project_importer.py +0 -0
  89. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/role_assignment/__init__.py +0 -0
  90. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/role_assignment/openstack_role_assignment_importer.py +0 -0
  91. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/role_assignment/role_assignment_importer.py +0 -0
  92. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/router/__init__.py +0 -0
  93. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/router/router_importer.py +0 -0
  94. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/volume/__init__.py +0 -0
  95. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/volume/openstack_volume_importer.py +0 -0
  96. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/importer/volume/volume_importer.py +0 -0
  97. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/__init__.py +0 -0
  98. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/authentication_info.py +0 -0
  99. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/external_port.py +0 -0
  100. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/flavor.py +0 -0
  101. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/floating_ip.py +0 -0
  102. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/hypervisor.py +0 -0
  103. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/instance.py +0 -0
  104. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/load_balancer.py +0 -0
  105. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/project.py +0 -0
  106. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/model/role_assignment.py +0 -0
  107. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/os_connection/__init__.py +0 -0
  108. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/os_connection/get_connections.py +0 -0
  109. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/__init__.py +0 -0
  110. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/create_file.py +0 -0
  111. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/excel_autosize_column.py +0 -0
  112. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/excel_sort_sheet.py +0 -0
  113. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/export_data_excel.py +0 -0
  114. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/extract_hostname.py +0 -0
  115. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/panda_excel.py +0 -0
  116. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump/util/validate_dir_path.py +0 -0
  117. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump.egg-info/dependency_links.txt +0 -0
  118. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump.egg-info/entry_points.txt +0 -0
  119. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/src/osi_dump.egg-info/requires.txt +0 -0
  120. {osi_dump-0.1.3 → osi_dump-0.1.3.1}/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
+ Version: 0.1.3.1
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
+ version = "0.1.3.1"
4
4
  description = "OpenStack information dump tool"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "TVKain" }]
@@ -4,12 +4,14 @@ from openstack.connection import Connection
4
4
  from openstack.identity.v3.service import Service
5
5
  from openstack.load_balancer.v2.load_balancer import LoadBalancer
6
6
 
7
+ import osi_dump.util.openstack_util as os_util
8
+
7
9
  logger = logging.getLogger(__name__)
8
10
 
9
11
 
10
12
  def get_floating_ip_project(connection: Connection, floating_ip_id: str):
11
- neutron_endpoint = connection.endpoint_for(
12
- service_type="network", interface="public"
13
+ neutron_endpoint = os_util.get_endpoint(
14
+ connection=connection, service_type="network", interface="public"
13
15
  )
14
16
 
15
17
  try:
@@ -25,12 +27,12 @@ def get_floating_ip_project(connection: Connection, floating_ip_id: str):
25
27
 
26
28
 
27
29
  def get_router_project(connection: Connection, router_id: str):
28
- octavia_endpoint = connection.endpoint_for(
29
- service_type="network", interface="internal"
30
+ neutron_endpoint = os_util.get_endpoint(
31
+ connection=connection, service_type="network", interface="internal"
30
32
  )
31
33
 
32
34
  try:
33
- url = f"{octavia_endpoint}/v2.0/routers/{router_id}?fields=project_id"
35
+ url = f"{neutron_endpoint}/v2.0/routers/{router_id}?fields=project_id"
34
36
 
35
37
  response = connection.session.get(url)
36
38
 
@@ -3,9 +3,12 @@ from openstack.identity.v3.service import Service
3
3
  from openstack.load_balancer.v2.load_balancer import LoadBalancer
4
4
 
5
5
 
6
+ import osi_dump.util.openstack_util as os_util
7
+
8
+
6
9
  def get_load_balancers(connection: Connection) -> list[LoadBalancer]:
7
- octavia_endpoint = connection.endpoint_for(
8
- service_type="load-balancer", interface="public"
10
+ octavia_endpoint = os_util.get_endpoint(
11
+ connection=connection, service_type="load-balancer", interface="public"
9
12
  )
10
13
 
11
14
  url = f"{octavia_endpoint}/v2.0/lbaas/loadbalancers"
@@ -19,8 +22,8 @@ def get_load_balancers(connection: Connection) -> list[LoadBalancer]:
19
22
 
20
23
  def get_amphoraes(connection: Connection, load_balancer_id: str) -> list[dict]:
21
24
 
22
- octavia_endpoint = connection.endpoint_for(
23
- service_type="load-balancer", interface="public"
25
+ octavia_endpoint = os_util.get_endpoint(
26
+ connection=connection, service_type="load-balancer", interface="public"
24
27
  )
25
28
 
26
29
  url = f"{octavia_endpoint}/v2/octavia/amphorae?load_balancer_id={load_balancer_id}&fields=status&fields=compute_id"
@@ -1,11 +1,13 @@
1
1
  from openstack.connection import Connection
2
2
  from openstack.identity.v3.service import Service
3
3
 
4
+ import osi_dump.util.openstack_util as os_util
5
+
4
6
 
5
7
  def get_usage(connection: Connection, resource_provider_id: str):
6
8
 
7
- placement_endpoint = connection.endpoint_for(
8
- service_type="placement", interface="public"
9
+ placement_endpoint = os_util.get_endpoint(
10
+ connection=connection, service_type="placement", interface="public"
9
11
  )
10
12
 
11
13
  url = f"{placement_endpoint}/resource_providers/{resource_provider_id}/usages"
@@ -107,9 +107,7 @@ class OpenStackInstanceImporter(InstanceImporter):
107
107
  vgpus = int(vgpu_props[1])
108
108
 
109
109
  except Exception as e:
110
- logger.warning(
111
- f"Unable to obtain GPU information for instance {server.name}: {e}"
112
- )
110
+ pass
113
111
 
114
112
  instance = Instance(
115
113
  instance_id=server.id,
@@ -78,6 +78,7 @@ class OpenStackRouterImporter(RouterImporter):
78
78
  external_net_id=external_net_id,
79
79
  external_net_ip=external_net_ip,
80
80
  status=router.status,
81
+ admin_state=router.is_admin_state_up,
81
82
  project_id=router.project_id,
82
83
  created_at=router.created_at,
83
84
  updated_at=router.updated_at,
@@ -23,5 +23,5 @@ class Image(BaseModel):
23
23
  virtual_size: Optional[int]
24
24
  visibility: str
25
25
 
26
- created_at: str
27
- updated_at: str
26
+ created_at: Optional[str]
27
+ updated_at: Optional[str]
@@ -13,8 +13,10 @@ class Router(BaseModel):
13
13
  external_net_id: Optional[str]
14
14
  external_net_ip: Optional[str]
15
15
 
16
+ admin_state: Optional[bool]
17
+
16
18
  status: str
17
19
  project_id: Optional[str]
18
20
 
19
- created_at: str
20
- updated_at: str
21
+ created_at: Optional[str]
22
+ updated_at: Optional[str]
@@ -19,5 +19,5 @@ class Volume(BaseModel):
19
19
 
20
20
  snapshots: Optional[list[str]]
21
21
 
22
- updated_at: str
23
- created_at: str
22
+ updated_at: Optional[str]
23
+ created_at: Optional[str]
@@ -0,0 +1,20 @@
1
+ import urllib
2
+ import urllib.parse
3
+
4
+ from openstack.connection import Connection
5
+
6
+
7
+ def get_endpoint(connection: Connection, service_type: str, interface: str) -> str:
8
+ endpoint = connection.endpoint_for(service_type=service_type, interface=interface)
9
+
10
+ parsed_endpoint = urllib.parse.urlparse(endpoint)
11
+
12
+ new_hostname = urllib.parse.urlparse(connection.auth["auth_url"]).hostname
13
+
14
+ port = parsed_endpoint.port
15
+
16
+ ret = urllib.parse.urlunparse(
17
+ parsed_endpoint._replace(netloc=f"{new_hostname}:{port}")
18
+ )
19
+
20
+ return ret
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: osi-dump
3
- Version: 0.1.3
3
+ Version: 0.1.3.1
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
@@ -113,5 +113,6 @@ src/osi_dump/util/excel_autosize_column.py
113
113
  src/osi_dump/util/excel_sort_sheet.py
114
114
  src/osi_dump/util/export_data_excel.py
115
115
  src/osi_dump/util/extract_hostname.py
116
+ src/osi_dump/util/openstack_util.py
116
117
  src/osi_dump/util/panda_excel.py
117
118
  src/osi_dump/util/validate_dir_path.py
File without changes
File without changes
File without changes