@@ -547,6 +547,7 @@ def parse_meta(meta, hname):
547
547
deployment_id = None
548
548
region = None
549
549
cloudtype = None
550
+ resource_type = None
550
551
device_metas = meta .find (str (QName (ns , "Devices" )))
551
552
for device in device_metas .findall (str (QName (ns1 , "DeviceMetadata" ))):
552
553
if device .find (str (QName (ns1 , "Name" ))).text .lower () == hname .lower ():
@@ -573,7 +574,9 @@ def parse_meta(meta, hname):
573
574
region = value
574
575
elif name == "CloudType" :
575
576
cloudtype = value
576
- return syslog_servers , dhcp_servers , ntp_servers , tacacs_servers , mgmt_routes , erspan_dst , deployment_id , region , cloudtype
577
+ elif name == "ResourceType" :
578
+ resource_type = value
579
+ return syslog_servers , dhcp_servers , ntp_servers , tacacs_servers , mgmt_routes , erspan_dst , deployment_id , region , cloudtype , resource_type
577
580
578
581
579
582
def parse_linkmeta (meta , hname ):
@@ -820,6 +823,7 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw
820
823
neighbors = None
821
824
devices = None
822
825
sub_role = None
826
+ resource_type = None
823
827
docker_routing_config_mode = "separated"
824
828
port_speeds_default = {}
825
829
port_speed_png = {}
@@ -871,7 +875,7 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw
871
875
elif child .tag == str (QName (ns , "UngDec" )):
872
876
(u_neighbors , u_devices , _ , _ , _ , _ , _ , _ ) = parse_png (child , hostname )
873
877
elif child .tag == str (QName (ns , "MetadataDeclaration" )):
874
- (syslog_servers , dhcp_servers , ntp_servers , tacacs_servers , mgmt_routes , erspan_dst , deployment_id , region , cloudtype ) = parse_meta (child , hostname )
878
+ (syslog_servers , dhcp_servers , ntp_servers , tacacs_servers , mgmt_routes , erspan_dst , deployment_id , region , cloudtype , resource_type ) = parse_meta (child , hostname )
875
879
elif child .tag == str (QName (ns , "LinkMetadataDeclaration" )):
876
880
linkmetas = parse_linkmeta (child , hostname )
877
881
elif child .tag == str (QName (ns , "DeviceInfos" )):
@@ -917,6 +921,10 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw
917
921
current_device ['sub_role' ] = sub_role
918
922
results ['DEVICE_METADATA' ]['localhost' ]['sub_role' ] = sub_role
919
923
results ['DEVICE_METADATA' ]['localhost' ]['asic_name' ] = asic_name
924
+
925
+ if resource_type is not None :
926
+ results ['DEVICE_METADATA' ]['localhost' ]['resource_type' ] = resource_type
927
+
920
928
results ['BGP_NEIGHBOR' ] = bgp_sessions
921
929
results ['BGP_MONITORS' ] = bgp_monitors
922
930
results ['BGP_PEER_RANGE' ] = bgp_peers_with_range
0 commit comments