-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[dualtor][minigraph.py] Add soc_ipv4
and cable_type
to MUX_CABLE
#10776
Conversation
@vdahiya12 - please check the sample minigraph schema Longxiang pasted above. |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
@@ -103,11 +107,14 @@ def parse_device(device): | |||
d_type = node.text | |||
elif node.tag == str(QName(ns, "ClusterName")): | |||
cluster = node.text | |||
elif node.tag == str(QName(ns, "SubType")): | |||
d_subtype = node.text |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we rename this d_subtype, is it supposed to be cable_subtype ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it is cable_type
if the device is of SmartCable
, but I want the attribute name(SubType
) to be more generic, and in function get_mux_cable_entries
, it will be treated as cable type (LINE#1754)
Tested with PR: sonic-net/sonic-mgmt#5614:
|
/AzurePipelines run Azure.sonic-buildimage |
1 similar comment
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
Azure Pipelines successfully started running 1 pipeline(s). |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
…` table Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
6fe8820
to
0c1ca21
Compare
hi @yxieca, could you please take another review as the rebase to master dismissed the approval? |
Approach What is the motivation for this PR? Add minigraph generation support to include mux cable type and soc address details. Signed-off-by: Longxiang Lyu lolv@microsoft.com How did you do it? Include mux_cable_facts into dual_tor_facts ``` modify minigraph templates to include mux cable type and soc address details with the following schema proposal: <Device i:type="SmartCable"> <ElementType>SmartCable</ElementType> <SubType>active-active</SubType> <Address xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>192.168.0.3/21</d5p1:IPPrefix> </Address> <AddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>::/0</d5p1:IPPrefix> </AddressV6> <ManagementAddress xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>0.0.0.0/0</d5p1:IPPrefix> </ManagementAddress> <ManagementAddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>::/0</d5p1:IPPrefix> </ManagementAddressV6> <SerialNumber i:nil="true" /> <Hostname>svcstr-7050-acs-1-Servers0-SC</Hostname> </Device> <Device i:type="Server"> <ElementType>Server</ElementType> <Address xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>192.168.0.2/21</d5p1:IPPrefix> </Address> <AddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>fc02:1000::2/64</d5p1:IPPrefix> </AddressV6> <ManagementAddress xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>0.0.0.0/0</d5p1:IPPrefix> </ManagementAddress> <Hostname>Servers0</Hostname> </Device> ``` How did you verify/test it? This PR depends on: sonic-net/sonic-buildimage#10776
#10776) Why I did it To further add cable_type and soc_ipv4 field to table MUX_CABLE, this PR tries to parse the minigraph like the following: ``` <Device i:type="SmartCable"> <ElementType>SmartCable</ElementType> <SubType>active-active</SubType> <Address xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>192.168.0.3/21</d5p1:IPPrefix> </Address> <AddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>::/0</d5p1:IPPrefix> </AddressV6> <ManagementAddress xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>0.0.0.0/0</d5p1:IPPrefix> </ManagementAddress> <ManagementAddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>::/0</d5p1:IPPrefix> </ManagementAddressV6> <SerialNumber i:nil="true" /> <Hostname>svcstr-7050-acs-1-Servers0-SC</Hostname> </Device> <Device i:type="Server"> <ElementType>Server</ElementType> <Address xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>192.168.0.2/21</d5p1:IPPrefix> </Address> <AddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>fc02:1000::2/64</d5p1:IPPrefix> </AddressV6> <ManagementAddress xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>0.0.0.0/0</d5p1:IPPrefix> </ManagementAddress> <Hostname>Servers0</Hostname> </Device> ``` Signed-off-by: Longxiang Lyu lolv@microsoft.com How I did it get_mux_cable_entries will try to get the mux cable device from the devices list and get the cable type and soc ip address from the device definition. How to verify it Pass the unit-test
#10776) Why I did it To further add cable_type and soc_ipv4 field to table MUX_CABLE, this PR tries to parse the minigraph like the following: ``` <Device i:type="SmartCable"> <ElementType>SmartCable</ElementType> <SubType>active-active</SubType> <Address xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>192.168.0.3/21</d5p1:IPPrefix> </Address> <AddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>::/0</d5p1:IPPrefix> </AddressV6> <ManagementAddress xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>0.0.0.0/0</d5p1:IPPrefix> </ManagementAddress> <ManagementAddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>::/0</d5p1:IPPrefix> </ManagementAddressV6> <SerialNumber i:nil="true" /> <Hostname>svcstr-7050-acs-1-Servers0-SC</Hostname> </Device> <Device i:type="Server"> <ElementType>Server</ElementType> <Address xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>192.168.0.2/21</d5p1:IPPrefix> </Address> <AddressV6 xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>fc02:1000::2/64</d5p1:IPPrefix> </AddressV6> <ManagementAddress xmlns:d5p1="Microsoft.Search.Autopilot.NetMux"> <d5p1:IPPrefix>0.0.0.0/0</d5p1:IPPrefix> </ManagementAddress> <Hostname>Servers0</Hostname> </Device> ``` Signed-off-by: Longxiang Lyu lolv@microsoft.com How I did it get_mux_cable_entries will try to get the mux cable device from the devices list and get the cable type and soc ip address from the device definition. How to verify it Pass the unit-test
…anch Related work items: #52, #71, #73, #75, #77, sonic-net#1306, sonic-net#1588, sonic-net#1991, sonic-net#2031, sonic-net#2040, sonic-net#2053, sonic-net#2066, sonic-net#2069, sonic-net#2087, sonic-net#2107, sonic-net#2110, sonic-net#2112, sonic-net#2113, sonic-net#2117, sonic-net#2124, sonic-net#2125, sonic-net#2126, sonic-net#2128, sonic-net#2130, sonic-net#2131, sonic-net#2132, sonic-net#2133, sonic-net#2134, sonic-net#2135, sonic-net#2136, sonic-net#2137, sonic-net#2138, sonic-net#2139, sonic-net#2140, sonic-net#2143, sonic-net#2158, sonic-net#2161, sonic-net#2233, sonic-net#2243, sonic-net#2250, sonic-net#2254, sonic-net#2260, sonic-net#2261, sonic-net#2267, sonic-net#2278, sonic-net#2282, sonic-net#2285, sonic-net#2288, sonic-net#2289, sonic-net#2292, sonic-net#2294, sonic-net#8887, sonic-net#9279, sonic-net#9390, sonic-net#9511, sonic-net#9700, sonic-net#10025, sonic-net#10322, sonic-net#10479, sonic-net#10484, sonic-net#10493, sonic-net#10500, sonic-net#10580, sonic-net#10595, sonic-net#10628, sonic-net#10634, sonic-net#10635, sonic-net#10644, sonic-net#10670, sonic-net#10691, sonic-net#10716, sonic-net#10731, sonic-net#10750, sonic-net#10751, sonic-net#10752, sonic-net#10761, sonic-net#10769, sonic-net#10775, sonic-net#10776, sonic-net#10779, sonic-net#10786, sonic-net#10792, sonic-net#10793, sonic-net#10800, sonic-net#10806, sonic-net#10826, sonic-net#10839, sonic-net#10840, sonic-net#10842, sonic-net#10844, sonic-net#10847, sonic-net#10849, sonic-net#10852, sonic-net#10865, sonic-net#10872, sonic-net#10877, sonic-net#10886, sonic-net#10889, sonic-net#10903, sonic-net#10904, sonic-net#10905, sonic-net#10913, sonic-net#10914, sonic-net#10916, sonic-net#10919, sonic-net#10925, sonic-net#10926, sonic-net#10929, sonic-net#10933, sonic-net#10934, sonic-net#10937, sonic-net#10941, sonic-net#10947, sonic-net#10952, sonic-net#10953, sonic-net#10957, sonic-net#10959, sonic-net#10971, sonic-net#10972, sonic-net#10980
Why I did it
To further add
cable_type
andsoc_ipv4
field to tableMUX_CABLE
, this PR tries to parse minigraph like the following:Signed-off-by: Longxiang Lyu lolv@microsoft.com
How I did it
get_mux_cable_entries
will try to get the mux cable device from the devices list and get the cable type and soc ip address from the device definition.How to verify it
Pass the unit-test
Which release branch to backport (provide reason below if selected)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)