osi-dump 0.1.3.2.6__py3-none-any.whl → 0.1.3.2.8__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.
@@ -11,6 +11,7 @@ from openstack.network.v2.port import Port as OSPort
11
11
  from openstack.network.v2.subnet import Subnet as OSSubnet
12
12
  from openstack.network.v2.floating_ip import FloatingIP as OSFloatingIP
13
13
  from openstack.network.v2.router import Router as OSRouter
14
+ from openstack.network.v2.network import Network as OSNetwork
14
15
 
15
16
  from osi_dump.importer.external_port.external_port_importer import ExternalPortImporter
16
17
  from osi_dump.model.external_port import ExternalPort
@@ -122,7 +123,19 @@ class OpenStackExternalPortImporter(ExternalPortImporter):
122
123
  device_id=external_port.device_id,
123
124
  )
124
125
  )
125
-
126
+
127
+ network: OSNetwork = self.connection.get_network(name_or_id=external_port.network_id)
128
+
129
+ vlan_id = None
130
+
131
+ try:
132
+ if not network.segments:
133
+ vlan_id = network.provider_segmentation_id
134
+ else:
135
+ logger.warning(f"Multiple segments mapped for net id {network.id}")
136
+ except Exception as e:
137
+ logger.warning(f"Can not get vlan ID for external port {external_port.id}, net id {network.id}")
138
+
126
139
  external_port_ret = ExternalPort(
127
140
  port_id=external_port.id,
128
141
  project_id=project_id,
@@ -134,6 +147,7 @@ class OpenStackExternalPortImporter(ExternalPortImporter):
134
147
  device_id=external_port.device_id,
135
148
  device_owner=external_port.device_owner,
136
149
  status=external_port.status,
150
+ vlan_id=vlan_id
137
151
  )
138
152
 
139
153
  return external_port_ret
@@ -108,7 +108,10 @@ class OpenStackInstanceImporter(InstanceImporter):
108
108
 
109
109
  except Exception as e:
110
110
  pass
111
-
111
+
112
+ image_id = server.image["id"]
113
+ flavor_id = server.flavor["id"]
114
+
112
115
  instance = Instance(
113
116
  instance_id=server.id,
114
117
  instance_name=server.name,
@@ -126,6 +129,8 @@ class OpenStackInstanceImporter(InstanceImporter):
126
129
  user_id=server.user_id,
127
130
  vgpus=vgpus,
128
131
  vgpu_type=vgpu_type,
132
+ image_id=image_id,
133
+ flavor_id=flavor_id
129
134
  )
130
135
 
131
136
  return instance
@@ -52,31 +52,39 @@ class OpenStackLoadBalancerImporter(LoadBalancerImporter):
52
52
  futures.append(executor.submit(self._get_load_balancer_info, load_balancer))
53
53
 
54
54
  for future in concurrent.futures.as_completed(futures):
55
- load_balancers.append(future.result())
55
+ result = future.result()
56
+
57
+ if result != None:
58
+ load_balancers.append(result)
56
59
 
57
60
  logger.info(f"Imported load_balancers for {self.connection.auth['auth_url']}")
58
61
 
59
62
  return load_balancers
60
63
 
61
64
  def _get_load_balancer_info(self, load_balancer: OSLoadBalancer) -> LoadBalancer:
62
- amphoraes = octavia_api.get_amphoraes(
63
- connection=self.connection, load_balancer_id=load_balancer["id"]
64
- )
65
-
66
- for amphorae in amphoraes:
67
- flavor = self.connection.get_flavor_by_id(amphorae["compute_flavor"])
68
- amphorae["ram"] = flavor.ram
69
- amphorae["vcpus"] = flavor.vcpus
70
-
71
- load_balancer_ret = LoadBalancer(
72
- id=load_balancer["id"],
73
- load_balancer_name=load_balancer["name"],
74
- operating_status=load_balancer["operating_status"],
75
- project_id=load_balancer["project_id"],
76
- provisioning_status=load_balancer["provisioning_status"],
77
- created_at=load_balancer["created_at"],
78
- updated_at=load_balancer["updated_at"],
79
- amphoraes=amphoraes,
80
- )
81
-
82
- return load_balancer_ret
65
+ try:
66
+ amphoraes = octavia_api.get_amphoraes(
67
+ connection=self.connection, load_balancer_id=load_balancer["id"]
68
+ )
69
+
70
+ for amphorae in amphoraes:
71
+ flavor = self.connection.get_flavor_by_id(amphorae["compute_flavor"])
72
+ amphorae["ram"] = flavor.ram
73
+ amphorae["vcpus"] = flavor.vcpus
74
+
75
+ load_balancer_ret = LoadBalancer(
76
+ id=load_balancer["id"],
77
+ load_balancer_name=load_balancer["name"],
78
+ operating_status=load_balancer["operating_status"],
79
+ project_id=load_balancer["project_id"],
80
+ provisioning_status=load_balancer["provisioning_status"],
81
+ created_at=load_balancer["created_at"],
82
+ updated_at=load_balancer["updated_at"],
83
+ amphoraes=amphoraes,
84
+ )
85
+
86
+ return load_balancer_ret
87
+ except Exception as e:
88
+ logger.warning(f"Getting lb failed {e}")
89
+
90
+ return None
@@ -25,3 +25,5 @@ class ExternalPort(BaseModel):
25
25
  device_owner: Optional[str]
26
26
 
27
27
  status: Optional[str]
28
+
29
+ vlan_id: Optional[str]
@@ -21,6 +21,9 @@ class Instance(BaseModel):
21
21
  hypervisor: Optional[str]
22
22
 
23
23
  user_id: Optional[str]
24
+
25
+ image_id: Optional[str]
26
+ flavor_id: Optional[str]
24
27
 
25
28
  created_at: str
26
29
  updated_at: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: osi-dump
3
- Version: 0.1.3.2.6
3
+ Version: 0.1.3.2.8
4
4
  Summary: OpenStack information dump tool
5
5
  Author: TVKain
6
6
  License: Apache-2.0
@@ -53,7 +53,7 @@ osi_dump/exporter/volume/excel_volume_exporter.py,sha256=BhesTGXMQF3BAwHgJMYfnxF
53
53
  osi_dump/exporter/volume/volume_exporter.py,sha256=YoPvytC0ctWeWwVcG6pb0XwkF4N0QcGAoUHa3QldkEg,155
54
54
  osi_dump/importer/external_port/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  osi_dump/importer/external_port/external_port_importer.py,sha256=mLFNwjaYiUNk3DO74GUCXC1eCaWbymGjKJKex3O2z-U,218
56
- osi_dump/importer/external_port/openstack_external_port_importer.py,sha256=lAcNOZA_dlFU4ncrRf_07GaA25PP61ynEwrj1r0Xau8,5172
56
+ osi_dump/importer/external_port/openstack_external_port_importer.py,sha256=iTIUd0jpsROCtPJyQ0L8iL4Z-O_mQWfach_mNa8KiXA,5761
57
57
  osi_dump/importer/flavor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  osi_dump/importer/flavor/flavor_importer.py,sha256=IfU2L8N8EO4eESnEDirwe9U-GXSTuTcsdrlDxD95tcQ,186
59
59
  osi_dump/importer/flavor/openstack_flavor_importer.py,sha256=y3uFCls7H-l1tu11T_PaEoWghhdxINsf7baRAShXC1w,1876
@@ -68,10 +68,10 @@ osi_dump/importer/image/image_importer.py,sha256=6zwAMnS58S2HGwARwebqf4VE9IBQBv5
68
68
  osi_dump/importer/image/openstack_image_importer.py,sha256=ffc13qnIGu07OXnIPaKiVxGdufep82RfQoKqLb1bwHc,2455
69
69
  osi_dump/importer/instance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  osi_dump/importer/instance/instance_importer.py,sha256=TaaPgEFVVMRT3mSXrzQkSaSIBPBwwANpEaWCgRsgImc,196
71
- osi_dump/importer/instance/openstack_instance_importer.py,sha256=bvDZdwkxBZl40shIHAQ0QOkRcZEkWaeksROF7DZ5syA,4085
71
+ osi_dump/importer/instance/openstack_instance_importer.py,sha256=D-Q9AIN81g2GW-SRWpKxBeagxvJvhN_AumSt5WGQrEc,4244
72
72
  osi_dump/importer/load_balancer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  osi_dump/importer/load_balancer/load_balancer_importer.py,sha256=fzInBlkscqlbhCATeQYXvufc-WHq2pbofTJJifN0zaY,218
74
- osi_dump/importer/load_balancer/openstack_load_balancer_importer.py,sha256=XCE5MYIaOqcv-j4XmyHJkgjXgzGLbwhrC-AJGvToUrA,2858
74
+ osi_dump/importer/load_balancer/openstack_load_balancer_importer.py,sha256=8Wa-obk9WygQ-4G5aNqa6yhIPyjTxc__vDq9Ix5TC8E,3156
75
75
  osi_dump/importer/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
76
  osi_dump/importer/project/openstack_project_importer.py,sha256=ylcm3jEFqh4gW8vhzhIaBq5v4A-PV3BaaogC8uHlSkg,3295
77
77
  osi_dump/importer/project/project_importer.py,sha256=jwEvxteFbSwyWMV8hKAtf5Lo2bZysWkQ1L_NVUE8XOQ,191
@@ -86,12 +86,12 @@ osi_dump/importer/volume/openstack_volume_importer.py,sha256=XmTa0FP8VUmnOofVEka
86
86
  osi_dump/importer/volume/volume_importer.py,sha256=tmDTE9L9vtl75GR79blSxa_MVsRU6LDCbR0yJk0xKwo,186
87
87
  osi_dump/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  osi_dump/model/authentication_info.py,sha256=02kXxtILfjh8t45_-bPM8rtyRk2cQcJK6l2d1bPih7k,257
89
- osi_dump/model/external_port.py,sha256=4FlyG8ZmQO7nNdavmRBhK8ZMsNogmhMqEBa03okvqXM,477
89
+ osi_dump/model/external_port.py,sha256=ytro2BQsCnorATXlbGbPJCgdZaTxE76WXSBjlzmpDhI,509
90
90
  osi_dump/model/flavor.py,sha256=bV1DAL0fMN-bZ0Is7Cd-LLuEdL1ihVPeGcLvbhOcB-I,301
91
91
  osi_dump/model/floating_ip.py,sha256=CRJufC5ZaxxcbGvdot7Af-sO8uyKbyQK9zHljfBnyFA,427
92
92
  osi_dump/model/hypervisor.py,sha256=6dWEMVrrjOQolX936FqY994S7RAXpMPATpsLPVNeCyk,455
93
93
  osi_dump/model/image.py,sha256=JUr90XQgA6d3EyoZyV-Cyz4Y1GkEBIDhALsf-_eoR-Y,524
94
- osi_dump/model/instance.py,sha256=ixJUGMsNAsWIRSXXHZ2fHA9Wr1wPYZONyEhS75wfQp8,577
94
+ osi_dump/model/instance.py,sha256=8puhIKWWfoAaTURXb7XUpjG0lQ4nb0UwrsrTQdDaFbs,639
95
95
  osi_dump/model/load_balancer.py,sha256=x8mTvdXa5FmuJLwx4qu2DJqPQISoO-0A3a76Ki_jy34,413
96
96
  osi_dump/model/project.py,sha256=_mMaKKM9RQYiorh6zWMrC_WJ3x9RxhZxn4lLa_B3niY,710
97
97
  osi_dump/model/role_assignment.py,sha256=fNt05y4aFF6b71Yps_EHzWavv8wF-jYx7gd3WAhqy6Y,310
@@ -108,8 +108,8 @@ osi_dump/util/extract_hostname.py,sha256=IpdklGHevmtRu67xeSRE_5n2mvWGI1sDsnJwExo
108
108
  osi_dump/util/openstack_util.py,sha256=_o8LiRmQKtxQ8hU3rbrMNwIAxt0-aWD2rjq-NvVdK9E,1299
109
109
  osi_dump/util/panda_excel.py,sha256=owr8AffIxqN3yY8kIv55Ox4j2dRz7kXZvSZFZeft8dw,734
110
110
  osi_dump/util/validate_dir_path.py,sha256=pL_OrY8JnNwk3vj6Zp6bsZtgHXhszSGRoqIt-1G5S90,507
111
- osi_dump-0.1.3.2.6.dist-info/METADATA,sha256=ai9ioSzsiH59GpJ25t5DCZc3vOhGRATb0oGzlDRuwiE,677
112
- osi_dump-0.1.3.2.6.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
113
- osi_dump-0.1.3.2.6.dist-info/entry_points.txt,sha256=ozm5sIBtXzLv6_FiUe26v1BgA3_xUReGLPhKQKZ56wQ,46
114
- osi_dump-0.1.3.2.6.dist-info/top_level.txt,sha256=OtAAwmJfcoPvlw_Cemo_H1aXIGV_7w0O2941KQt6faQ,9
115
- osi_dump-0.1.3.2.6.dist-info/RECORD,,
111
+ osi_dump-0.1.3.2.8.dist-info/METADATA,sha256=tg8SFasgvA3RlmS6n79qm0VLo1PofbWTMphhw6jBtrE,677
112
+ osi_dump-0.1.3.2.8.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
113
+ osi_dump-0.1.3.2.8.dist-info/entry_points.txt,sha256=ozm5sIBtXzLv6_FiUe26v1BgA3_xUReGLPhKQKZ56wQ,46
114
+ osi_dump-0.1.3.2.8.dist-info/top_level.txt,sha256=OtAAwmJfcoPvlw_Cemo_H1aXIGV_7w0O2941KQt6faQ,9
115
+ osi_dump-0.1.3.2.8.dist-info/RECORD,,