From f3ac3dd46e78eb3d16fa2710baf936677574f7f0 Mon Sep 17 00:00:00 2001 From: Yaqiang Zhu Date: Fri, 26 May 2023 23:49:26 +0800 Subject: [PATCH 01/16] [202205][minigraph] Add rack_mgmt_rack parse support in minigraph.py (#15064) (#15177) Why I did it We need to store information of power shelf in config_db for SONiC MX switch. Current minigraph parser cannot parse rack_mgmt_map field. Work item tracking Microsoft ADO (number only): 22179645 How I did it Add support for parsing rack_mgmt_map. --- src/sonic-config-engine/minigraph.py | 11 +++++++++-- .../tests/simple-sample-graph-case.xml | 5 +++++ src/sonic-config-engine/tests/test_minigraph_case.py | 5 +++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index 6458aad179..9a7902928e 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -985,6 +985,7 @@ def parse_meta(meta, hname): redundancy_type = None downstream_redundancy_types = None qos_profile = None + rack_mgmt_map = None device_metas = meta.find(str(QName(ns, "Devices"))) for device in device_metas.findall(str(QName(ns1, "DeviceMetadata"))): @@ -1034,7 +1035,9 @@ def parse_meta(meta, hname): downstream_redundancy_types = value elif name == "SonicQosProfile": qos_profile = value - return syslog_servers, dhcp_servers, dhcpv6_servers, ntp_servers, tacacs_servers, mgmt_routes, erspan_dst, deployment_id, region, cloudtype, resource_type, downstream_subrole, switch_id, switch_type, max_cores, kube_data, macsec_profile, downstream_redundancy_types, redundancy_type, qos_profile + elif name == "RackMgmtMap": + rack_mgmt_map = value + return syslog_servers, dhcp_servers, dhcpv6_servers, ntp_servers, tacacs_servers, mgmt_routes, erspan_dst, deployment_id, region, cloudtype, resource_type, downstream_subrole, switch_id, switch_type, max_cores, kube_data, macsec_profile, downstream_redundancy_types, redundancy_type, qos_profile, rack_mgmt_map def parse_linkmeta(meta, hname): @@ -1460,6 +1463,7 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw downstream_redundancy_types = None redundancy_type = None qos_profile = None + rack_mgmt_map = None hwsku_qn = QName(ns, "HwSku") hostname_qn = QName(ns, "Hostname") @@ -1492,7 +1496,7 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw elif child.tag == str(QName(ns, "UngDec")): (u_neighbors, u_devices, _, _, _, _, _, _) = parse_png(child, hostname, None) elif child.tag == str(QName(ns, "MetadataDeclaration")): - (syslog_servers, dhcp_servers, dhcpv6_servers, ntp_servers, tacacs_servers, mgmt_routes, erspan_dst, deployment_id, region, cloudtype, resource_type, downstream_subrole, switch_id, switch_type, max_cores, kube_data, macsec_profile, downstream_redundancy_types, redundancy_type, qos_profile) = parse_meta(child, hostname) + (syslog_servers, dhcp_servers, dhcpv6_servers, ntp_servers, tacacs_servers, mgmt_routes, erspan_dst, deployment_id, region, cloudtype, resource_type, downstream_subrole, switch_id, switch_type, max_cores, kube_data, macsec_profile, downstream_redundancy_types, redundancy_type, qos_profile, rack_mgmt_map) = parse_meta(child, hostname) elif child.tag == str(QName(ns, "LinkMetadataDeclaration")): linkmetas = parse_linkmeta(child, hostname) elif child.tag == str(QName(ns, "DeviceInfos")): @@ -1536,6 +1540,9 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw if deployment_id is not None: results['DEVICE_METADATA']['localhost']['deployment_id'] = deployment_id + if rack_mgmt_map is not None: + results['DEVICE_METADATA']['localhost']['rack_mgmt_map'] = rack_mgmt_map + cluster = [devices[key] for key in devices if key.lower() == hostname.lower()][0].get('cluster', "") if cluster: results['DEVICE_METADATA']['localhost']['cluster'] = cluster diff --git a/src/sonic-config-engine/tests/simple-sample-graph-case.xml b/src/sonic-config-engine/tests/simple-sample-graph-case.xml index 89b0ca9e0d..aaade89d5d 100644 --- a/src/sonic-config-engine/tests/simple-sample-graph-case.xml +++ b/src/sonic-config-engine/tests/simple-sample-graph-case.xml @@ -537,6 +537,11 @@ Mixed + + RackMgmtMap + + dummy_value + diff --git a/src/sonic-config-engine/tests/test_minigraph_case.py b/src/sonic-config-engine/tests/test_minigraph_case.py index d265be199c..23d2b0cac8 100644 --- a/src/sonic-config-engine/tests/test_minigraph_case.py +++ b/src/sonic-config-engine/tests/test_minigraph_case.py @@ -194,6 +194,11 @@ def test_minigraph_deployment_id(self): output = self.run_script(argument) self.assertEqual(output.strip(), "1") + def test_minigraph_rack_mgmt_map(self): + argument = '-m "' + self.sample_graph + '" -p "' + self.port_config + '" -v "DEVICE_METADATA[\'localhost\'][\'rack_mgmt_map\']"' + output = self.run_script(argument) + self.assertEqual(output.strip(), "dummy_value") + def test_minigraph_cluster(self): argument = '-m "' + self.sample_graph + '" -p "' + self.port_config + '" -v "DEVICE_METADATA[\'localhost\'][\'cluster\']"' output = self.run_script(argument) From b11e5b66efdecf8b8d0d6b6c205311936b4547f5 Mon Sep 17 00:00:00 2001 From: Akhilesh Samineni <47657796+AkhileshSamineni@users.noreply.github.com> Date: Fri, 26 May 2023 21:36:11 +0530 Subject: [PATCH 02/16] SONiC Yang model support for IPv6 link local (#15182) This is backport of #14757 SONiC Yang model support for IPv6 link local What I did Created SONiC Yang model for IPv6 link local How I did it Defined Yang models for IPv6 link local based on https://github.com/sonic-net/SONiC/blob/master/doc/ipv6/ipv6_link_local.md How to verify it Added enable test case. Signed-off-by: Akhilesh Samineni --- src/sonic-yang-models/doc/Configuration.md | 24 ++++- .../tests/files/sample_config_db.json | 9 +- .../yang_model_tests/tests/interface.json | 7 ++ .../yang_model_tests/tests/portchannel.json | 7 ++ .../tests/yang_model_tests/tests/vlan.json | 7 ++ .../tests_config/interface.json | 56 ++++++++++++ .../tests_config/portchannel.json | 74 ++++++++++++++++ .../yang_model_tests/tests_config/vlan.json | 88 +++++++++++++++++++ .../yang-models/sonic-interface.yang | 6 ++ .../yang-models/sonic-portchannel.yang | 6 ++ .../yang-models/sonic-vlan.yang | 6 ++ 11 files changed, 286 insertions(+), 4 deletions(-) diff --git a/src/sonic-yang-models/doc/Configuration.md b/src/sonic-yang-models/doc/Configuration.md index cf4656882f..25deed912a 100644 --- a/src/sonic-yang-models/doc/Configuration.md +++ b/src/sonic-yang-models/doc/Configuration.md @@ -27,7 +27,8 @@ Table of Contents * [Device neighbor metada](#device-neighbor-metada) * [DHCP_RELAY](#dhcp_relay) * [DSCP_TO_TC_MAP](#dscp_to_tc_map) - * [FLEX_COUNTER_TABLE](#flex_counter_table) + * [FLEX_COUNTER_TABLE](#flex_counter_table) + * [IPv6 Link-local] (#ipv6-link-local) * [KDUMP](#kdump) * [L2 Neighbors](#l2-neighbors) * [Loopback Interface](#loopback-interface) @@ -938,6 +939,27 @@ instance is supported in SONiC. ``` +### IPv6 Link-local +``` +{ + "INTERFACE": { + "Ethernet8": { + "ipv6_use_link_local_only": "disable" + } + }, + "PORTCHANNEL_INTERFACE": { + "PortChannel01": { + "ipv6_use_link_local_only": "enable" + } + }, + "VLAN_INTERFACE": { + "Vlan1000": { + "ipv6_use_link_local_only": "enable" + } + } +} +``` + ### KDUMP ``` diff --git a/src/sonic-yang-models/tests/files/sample_config_db.json b/src/sonic-yang-models/tests/files/sample_config_db.json index 3713ae1318..1c14152fd8 100644 --- a/src/sonic-yang-models/tests/files/sample_config_db.json +++ b/src/sonic-yang-models/tests/files/sample_config_db.json @@ -106,7 +106,8 @@ "PORTCHANNEL_INTERFACE": { "PortChannel0003": { "nat_zone": "1", - "loopback_action": "drop" + "loopback_action": "drop", + "ipv6_use_link_local_only": "enable" }, "PortChannel0004": {"vrf_name": "Vrf_blue"}, "PortChannel42|10.1.0.1/31": {}, @@ -122,7 +123,8 @@ "VLAN_INTERFACE": { "Vlan111": { "nat_zone": "0", - "loopback_action": "forward" + "loopback_action": "forward", + "ipv6_use_link_local_only": "disable" }, "Vlan777": {}, "Vlan111|2a04:5555:45:6709::1/64": { @@ -950,7 +952,8 @@ "Ethernet16": {}, "Ethernet18": { "nat_zone": "1", - "loopback_action": "forward" + "loopback_action": "forward", + "ipv6_use_link_local_only": "enable" }, "Ethernet112|2a04:5555:40:a709::2/126": { "scope": "global", diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/interface.json b/src/sonic-yang-models/tests/yang_model_tests/tests/interface.json index ed561f25bc..b0532d90e1 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/interface.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/interface.json @@ -22,5 +22,12 @@ "desc": "INCORRECT LOOPBACK ACTION IN INTERFACE TABLE.", "eStrKey" : "Pattern", "eStr": ["drop|forward"] + }, + "INTERFACE_ENABLE_IPV6_LINK_LOCAL": { + "desc": "Enable the ipv6 link-local." + }, + "INTERFACE_INVALID_ENABLE_IPV6_LINK_LOCAL": { + "desc": "Enable the ipv6 link-local as true.", + "eStr": "Invalid value \"true\" in \"ipv6_use_link_local_only\" element." } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/portchannel.json b/src/sonic-yang-models/tests/yang_model_tests/tests/portchannel.json index bcd21ebd54..cfdaf489dc 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/portchannel.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/portchannel.json @@ -68,5 +68,12 @@ "desc": "INCORRECT LOOPBACK ACTION IN PORTCHANNEL_INTERFACE TABLE.", "eStrKey" : "Pattern", "eStr": ["drop|forward"] + }, + "PORTCHANNEL_INTERFACE_ENABLE_IPV6_LINK_LOCAL": { + "desc": "Enable the ipv6 link-local." + }, + "PORTCHANNEL_INTERFACE_INVALID_ENABLE_IPV6_LINK_LOCAL": { + "desc": "Enable the ipv6 link-local as true.", + "eStr": "Invalid value \"true\" in \"ipv6_use_link_local_only\" element." } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/vlan.json b/src/sonic-yang-models/tests/yang_model_tests/tests/vlan.json index cf5fccf02b..7f1cb4eb35 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/vlan.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/vlan.json @@ -79,5 +79,12 @@ "desc": "INCORRECT LOOPBACK ACTION IN VLAN_INTERFACE TABLE.", "eStrKey" : "Pattern", "eStr": ["drop|forward"] + }, + "VLAN_INTERFACE_ENABLE_IPV6_LINK_LOCAL": { + "desc": "Enable the ipv6 link-local." + }, + "VLAN_INTERFACE_INVALID_ENABLE_IPV6_LINK_LOCAL": { + "desc": "Enable the ipv6 link-local as true.", + "eStr": "Invalid value \"true\" in \"ipv6_use_link_local_only\" element." } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/interface.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/interface.json index 2f20f8475b..b0b9fdb681 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/interface.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/interface.json @@ -209,5 +209,61 @@ ] } } + }, + "INTERFACE_ENABLE_IPV6_LINK_LOCAL": { + "sonic-interface:sonic-interface": { + "sonic-interface:INTERFACE": { + "INTERFACE_LIST": [ + { + "name": "Ethernet8", + "ipv6_use_link_local_only": "enable" + } + ] + } + }, + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "admin_status": "up", + "alias": "eth8", + "description": "Ethernet8", + "fec": "rs", + "lanes": "65", + "mtu": 9000, + "name": "Ethernet8", + "speed": 25000 + } + ] + } + } + }, + "INTERFACE_INVALID_ENABLE_IPV6_LINK_LOCAL": { + "sonic-interface:sonic-interface": { + "sonic-interface:INTERFACE": { + "INTERFACE_LIST": [ + { + "name": "Ethernet8", + "ipv6_use_link_local_only": "true" + } + ] + } + }, + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "admin_status": "up", + "alias": "eth8", + "description": "Ethernet8", + "fec": "rs", + "lanes": "65", + "mtu": 9000, + "name": "Ethernet8", + "speed": 25000 + } + ] + } + } } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/portchannel.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/portchannel.json index 21a61b9f1c..9ea260f4e2 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/portchannel.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/portchannel.json @@ -412,5 +412,79 @@ ] } } + }, + "PORTCHANNEL_INTERFACE_ENABLE_IPV6_LINK_LOCAL": { + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "admin_status": "up", + "alias": "eth0", + "description": "Ethernet0", + "lanes": "65", + "mtu": 9000, + "name": "Ethernet0", + "speed": 25000 + } + ] + } + }, + "sonic-portchannel:sonic-portchannel": { + "sonic-portchannel:PORTCHANNEL": { + "PORTCHANNEL_LIST": [ + { + "admin_status": "up", + "min_links": "1", + "mtu": "9100", + "name": "PortChannel0001" + } + ] + }, + "sonic-portchannel:PORTCHANNEL_INTERFACE": { + "PORTCHANNEL_INTERFACE_LIST": [ + { + "name": "PortChannel0001", + "ipv6_use_link_local_only": "enable" + } + ] + } + } + }, + "PORTCHANNEL_INTERFACE_INVALID_ENABLE_IPV6_LINK_LOCAL": { + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "admin_status": "up", + "alias": "eth0", + "description": "Ethernet0", + "lanes": "65", + "mtu": 9000, + "name": "Ethernet0", + "speed": 25000 + } + ] + } + }, + "sonic-portchannel:sonic-portchannel": { + "sonic-portchannel:PORTCHANNEL": { + "PORTCHANNEL_LIST": [ + { + "admin_status": "up", + "min_links": "1", + "mtu": "9100", + "name": "PortChannel0001" + } + ] + }, + "sonic-portchannel:PORTCHANNEL_INTERFACE": { + "PORTCHANNEL_INTERFACE_LIST": [ + { + "name": "PortChannel0001", + "ipv6_use_link_local_only": "true" + } + ] + } + } } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/vlan.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/vlan.json index c5934bc39c..c4db119b7f 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/vlan.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/vlan.json @@ -626,5 +626,93 @@ ] } } + }, + "VLAN_INTERFACE_ENABLE_IPV6_LINK_LOCAL": { + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "admin_status": "up", + "alias": "eth0", + "description": "Ethernet0", + "mtu": 9000, + "lanes": "1", + "name": "Ethernet0", + "speed": 25000 + } + ] + } + }, + "sonic-vlan:sonic-vlan": { + "sonic-vlan:VLAN": { + "VLAN_LIST": [ + { + "description": "vlan_nat", + "name": "Vlan100" + } + ] + }, + "sonic-vlan:VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "port": "Ethernet0", + "tagging_mode": "tagged", + "name": "Vlan100" + } + ] + }, + "sonic-vlan:VLAN_INTERFACE": { + "VLAN_INTERFACE_LIST": [ + { + "name": "Vlan100", + "ipv6_use_link_local_only": "enable" + } + ] + } + } + }, + "VLAN_INTERFACE_INVALID_ENABLE_IPV6_LINK_LOCAL": { + "sonic-port:sonic-port": { + "sonic-port:PORT": { + "PORT_LIST": [ + { + "admin_status": "up", + "alias": "eth0", + "description": "Ethernet0", + "mtu": 9000, + "lanes": "1", + "name": "Ethernet0", + "speed": 25000 + } + ] + } + }, + "sonic-vlan:sonic-vlan": { + "sonic-vlan:VLAN": { + "VLAN_LIST": [ + { + "description": "vlan_nat", + "name": "Vlan100" + } + ] + }, + "sonic-vlan:VLAN_MEMBER": { + "VLAN_MEMBER_LIST": [ + { + "port": "Ethernet0", + "tagging_mode": "tagged", + "name": "Vlan100" + } + ] + }, + "sonic-vlan:VLAN_INTERFACE": { + "VLAN_INTERFACE_LIST": [ + { + "name": "Vlan100", + "ipv6_use_link_local_only": "true" + } + ] + } + } } } diff --git a/src/sonic-yang-models/yang-models/sonic-interface.yang b/src/sonic-yang-models/yang-models/sonic-interface.yang index 74f241fed0..386b7c491d 100644 --- a/src/sonic-yang-models/yang-models/sonic-interface.yang +++ b/src/sonic-yang-models/yang-models/sonic-interface.yang @@ -75,6 +75,12 @@ module sonic-interface { } } + leaf ipv6_use_link_local_only { + description "Enable/Disable IPv6 link local address on interface"; + type stypes:mode-status; + default disable; + } + leaf loopback_action { description "Packet action when a packet ingress and gets routed on the same IP interface"; type stypes:loopback_action; diff --git a/src/sonic-yang-models/yang-models/sonic-portchannel.yang b/src/sonic-yang-models/yang-models/sonic-portchannel.yang index 0c40e48def..eab80176f9 100644 --- a/src/sonic-yang-models/yang-models/sonic-portchannel.yang +++ b/src/sonic-yang-models/yang-models/sonic-portchannel.yang @@ -177,6 +177,12 @@ module sonic-portchannel { enum disable; } } + + leaf ipv6_use_link_local_only { + description "Enable/Disable IPv6 link local address on portchannel interface"; + type stypes:mode-status; + default disable; + } } /* end of list PORTCHANNEL_INTERFACE_LIST */ list PORTCHANNEL_INTERFACE_IPPREFIX_LIST { diff --git a/src/sonic-yang-models/yang-models/sonic-vlan.yang b/src/sonic-yang-models/yang-models/sonic-vlan.yang index 48ec466b82..e4fc2d4b59 100644 --- a/src/sonic-yang-models/yang-models/sonic-vlan.yang +++ b/src/sonic-yang-models/yang-models/sonic-vlan.yang @@ -102,6 +102,12 @@ module sonic-vlan { } } + leaf ipv6_use_link_local_only { + description "Enable/Disable IPv6 link local address on vlan interface"; + type stypes:mode-status; + default disable; + } + leaf loopback_action { description "Packet action when a packet ingress and gets routed on the same IP interface"; type stypes:loopback_action; From 9f8a250f6101a388edc272bc724f68e405ca4b13 Mon Sep 17 00:00:00 2001 From: arista-nwolfe <94405414+arista-nwolfe@users.noreply.github.com> Date: Fri, 26 May 2023 09:08:40 -0700 Subject: [PATCH 03/16] Add soc property sai_pfc_dlr_init_capability=0 to missing DNX SKUs (#15155) --- .../0/j2p-a7800r3a-36d-36x400G.config.bcm | 1 + .../1/j2p-a7800r3a-36d-36x400G.config.bcm | 1 + .../0/j2p-a7800r3a-36d-36x400G.config.bcm | 1 + .../1/j2p-a7800r3a-36d-36x400G.config.bcm | 1 + 4 files changed, 4 insertions(+) diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm index 3ffb6b93ee..daf5cea87a 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm @@ -1013,5 +1013,6 @@ serdes_tx_taps_36=nrz:-8:89:-29:0:0:0 appl_param_nof_ports_per_modid=64 xflow_macsec_secure_chan_to_num_secure_assoc_encrypt=2 xflow_macsec_secure_chan_to_num_secure_assoc_decrypt=2 +sai_pfc_dlr_init_capability=0 sai_disable_srcmacqedstmac_ctrl=1 diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm index d2509fd6b6..ca9a764730 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm @@ -1013,5 +1013,6 @@ serdes_tx_taps_36=nrz:-7:85:-25:0:0:0 appl_param_nof_ports_per_modid=64 xflow_macsec_secure_chan_to_num_secure_assoc_encrypt=2 xflow_macsec_secure_chan_to_num_secure_assoc_decrypt=2 +sai_pfc_dlr_init_capability=0 sai_disable_srcmacqedstmac_ctrl=1 diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm index be5897e0ef..59ea93a3d4 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm @@ -1050,5 +1050,6 @@ serdes_tx_taps_36=pam4:-16:137:-12:2:0:-3 appl_param_nof_ports_per_modid=64 xflow_macsec_secure_chan_to_num_secure_assoc_encrypt=2 xflow_macsec_secure_chan_to_num_secure_assoc_decrypt=4 +sai_pfc_dlr_init_capability=0 sai_disable_srcmacqedstmac_ctrl=1 diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm index b197a426eb..fcd11ad2c6 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm @@ -1050,5 +1050,6 @@ serdes_tx_taps_36=pam4:-16:137:-12:2:0:-3 appl_param_nof_ports_per_modid=64 xflow_macsec_secure_chan_to_num_secure_assoc_encrypt=2 xflow_macsec_secure_chan_to_num_secure_assoc_decrypt=4 +sai_pfc_dlr_init_capability=0 sai_disable_srcmacqedstmac_ctrl=1 From 21aa832da3f142866210e5a425917660c82a7094 Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sat, 27 May 2023 00:13:20 +0800 Subject: [PATCH 04/16] [submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically (#15205) src/sonic-platform-daemons * f9547b7 - (HEAD -> 202205, origin/202205) Use tx_disable_channel with media_lanes_mask (#353) (28 hours ago) [rajann] --- src/sonic-platform-daemons | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-platform-daemons b/src/sonic-platform-daemons index f913e9c137..f9547b763a 160000 --- a/src/sonic-platform-daemons +++ b/src/sonic-platform-daemons @@ -1 +1 @@ -Subproject commit f913e9c137012a8b1c31124c08e2c3b450f57833 +Subproject commit f9547b763a126293ea1eea6608b1f7da5a010806 From 151a1942129e088e8d0ba5bd3ea346966dc157f7 Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sat, 27 May 2023 05:23:00 +0800 Subject: [PATCH 05/16] [YANG] Add MgmtLeafRouter to Device Neighbor Metadata element type list (#15202) (#15231) Why I did it Introduce a new valid neighbor element type to YANG. Work item tracking Microsoft ADO (number only): 23994521 How I did it Add MgmtLeafRouter to element network type list. How to verify it Passes UTs Co-authored-by: Jing Kan --- .../yang-models/sonic-device_neighbor_metadata.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-yang-models/yang-models/sonic-device_neighbor_metadata.yang b/src/sonic-yang-models/yang-models/sonic-device_neighbor_metadata.yang index 76526f801c..0b8a5ad1ee 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_neighbor_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_neighbor_metadata.yang @@ -83,7 +83,7 @@ module sonic-device_neighbor_metadata { leaf type { description "Network element type"; type string { - pattern "ToRRouter|LeafRouter|SpineChassisFrontendRouter|ChassisBackendRouter|ASIC|Asic|Supervior|MgmtToRRouter|SpineRouter|BackEndToRRouter|BackEndLeafRouter|EPMS|MgmtTsToR|BmcMgmtToRRouter|Server|MiniPower|SmartCable|Ixia|not-provisioned"; + pattern "ToRRouter|LeafRouter|SpineChassisFrontendRouter|ChassisBackendRouter|ASIC|Asic|Supervior|MgmtToRRouter|MgmtLeafRouter|SpineRouter|BackEndToRRouter|BackEndLeafRouter|EPMS|MgmtTsToR|BmcMgmtToRRouter|Server|MiniPower|SmartCable|Ixia|not-provisioned"; } } From 294292b1cba1b8464ada60ef06d33715bf656a52 Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sat, 27 May 2023 05:24:04 +0800 Subject: [PATCH 06/16] [submodule] Update submodule sonic-platform-common to the latest HEAD automatically (#15235) src/sonic-platform-common * f1f1dd3 - (HEAD -> 202205, origin/202205) Update CMIS api's rendering max-duration (#375) (3 minutes ago) [rajann] --- src/sonic-platform-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-platform-common b/src/sonic-platform-common index fbab89696a..f1f1dd3576 160000 --- a/src/sonic-platform-common +++ b/src/sonic-platform-common @@ -1 +1 @@ -Subproject commit fbab89696a5defb4954e30bf0faac4d880125356 +Subproject commit f1f1dd35768665cc07e1f8059578d98d466f0cde From 934cf5d4c6edecfe64032dcda5f059c3dc222116 Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sat, 27 May 2023 05:24:41 +0800 Subject: [PATCH 07/16] [submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically (#15236) src/sonic-platform-daemons * 2466680 - (HEAD -> 202205, origin/202205) add async notification support in active-active topo; refactor code for ycable tasks for change events (#327) (5 minutes ago) [vdahiya12] * a07bc21 - [ycabled] refactor code for onboarding async client changes;refactor (#355) (5 minutes ago) [vdahiya12] --- src/sonic-platform-daemons | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-platform-daemons b/src/sonic-platform-daemons index f9547b763a..2466680e93 160000 --- a/src/sonic-platform-daemons +++ b/src/sonic-platform-daemons @@ -1 +1 @@ -Subproject commit f9547b763a126293ea1eea6608b1f7da5a010806 +Subproject commit 2466680e93cde3eaf91f2224974876e16fa7a4d2 From a4633d32ed3ee0e91e9fc698b3378f41295ac3e0 Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sat, 27 May 2023 05:27:55 +0800 Subject: [PATCH 08/16] Clean up the old version container images (#14978) (#15232) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Why I did it Our k8s feature will pull new version container images for each upgrade, the container images inside sonic will be more and more, but for now we don’t have a way to clean up the old version container images, the disk may be filled up. Need to add cleaning up the old version container images logic. Work item tracking Microsoft ADO (number only): 17979809 How I did it Remove the old version container images besides the feature's current version and last version image, last version image is saved for supporting fallback. How to verify it Check whether the old version images are removed Co-authored-by: lixiaoyuner <35456895+lixiaoyuner@users.noreply.github.com> --- src/sonic-ctrmgrd/ctrmgr/container | 26 +++++ src/sonic-ctrmgrd/ctrmgr/container_startup.py | 13 ++- src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py | 38 ++++++- src/sonic-ctrmgrd/ctrmgr/kube_commands.py | 64 ++++++++++++ .../ctrmgr/remote_ctr.config.json | 3 +- src/sonic-ctrmgrd/tests/common_test.py | 14 +++ .../tests/container_startup_test.py | 6 +- src/sonic-ctrmgrd/tests/container_test.py | 3 +- src/sonic-ctrmgrd/tests/ctrmgrd_test.py | 21 +++- src/sonic-ctrmgrd/tests/kube_commands_test.py | 98 +++++++++++++++++++ 10 files changed, 270 insertions(+), 16 deletions(-) diff --git a/src/sonic-ctrmgrd/ctrmgr/container b/src/sonic-ctrmgrd/ctrmgr/container index ca2394b057..9be2a5b3fe 100755 --- a/src/sonic-ctrmgrd/ctrmgr/container +++ b/src/sonic-ctrmgrd/ctrmgr/container @@ -27,6 +27,7 @@ REMOTE_STATE = "remote_state" VERSION = "container_version" SYSTEM_STATE = "system_state" STATE = "state" +ST_FEAT_CTR_STABLE_VER = "container_stable_version" KUBE_LABEL_TABLE = "KUBE_LABELS" KUBE_LABEL_SET_KEY = "SET" @@ -132,6 +133,26 @@ def docker_action(action, feature, **kwargs): return FAILURE +def container_version(feature): + """ Get container image version """ + version = None + try: + client = docker.from_env() + container = client.containers.get(feature) + envs = container.attrs['Config']['Env'] + for env in envs: + if env.startswith("IMAGE_VERSION="): + version = env.split('=')[1] + + syslog.syslog(syslog.LOG_INFO, "docker get image version for {}".format(feature)) + + except (docker.errors.NotFound, docker.errors.APIError) as err: + syslog.syslog(syslog.LOG_ERR, "docker get image version for {} failed with {}". + format(feature, str(err))) + + return version + + def set_label(feature, create): """ Set/drop label as required Update is done in state-db. @@ -374,6 +395,11 @@ def container_wait(feature, **kwargs): pend_wait_secs = 0 ret = SUCCESS + if docker_id == feature: + version = container_version(feature) + if version: + update_data(feature, {ST_FEAT_CTR_STABLE_VER: version}) + if not docker_id and fallback: pend_wait_secs = get_config_data( SONIC_CTR_CONFIG_PEND_SECS, DEFAULT_PEND_SECS) diff --git a/src/sonic-ctrmgrd/ctrmgr/container_startup.py b/src/sonic-ctrmgrd/ctrmgr/container_startup.py index 2af8e0b384..d94b4ef97b 100755 --- a/src/sonic-ctrmgrd/ctrmgr/container_startup.py +++ b/src/sonic-ctrmgrd/ctrmgr/container_startup.py @@ -36,6 +36,11 @@ def _get_version_key(feature, version): return "{}_{}_enabled".format(feature, version) +def _get_local_version_key(feature): + # Coin label for track laster local version + return "{}_local".format(feature) + + def read_data(feature): state_data = { CURRENT_OWNER: "none", @@ -87,8 +92,8 @@ def check_version_blocked(state_db, feature, version): # tbl = swsscommon.Table(state_db, KUBE_LABEL_TABLE) labels = dict(tbl.get(KUBE_LABEL_SET_KEY)[1]) - key = _get_version_key(feature, version) - return (key in labels) and (labels[key].lower() == "false") + key = _get_local_version_key(feature) + return (key in labels) and (labels[key].lower() == version.lower()) def drop_label(state_db, feature, version): @@ -97,8 +102,8 @@ def drop_label(state_db, feature, version): # ctrmgrd sets it with kube API server per reaschability tbl = swsscommon.Table(state_db, KUBE_LABEL_TABLE) - name = _get_version_key(feature, version) - tbl.set(KUBE_LABEL_SET_KEY, [ (name, "false")]) + name = _get_local_version_key(feature) + tbl.set(KUBE_LABEL_SET_KEY, [(name, version)]) def update_data(state_db, feature, data): diff --git a/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py b/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py index b6b3d0bba2..27648dd22d 100755 --- a/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py +++ b/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py @@ -48,6 +48,8 @@ ST_FEAT_UPDATE_TS = "update_time" ST_FEAT_CTR_ID = "container_id" ST_FEAT_CTR_VER = "container_version" +ST_FEAT_CTR_STABLE_VER = "container_stable_version" +ST_FEAT_CTR_LAST_VER = "container_last_version" ST_FEAT_REMOTE_STATE = "remote_state" ST_FEAT_SYS_STATE = "system_state" @@ -59,6 +61,7 @@ OWNER_KUBE = "kube" OWNER_LOCAL = "local" OWNER_NONE = "none" +REMOTE_RUNNING = "running" REMOTE_READY = "ready" REMOTE_PENDING = "pending" REMOTE_STOPPED = "stopped" @@ -91,6 +94,8 @@ ST_FEAT_UPDATE_TS: "", ST_FEAT_CTR_ID: "", ST_FEAT_CTR_VER: "", + ST_FEAT_CTR_STABLE_VER: "", + ST_FEAT_CTR_LAST_VER: "", ST_FEAT_REMOTE_STATE: "none", ST_FEAT_SYS_STATE: "" } @@ -100,18 +105,20 @@ LABEL_RETRY = "retry_labels_update_seconds" TAG_IMAGE_LATEST = "tag_latest_image_on_wait_seconds" TAG_RETRY = "retry_tag_latest_seconds" +CLEAN_IMAGE_RETRY = "retry_clean_image_seconds" USE_K8S_PROXY = "use_k8s_as_http_proxy" remote_ctr_config = { JOIN_LATENCY: 10, JOIN_RETRY: 10, LABEL_RETRY: 2, - TAG_IMAGE_LATEST: 30, + TAG_IMAGE_LATEST: 5, TAG_RETRY: 5, + CLEAN_IMAGE_RETRY: 5, USE_K8S_PROXY: "" } -ENABLED_FEATURE_SET = {"telemetry", "snmp"} +DISABLED_FEATURE_SET = {"database"} def log_debug(m): msg = "{}: {}".format(inspect.stack()[1][3], m) @@ -271,7 +278,7 @@ def run(self): key, op, fvs = subscriber.pop() if not key: continue - if subscriber.getTableName() == FEATURE_TABLE and key not in ENABLED_FEATURE_SET: + if subscriber.getTableName() == FEATURE_TABLE and key in DISABLED_FEATURE_SET: continue log_debug("Received message : '%s'" % str((key, op, fvs))) for callback in (self.callbacks @@ -545,7 +552,7 @@ def on_state_update(self, key, op, data): self.st_data[key] = _update_entry(dflt_st_feat, data) remote_state = self.st_data[key][ST_FEAT_REMOTE_STATE] - if (old_remote_state != remote_state) and (remote_state == "running"): + if (remote_state == REMOTE_RUNNING) and (old_remote_state != remote_state): # Tag latest start_time = datetime.datetime.now() + datetime.timedelta( seconds=remote_ctr_config[TAG_IMAGE_LATEST]) @@ -583,6 +590,29 @@ def do_tag_latest(self, feat, docker_id, image_ver): log_debug("Tag latest as local failed retry after {} seconds @{}". format(remote_ctr_config[TAG_RETRY], self.start_time)) + else: + last_version = self.st_data[feat][ST_FEAT_CTR_STABLE_VER] + if last_version == image_ver: + last_version = self.st_data[feat][ST_FEAT_CTR_LAST_VER] + self.server.mod_db_entry(STATE_DB_NAME, FEATURE_TABLE, feat, + {ST_FEAT_CTR_STABLE_VER: image_ver, + ST_FEAT_CTR_LAST_VER: last_version}) + self.st_data[ST_FEAT_CTR_LAST_VER] = last_version + self.st_data[ST_FEAT_CTR_STABLE_VER] = image_ver + self.do_clean_image(feat, image_ver, last_version) + + def do_clean_image(self, feat, current_version, last_version): + ret = kube_commands.clean_image(feat, current_version, last_version) + if ret != 0: + # Clean up old version images failed. Retry after an interval + self.start_time = datetime.datetime.now() + self.start_time += datetime.timedelta( + seconds=remote_ctr_config[CLEAN_IMAGE_RETRY]) + self.server.register_timer(self.start_time, self.do_clean_image, (feat, current_version, last_version)) + + log_debug("Clean up old version images failed retry after {} seconds @{}". + format(remote_ctr_config[CLEAN_IMAGE_RETRY], self.start_time)) + # # Label re-sync diff --git a/src/sonic-ctrmgrd/ctrmgr/kube_commands.py b/src/sonic-ctrmgrd/ctrmgr/kube_commands.py index 6576f25800..fe37c0c842 100755 --- a/src/sonic-ctrmgrd/ctrmgr/kube_commands.py +++ b/src/sonic-ctrmgrd/ctrmgr/kube_commands.py @@ -483,6 +483,70 @@ def tag_latest(feat, docker_id, image_ver): log_error(err) return ret +def _do_clean(feat, current_version, last_version): + err = "" + out = "" + ret = 0 + DOCKER_ID = "docker_id" + REPO = "repo" + _, image_info, err = _run_command("docker images |grep {} |grep -v latest |awk '{{print $1,$2,$3}}'".format(feat)) + if image_info: + version_dict = {} + version_dict_default = {} + for info in image_info.split("\n"): + rep, version, docker_id = info.split() + if len(rep.split("/")) == 1: + version_dict_default[version] = {DOCKER_ID: docker_id, REPO: rep} + else: + version_dict[version] = {DOCKER_ID: docker_id, REPO: rep} + + if current_version in version_dict: + image_prefix = version_dict[current_version][REPO] + del version_dict[current_version] + else: + out = "Current version {} doesn't exist.".format(current_version) + ret = 0 + return ret, out, err + # should be only one item in version_dict_default + for k, v in version_dict_default.items(): + local_version, local_repo, local_docker_id = k, v[REPO], v[DOCKER_ID] + tag_res, _, err = _run_command("docker tag {} {}:{} && docker rmi {}:{}".format( + local_docker_id, image_prefix, local_version, local_repo, local_version)) + if tag_res == 0: + msg = "Tag {} local version images successfully".format(feat) + log_debug(msg) + else: + ret = 1 + err = "Failed to tag {} local version images. Err: {}".format(feat, err) + return ret, out, err + + if last_version in version_dict: + del version_dict[last_version] + + versions = [item[DOCKER_ID] for item in version_dict.values()] + if versions: + clean_res, _, err = _run_command("docker rmi {} --force".format(" ".join(versions))) + else: + clean_res = 0 + if clean_res == 0: + out = "Clean {} old version images successfully".format(feat) + else: + err = "Failed to clean {} old version images. Err: {}".format(feat, err) + ret = 1 + else: + err = "Failed to docker images |grep {} |awk '{{print $3}}'".format(feat) + ret = 1 + + return ret, out, err + +def clean_image(feat, current_version, last_version): + ret, out, err = _do_clean(feat, current_version, last_version) + if ret == 0: + log_debug(out) + else: + log_error(err) + return ret + def main(): syslog.openlog("kube_commands") parser=argparse.ArgumentParser(description= diff --git a/src/sonic-ctrmgrd/ctrmgr/remote_ctr.config.json b/src/sonic-ctrmgrd/ctrmgr/remote_ctr.config.json index b6d2633486..45701430ff 100644 --- a/src/sonic-ctrmgrd/ctrmgr/remote_ctr.config.json +++ b/src/sonic-ctrmgrd/ctrmgr/remote_ctr.config.json @@ -2,9 +2,10 @@ "join_latency_on_boot_seconds": 300, "retry_join_interval_seconds": 30, "retry_labels_update_seconds": 5, - "revert_to_local_on_wait_seconds": 60, + "revert_to_local_on_wait_seconds": 360, "tag_latest_image_on_wait_seconds": 600, "retry_tag_latest_seconds": 30, + "retry_clean_image_seconds": 30, "use_k8s_as_http_proxy": "n" } diff --git a/src/sonic-ctrmgrd/tests/common_test.py b/src/sonic-ctrmgrd/tests/common_test.py index 59f774596a..45f81d150d 100755 --- a/src/sonic-ctrmgrd/tests/common_test.py +++ b/src/sonic-ctrmgrd/tests/common_test.py @@ -185,6 +185,7 @@ def __init__(self, name): self.actions = [] self.name = name self.image = mock_image(self.actions) + self.attrs = {"Config": {"Env": ["IMAGE_VERSION=20201231.11"]}} def start(self): @@ -547,6 +548,19 @@ def set_mock_kube(kube_labels, kube_join, kube_reset): kube_reset.side_effect = kube_reset_side_effect +def clean_image_side_effect(feat, current_version, last_version): + return 0 + + +def tag_latest_side_effect(feat, docker_id, image_ver): + return 0 + + +def set_mock_image_op(clean_image, tag_latest): + clean_image.side_effect = clean_image_side_effect + tag_latest.side_effect = tag_latest_side_effect + + def str_comp(needle, hay): nlen = len(needle) hlen = len(hay) diff --git a/src/sonic-ctrmgrd/tests/container_startup_test.py b/src/sonic-ctrmgrd/tests/container_startup_test.py index b21fe85566..23523f66b1 100755 --- a/src/sonic-ctrmgrd/tests/container_startup_test.py +++ b/src/sonic-ctrmgrd/tests/container_startup_test.py @@ -36,7 +36,7 @@ }, common_test.KUBE_LABEL_TABLE: { "SET": { - "snmp_20201230.11_enabled": "false" + "snmp_local": "20201230.11" } } } @@ -345,7 +345,7 @@ }, common_test.KUBE_LABEL_TABLE: { "SET": { - "snmp_20201230.11_enabled": "false" + "snmp_local": "20201230.11" } } } @@ -363,7 +363,7 @@ }, common_test.KUBE_LABEL_TABLE: { "SET": { - "snmp_20201230.11_enabled": "false" + "snmp_local": "20201230.11" } } } diff --git a/src/sonic-ctrmgrd/tests/container_test.py b/src/sonic-ctrmgrd/tests/container_test.py index 4581111015..8d1534f8b0 100755 --- a/src/sonic-ctrmgrd/tests/container_test.py +++ b/src/sonic-ctrmgrd/tests/container_test.py @@ -416,7 +416,8 @@ "remote_state": "none", "system_state": "up", "current_owner": "local", - "container_id": "snmp" + "container_id": "snmp", + "container_stable_version": "20201231.11" } } } diff --git a/src/sonic-ctrmgrd/tests/ctrmgrd_test.py b/src/sonic-ctrmgrd/tests/ctrmgrd_test.py index 0a298dd603..0304985224 100755 --- a/src/sonic-ctrmgrd/tests/ctrmgrd_test.py +++ b/src/sonic-ctrmgrd/tests/ctrmgrd_test.py @@ -291,7 +291,7 @@ common_test.STATE_DB_NO: { common_test.FEATURE_TABLE: { "snmp": { - "remote_state": "pending" + "remote_state": "ready" } } } @@ -307,7 +307,19 @@ common_test.STATE_DB_NO: { common_test.FEATURE_TABLE: { "snmp": { - "remote_state": "running" + "remote_state": "running", + "container_version": "20201231.74", + "container_stable_version": "20201231.64" + } + } + } + }, + common_test.POST: { + common_test.STATE_DB_NO: { + common_test.FEATURE_TABLE: { + "snmp": { + "container_last_version": "20201231.64", + "container_stable_version": "20201231.74" } } } @@ -473,13 +485,16 @@ def test_server(self, mock_kube_wr, mock_kube_join, mock_kube_rst, mock_subs, @patch("ctrmgrd.kube_commands.kube_reset_master") @patch("ctrmgrd.kube_commands.kube_join_master") @patch("ctrmgrd.kube_commands.kube_write_labels") - def test_feature(self, mock_kube_wr, mock_kube_join, mock_kube_rst, mock_subs, + @patch("ctrmgrd.kube_commands.tag_latest") + @patch("ctrmgrd.kube_commands.clean_image") + def test_feature(self, mock_clean_image, mock_tag_latest, mock_kube_wr, mock_kube_join, mock_kube_rst, mock_subs, mock_select, mock_table, mock_conn): self.init() ret = 0 common_test.set_mock(mock_table, mock_conn) common_test.set_mock_sel(mock_select, mock_subs) common_test.set_mock_kube(mock_kube_wr, mock_kube_join, mock_kube_rst) + common_test.set_mock_image_op(mock_clean_image, mock_tag_latest) for (i, ct_data) in feature_test_data.items(): common_test.do_start_test("ctrmgrd:feature", i, ct_data) diff --git a/src/sonic-ctrmgrd/tests/kube_commands_test.py b/src/sonic-ctrmgrd/tests/kube_commands_test.py index 9b4dd6842b..40b8ab180b 100755 --- a/src/sonic-ctrmgrd/tests/kube_commands_test.py +++ b/src/sonic-ctrmgrd/tests/kube_commands_test.py @@ -309,6 +309,93 @@ } } +clean_image_test_data = { + 0: { + common_test.DESCR: "Clean image successfuly(kube to kube)", + common_test.RETVAL: 0, + common_test.ARGS: ["snmp", "20201231.84", "20201231.74"], + common_test.PROC_CMD: [ + "docker images |grep snmp |grep -v latest |awk '{print $1,$2,$3}'", + "docker rmi 744d3a09062f --force" + ], + common_test.PROC_OUT: [ + "sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.74 507f8d28bf6e\n\ + sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.96 744d3a09062f\n\ + sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.84 507f8d28bf6e", + "" + ], + common_test.PROC_CODE: [ + 0, + 0 + ] + }, + 1: { + common_test.DESCR: "Clean image failed(delete image failed)", + common_test.RETVAL: 1, + common_test.ARGS: ["snmp", "20201231.84", "20201231.74"], + common_test.PROC_CMD: [ + "docker images |grep snmp |grep -v latest |awk '{print $1,$2,$3}'", + "docker rmi 744d3a09062f --force" + ], + common_test.PROC_OUT: [ + "sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.74 507f8d28bf6e\n\ + sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.96 744d3a09062f\n\ + sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.84 507f8d28bf6e", + "" + ], + common_test.PROC_CODE: [ + 0, + 1 + ] + }, + 2: { + common_test.DESCR: "Clean image failed(no image found)", + common_test.RETVAL: 1, + common_test.ARGS: ["snmp", "20201231.84", "20201231.74"], + common_test.PROC_CMD: [ + "docker images |grep snmp |grep -v latest |awk '{print $1,$2,$3}'" + ], + common_test.PROC_OUT: [ + "" + ] + }, + 3: { + common_test.DESCR: "Clean image failed(current image doesn't exist)", + common_test.RETVAL: 0, + common_test.ARGS: ["snmp", "20201231.84", "20201231.74"], + common_test.PROC_CMD: [ + "docker images |grep snmp |grep -v latest |awk '{print $1,$2,$3}'", + "" + ], + common_test.PROC_OUT: [ + "sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.74 507f8d28bf6e\n\ + sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.96 744d3a09062f", + "" + ], + common_test.PROC_CODE: [ + 0 + ] + }, + 4: { + common_test.DESCR: "Clean image successfuly(local to kube)", + common_test.RETVAL: 0, + common_test.ARGS: ["snmp", "20201231.84", ""], + common_test.PROC_CMD: [ + "docker images |grep snmp |grep -v latest |awk '{print $1,$2,$3}'", + "docker tag 507f8d28bf6e sonick8scue.azurecr.io/docker-sonic-telemetry:20201231.74 && docker rmi docker-sonic-telemetry:20201231.74" + ], + common_test.PROC_OUT: [ + "docker-sonic-telemetry 20201231.74 507f8d28bf6e\n\ + sonick8scue.azurecr.io/docker-sonic-telemetry 20201231.84 507f8d28bf6e", + "" + ], + common_test.PROC_CODE: [ + 0, + 0 + ] + }, +} + class TestKubeCommands(object): def init(self): @@ -467,3 +554,14 @@ def test_tag_latest(self, mock_subproc): ret = kube_commands.tag_latest(*ct_data[common_test.ARGS]) if common_test.RETVAL in ct_data: assert ret == ct_data[common_test.RETVAL] + + @patch("kube_commands.subprocess.Popen") + def test_clean_image(self, mock_subproc): + common_test.set_kube_mock(mock_subproc) + + for (i, ct_data) in clean_image_test_data.items(): + common_test.do_start_test("clean:image", i, ct_data) + + ret = kube_commands.clean_image(*ct_data[common_test.ARGS]) + if common_test.RETVAL in ct_data: + assert ret == ct_data[common_test.RETVAL] From 8661e9de2c8bcecb47de9a3f76dd354b849e3be8 Mon Sep 17 00:00:00 2001 From: Neetha John Date: Fri, 26 May 2023 14:29:34 -0700 Subject: [PATCH 09/16] [202205] Update SOC properties for DLR_INIT based pfcwd recovery (#15217) Why I did it Update soc properties for certain roles that need to use pfcwd dlr init based recovery mechanism How to verify it Updated the templates on a 7050cx3 dual tor and 7260 T1 which satisfies these conditions and validated pfcwd recovery which uses DLR_INIT based mechanism. Also validated that this mechanism is not used on 7050cx3 single tor with the updated templates Signed-off-by: Neetha John --- .../Arista-7050CX3-32S-C32/config.bcm.j2 | 7 +++++++ .../Arista-7050CX3-32S-D48C8/config.bcm.j2 | 7 +++++++ .../Arista-7260CX3-C64/config.bcm.j2 | 7 +++++++ .../Arista-7260CX3-D108C10/config.bcm.j2 | 7 +++++++ .../Arista-7260CX3-D108C8/config.bcm.j2 | 7 +++++++ .../Arista-7260CX3-Q64/config.bcm.j2 | 7 +++++++ .../tests/data/j2_template/config.bcm.j2 | 7 +++++++ .../sample_output/py3/arista7050cx3-dualtor.config.bcm | 3 +++ .../tests/sample_output/py3/arista7260-dualtor.config.bcm | 3 +++ .../tests/sample_output/py3/arista7260-t1.config.bcm | 3 +++ 10 files changed, 58 insertions(+) diff --git a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 index 6cc4540921..1b7eec5d5f 100644 --- a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 +++ b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 @@ -1,16 +1,23 @@ {# Construct config.bcm to include additional soc properties per specific device metadata requirement #} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/ l3_alpm_hit_skip=1 sai_adjust_acl_drop_in_rx_drop=1 sai_verify_incoming_chksum=0 {{ map_prio }} +{{ pfcwd_sock }} host_as_route_disable=1 use_all_splithorizon_groups=1 riot_enable=1 diff --git a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 index a68ff78bab..1c928e3c61 100644 --- a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 +++ b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 @@ -1,16 +1,23 @@ {# Construct config.bcm to include additional soc properties per specific device metadata requirement #} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/ l3_alpm_hit_skip=1 sai_adjust_acl_drop_in_rx_drop=1 sai_verify_incoming_chksum=0 {{ map_prio }} +{{ pfcwd_sock }} host_as_route_disable=1 use_all_splithorizon_groups=1 riot_enable=1 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 index 7ad0311ab8..d4b9000c37 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 @@ -2,6 +2,7 @@ {%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%} {%- set IPinIP_sock = '' -%} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%} {%- if DEVICE_METADATA['localhost']['type'] is defined -%} {%- set switch_role = DEVICE_METADATA['localhost']['type'] -%} @@ -20,11 +21,17 @@ {%- endif %} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x100G-t1.config.bcm" #} l3_alpm_hit_skip=1 sai_adjust_acl_drop_in_rx_drop=1 {{ map_prio }} +{{ pfcwd_sock }} PHY_AN_ALLOW_PLL_CHANGE=1 arl_clean_timeout_usec=15000000 asf_mem_profile=2 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 index 2255d7149b..c2d1c888d8 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 @@ -1,6 +1,7 @@ {# Construct config.bcm to include additional soc properties per specific device metadata requirement #} {%- set IPinIP_sock = '' -%} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} @@ -11,10 +12,16 @@ {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #} l3_alpm_hit_skip=1 sai_adjust_acl_drop_in_rx_drop=1 {{ map_prio }} +{{ pfcwd_sock }} PHY_AN_ALLOW_PLL_CHANGE=1 arl_clean_timeout_usec=15000000 asf_mem_profile=2 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 index 642b36312d..cd6cd22c03 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 @@ -1,6 +1,7 @@ {# Construct config.bcm to include additional soc properties per specific device metadata requirement #} {%- set IPinIP_sock = '' -%} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} @@ -11,10 +12,16 @@ {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #} l3_alpm_hit_skip=1 sai_adjust_acl_drop_in_rx_drop=1 {{ map_prio }} +{{ pfcwd_sock }} PHY_AN_ALLOW_PLL_CHANGE=1 arl_clean_timeout_usec=15000000 asf_mem_profile=2 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 index 5ff359e06b..55b4c4ba80 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 @@ -2,6 +2,7 @@ {%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%} {%- set IPinIP_sock = '' -%} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%} {%- if DEVICE_METADATA['localhost']['type'] is defined -%} {%- set switch_role = DEVICE_METADATA['localhost']['type'] -%} @@ -20,10 +21,16 @@ {%- endif %} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x40G.config.bcm" #} l3_alpm_hit_skip=1 sai_adjust_acl_drop_in_rx_drop=1 {{ map_prio }} +{{ pfcwd_sock }} PHY_AN_ALLOW_PLL_CHANGE=1 arl_clean_timeout_usec=15000000 asf_mem_profile=2 diff --git a/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 b/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 index 187d40af2d..9ecc43478d 100644 --- a/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 +++ b/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 @@ -2,6 +2,7 @@ {%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%} {%- set IPinIP_sock = '' -%} {%- set map_prio = '' -%} +{%- set pfcwd_sock = '' -%} {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%} {%- if DEVICE_METADATA['localhost']['type'] is defined -%} {%- set switch_role = DEVICE_METADATA['localhost']['type'] -%} @@ -20,9 +21,15 @@ {%- endif %} {%- endif %} {%- endif %} +{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} +{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1' -%} +{%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x100G-t1.config.bcm" #} l3_alpm_hit_skip=1 {{ map_prio }} {{ mmu_sock }} {{ IPinIP_sock }} +{{ pfcwd_sock }} diff --git a/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm b/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm index 7d21ac82f1..84a04ee72b 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm +++ b/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm @@ -6,3 +6,6 @@ sai_tunnel_support=1 sai_tunnel_underlay_route_mode=1 host_as_route_disable=1 l3_ecmp_levels=2 +hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1 diff --git a/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm b/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm index 7d21ac82f1..84a04ee72b 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm +++ b/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm @@ -6,3 +6,6 @@ sai_tunnel_support=1 sai_tunnel_underlay_route_mode=1 host_as_route_disable=1 l3_ecmp_levels=2 +hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1 diff --git a/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm b/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm index 84a917290f..bfa22e50fe 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm +++ b/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm @@ -3,3 +3,6 @@ l3_alpm_hit_skip=1 mmu_init_config="MSFT-TH2-Tier1" +hybrid_pfc_deadlock_enable=1 + pfc_deadlock_seq_control=1 + sai_pfc_dlr_init_capability=1 From d00dd1fca71df523eb8359ac252db72b0fa97bcd Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sat, 27 May 2023 20:17:51 +0800 Subject: [PATCH 10/16] [ci/build]: Upgrade SONiC package versions (#15243) --- .../versions-py3-all-arm64 | 3 +-- files/build/versions/default/versions-docker | 24 +++++++++---------- files/build/versions/default/versions-git | 12 +++++----- files/build/versions/default/versions-mirror | 24 +++++++++---------- .../docker-config-engine-buster/versions-py3 | 2 +- .../dockers/docker-ptf/versions-deb-buster | 14 +++++------ .../docker-sonic-mgmt-framework/versions-py3 | 4 ++-- .../docker-sonic-vs/versions-deb-buster | 14 +++++------ .../dockers/docker-sonic-vs/versions-py2 | 2 +- .../docker-syncd-bfn-rpc/versions-deb-buster | 14 +++++------ .../versions-deb-buster | 14 +++++------ .../versions-deb-buster-arm64 | 14 +++++------ .../versions-deb-bullseye | 4 ++-- .../sonic-slave-buster/versions-deb-buster | 14 +++++------ .../dockers/sonic-slave-buster/versions-py3 | 2 +- 15 files changed, 80 insertions(+), 81 deletions(-) diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 index 74eed00400..91b7ebfeb1 100644 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 +++ b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 @@ -1,4 +1,3 @@ bitarray==1.5.3 click==7.0 -requests==2.31.0 -zipp==1.2.0 \ No newline at end of file +requests==2.31.0 \ No newline at end of file diff --git a/files/build/versions/default/versions-docker b/files/build/versions/default/versions-docker index aa765a2347..88fb88010a 100644 --- a/files/build/versions/default/versions-docker +++ b/files/build/versions/default/versions-docker @@ -1,12 +1,12 @@ -amd64:amd64/debian:bullseye==sha256:32888a3c745e38e72a5f49161afc7bb52a263b8f5ea1b3b4a6af537678f29491 -amd64:amd64/debian:buster==sha256:ebc58102f66492508f6d0f0c5164978afbe27f4a69bd3431ed8bb015c82a8b80 -amd64:debian:bullseye==sha256:63d62ae233b588d6b426b7b072d79d1306bfd02a72bff1fc045b8511cc89ee09 -amd64:debian:buster==sha256:cca6bcced970f7634197ff1821aabb452024eb437958ab98bfc146ece96969c6 -arm64:arm64v8/debian:bullseye==sha256:ffc0fb46ea2b4c6e5462896ab380db366d1f142e565a0bfae4f91d0b511baae3 -arm64:arm64v8/debian:buster==sha256:4db99637cd48a7181532cbd61a0da9295ae135ac590f1948fea5cd7c9acfab0b -arm64:debian:bullseye==sha256:63d62ae233b588d6b426b7b072d79d1306bfd02a72bff1fc045b8511cc89ee09 -arm64:debian:buster==sha256:cca6bcced970f7634197ff1821aabb452024eb437958ab98bfc146ece96969c6 -armhf:arm32v7/debian:bullseye==sha256:b0f334e3bc529853a0fad8d2b5d85476d0316bff06ab5328d4628f90a7a789ab -armhf:arm32v7/debian:buster==sha256:9606bc9689ace2b3958d23babcf39a7bbcbebdc3ff99b9050014558273a95e4a -armhf:debian:bullseye==sha256:63d62ae233b588d6b426b7b072d79d1306bfd02a72bff1fc045b8511cc89ee09 -armhf:debian:buster==sha256:cca6bcced970f7634197ff1821aabb452024eb437958ab98bfc146ece96969c6 \ No newline at end of file +amd64:amd64/debian:bullseye==sha256:1bf0e24813ee8306c3fba1fe074793eb91c15ee580b61fff7f3f41662bc0031d +amd64:amd64/debian:buster==sha256:a067a9e8b39d5f19659b3bc9fd4348f6319afabd0d6ba1fe3b43df108926ea92 +amd64:debian:bullseye==sha256:432f545c6ba13b79e2681f4cc4858788b0ab099fc1cca799cc0fae4687c69070 +amd64:debian:buster==sha256:322859539526a04978dee1a2575b515295f6706f17d280f877a634299a7c1414 +arm64:arm64v8/debian:bullseye==sha256:0d1881fd981442bd6721e0e4ff40eb0ba705475c3a8469482ccee9029af56ebf +arm64:arm64v8/debian:buster==sha256:62a3eb2f5ace2f8415171855a84375616cb3cdb60b799d1811c3fda923b8dfbc +arm64:debian:bullseye==sha256:432f545c6ba13b79e2681f4cc4858788b0ab099fc1cca799cc0fae4687c69070 +arm64:debian:buster==sha256:322859539526a04978dee1a2575b515295f6706f17d280f877a634299a7c1414 +armhf:arm32v7/debian:bullseye==sha256:16aa677e45937a8c9f2e5a932ff1a611bc85b6416e47ab66532e05af2c08e066 +armhf:arm32v7/debian:buster==sha256:5340ee96c308b59f4590ec929adeeaf61ffe5a0758adcba09d0595a6619c3462 +armhf:debian:bullseye==sha256:432f545c6ba13b79e2681f4cc4858788b0ab099fc1cca799cc0fae4687c69070 +armhf:debian:buster==sha256:322859539526a04978dee1a2575b515295f6706f17d280f877a634299a7c1414 \ No newline at end of file diff --git a/files/build/versions/default/versions-git b/files/build/versions/default/versions-git index 643c56af75..63d96a36c4 100644 --- a/files/build/versions/default/versions-git +++ b/files/build/versions/default/versions-git @@ -1,24 +1,24 @@ -https://chromium.googlesource.com/chromium/tools/depot_tools.git==63d20c330ba3ba5f644ade9e50b22ef3be09c1b8 +https://chromium.googlesource.com/chromium/tools/depot_tools.git==04afb4b256a1aab562b0fcfaf7cd9ffe4ec42c1b https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f https://github.com/CESNET/libyang.git==ea94c8b9f513f8a6ddc6ce1540fa41eaf4c8922a https://github.com/daveolson53/audisp-tacplus.git==559c9f22edd4f2dea0ecedffb3ad9502b12a75b6 https://github.com/daveolson53/libnss-tacplus.git==19008ab68d9d504aa58eb34d5f564755a1613b8b https://github.com/dyninc/OpenBFDD.git==e35f43ad8d2b3f084e96a84c392528a90d05a287 -https://github.com/flashrom/flashrom.git==f15e6a105b1cf589476042e62b8d0bb64a938e38 -https://github.com/FreeRADIUS/freeradius-server.git==550d77402f30fb55db74a799f569dbfca2e43c66 +https://github.com/flashrom/flashrom.git==ffc75aa710efc8796f0f34c30216ce8a2b1e3954 +https://github.com/FreeRADIUS/freeradius-server.git==049f89875f8a0fb6843a1f276af66ae64da4ce69 https://github.com/FreeRADIUS/pam_radius.git==8d373539bb9f13b0abfe8bcae0095a930a00fad0 https://github.com/jeroennijhof/pam_tacplus.git==4284d9016e64def2bb81d5f50f96dc3b59bfdc39 https://github.com/jpirko/libteam.git==61e27812c1074a865d7e1a778c0ce442837c28d7 https://github.com/lguohan/gnxi.git==f2b11e45b16ab13485ae14933f30c18ee6336499 https://github.com/Marvell-switching/mrvl-prestera.git==9dbae444204a2c27b33be698ce497d55926b8893 https://github.com/Mellanox/libpsample.git==62bb27d9a49424e45191eee81df7ce0d8c74e774 -https://github.com/opencomputeproject/SAI.git==c4ff21fda73be53d4e5b789bc933df96ddfea651 +https://github.com/opencomputeproject/SAI.git==fdaf928679dfa53ae21690f963b9b1f80032f2bf https://github.com/p4lang/scapy-vxlan.git==85ffe83da156568ee47a0750f638227e6e1d7479 -https://github.com/sflow/host-sflow==74f819f9695975fa9746c3e61888646d58c34ded +https://github.com/sflow/host-sflow==d61d7b3b52a1791d8b2782a32a7bdc391529ad31 https://github.com/sflow/sflowtool==4ce1223bb4c2cd0cbb1dd688dc0914561fcbb6c4 https://github.com/thom311/libnl==cbafad9ddf24caef5230fef715d34f0539603be0 https://salsa.debian.org/debian/libteam.git==48142125234a665ad5367b724af36a58fb484d3d -https://salsa.debian.org/kernel-team/ethtool/==68409b09a969b49a07fbf3930409f155b953434b +https://salsa.debian.org/kernel-team/ethtool/==97421dce8db53650dc08280f94bdd92cb4642cca https://salsa.debian.org/kernel-team/initramfs-tools.git==193dfbb7929e518976f89f6c8dd9201982e56f80 https://salsa.debian.org/sk-guest/monit.git==c9da7ebb1f35dfba17b50b5969a6e75e29cbec0d https://salsa.debian.org/ssh-team/openssh.git==4cb9ac54235e8f90a590a976e1404480fb521930 \ No newline at end of file diff --git a/files/build/versions/default/versions-mirror b/files/build/versions/default/versions-mirror index 24ccd272d0..9b9bd6877a 100644 --- a/files/build/versions/default/versions-mirror +++ b/files/build/versions/default/versions-mirror @@ -1,15 +1,15 @@ deb.nodesource.com_node%5f14.x_dists_bullseye==2023-02-17T00:35:28Z deb.nodesource.com_node%5f14.x_dists_buster==2023-02-17T00:35:28Z -debian==20230523T000124Z -debian-security==20230523T000204Z -download.docker.com_linux_debian_dists_bullseye==2023-05-19T22:46:29Z -download.docker.com_linux_debian_dists_buster==2023-05-19T22:46:29Z +debian==20230527T000125Z +debian-security==20230527T000128Z +download.docker.com_linux_debian_dists_bullseye==2023-05-26T07:49:37Z +download.docker.com_linux_debian_dists_buster==2023-05-26T07:49:38Z packages.microsoft.com_repos_sonic-dev_dists_jessie==2022-10-31T19:34:29Z -packages.trafficmanager.net_snapshot_debian-security_20230523T000204Z_dists_bullseye-security==2023-05-22T11:22:40Z -packages.trafficmanager.net_snapshot_debian-security_20230523T000204Z_dists_buster_updates==2023-05-22T11:22:40Z -packages.trafficmanager.net_snapshot_debian_20230523T000124Z_dists_bullseye==2023-04-29T09:31:02Z -packages.trafficmanager.net_snapshot_debian_20230523T000124Z_dists_bullseye-backports==2023-05-22T20:11:25Z -packages.trafficmanager.net_snapshot_debian_20230523T000124Z_dists_bullseye-updates==2023-05-22T20:11:25Z -packages.trafficmanager.net_snapshot_debian_20230523T000124Z_dists_buster==2022-09-10T11:30:54Z -packages.trafficmanager.net_snapshot_debian_20230523T000124Z_dists_buster-backports==2023-05-22T20:11:25Z -packages.trafficmanager.net_snapshot_debian_20230523T000124Z_dists_buster-updates==2023-05-22T20:11:25Z \ No newline at end of file +packages.trafficmanager.net_snapshot_debian-security_20230527T000128Z_dists_bullseye-security==2023-05-26T13:58:25Z +packages.trafficmanager.net_snapshot_debian-security_20230527T000128Z_dists_buster_updates==2023-05-26T13:58:25Z +packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_bullseye==2023-04-29T09:31:02Z +packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_bullseye-backports==2023-05-26T20:16:08Z +packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_bullseye-updates==2023-05-26T20:16:08Z +packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_buster==2022-09-10T11:30:54Z +packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_buster-backports==2023-05-26T20:16:08Z +packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_buster-updates==2023-05-26T20:16:08Z \ No newline at end of file diff --git a/files/build/versions/dockers/docker-config-engine-buster/versions-py3 b/files/build/versions/dockers/docker-config-engine-buster/versions-py3 index 936a1fb6e7..384ba72b8f 100644 --- a/files/build/versions/dockers/docker-config-engine-buster/versions-py3 +++ b/files/build/versions/dockers/docker-config-engine-buster/versions-py3 @@ -14,6 +14,6 @@ redis==4.5.5 redis-dump-load==1.1 regex==2023.5.5 six==1.16.0 -typing_extensions==4.6.0 +typing_extensions==4.6.2 xmltodict==0.12.0 zipp==3.15.0 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-ptf/versions-deb-buster b/files/build/versions/dockers/docker-ptf/versions-deb-buster index d9db811cfb..68d2faf33e 100644 --- a/files/build/versions/dockers/docker-ptf/versions-deb-buster +++ b/files/build/versions/dockers/docker-ptf/versions-deb-buster @@ -259,10 +259,10 @@ libpython-dev==2.7.16-1 libpython-stdlib==2.7.16-1 libpython2-dev==2.7.16-1 libpython2-stdlib==2.7.16-1 -libpython2.7==2.7.16-2+deb10u1 -libpython2.7-dev==2.7.16-2+deb10u1 -libpython2.7-minimal==2.7.16-2+deb10u1 -libpython2.7-stdlib==2.7.16-2+deb10u1 +libpython2.7==2.7.16-2+deb10u2 +libpython2.7-dev==2.7.16-2+deb10u2 +libpython2.7-minimal==2.7.16-2+deb10u2 +libpython2.7-stdlib==2.7.16-2+deb10u2 libpython3-dev==3.7.3-1 libpython3-stdlib==3.7.3-1 libpython3.7==3.7.3-2+deb10u4 @@ -413,9 +413,9 @@ python-thrift==0.11.0-4 python2==2.7.16-1 python2-dev==2.7.16-1 python2-minimal==2.7.16-1 -python2.7==2.7.16-2+deb10u1 -python2.7-dev==2.7.16-2+deb10u1 -python2.7-minimal==2.7.16-2+deb10u1 +python2.7==2.7.16-2+deb10u2 +python2.7-dev==2.7.16-2+deb10u2 +python2.7-minimal==2.7.16-2+deb10u2 python3==3.7.3-1 python3-asn1crypto==0.24.0-1 python3-cffi-backend==1.12.2-1 diff --git a/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 b/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 index a1bcf74717..c0e70ab01b 100644 --- a/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 +++ b/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 @@ -5,7 +5,7 @@ click==8.1.3 clickclick==20.10.2 connexion==2.7.0 flask==2.2.5 -grpcio==1.55.0 +grpcio==1.54.2 grpcio-tools==1.20.0 idna==3.4 importlib-resources==5.12.0 @@ -18,7 +18,7 @@ openapi-schema-validator==0.4.4 openapi-spec-validator==0.5.6 pathable==0.4.3 pkgutil_resolve_name==1.3.10 -protobuf==4.23.1 +protobuf==4.23.2 pyrsistent==0.19.3 python-dateutil==2.6.0 requests==2.31.0 diff --git a/files/build/versions/dockers/docker-sonic-vs/versions-deb-buster b/files/build/versions/dockers/docker-sonic-vs/versions-deb-buster index a352264708..f448201f57 100644 --- a/files/build/versions/dockers/docker-sonic-vs/versions-deb-buster +++ b/files/build/versions/dockers/docker-sonic-vs/versions-deb-buster @@ -121,10 +121,10 @@ libpython-dev==2.7.16-1 libpython-stdlib==2.7.16-1 libpython2-dev==2.7.16-1 libpython2-stdlib==2.7.16-1 -libpython2.7==2.7.16-2+deb10u1 -libpython2.7-dev==2.7.16-2+deb10u1 -libpython2.7-minimal==2.7.16-2+deb10u1 -libpython2.7-stdlib==2.7.16-2+deb10u1 +libpython2.7==2.7.16-2+deb10u2 +libpython2.7-dev==2.7.16-2+deb10u2 +libpython2.7-minimal==2.7.16-2+deb10u2 +libpython2.7-stdlib==2.7.16-2+deb10u2 libpython3-dev==3.7.3-1 libpython3.7-dev==3.7.3-2+deb10u4 libqt5core5a==5.11.3+dfsg1-1+deb10u5 @@ -189,9 +189,9 @@ python-swsscommon==1.0.0 python2==2.7.16-1 python2-dev==2.7.16-1 python2-minimal==2.7.16-1 -python2.7==2.7.16-2+deb10u1 -python2.7-dev==2.7.16-2+deb10u1 -python2.7-minimal==2.7.16-2+deb10u1 +python2.7==2.7.16-2+deb10u2 +python2.7-dev==2.7.16-2+deb10u2 +python2.7-minimal==2.7.16-2+deb10u2 python3-dev==3.7.3-1 python3-mako==1.0.7+ds1-1+deb10u1 python3-markdown==3.0.1-3 diff --git a/files/build/versions/dockers/docker-sonic-vs/versions-py2 b/files/build/versions/dockers/docker-sonic-vs/versions-py2 index 1202ed030d..4583bc049e 100644 --- a/files/build/versions/dockers/docker-sonic-vs/versions-py2 +++ b/files/build/versions/dockers/docker-sonic-vs/versions-py2 @@ -10,4 +10,4 @@ pyroute2==0.5.3 requests==2.27.1 scapy==2.4.0 six==1.16.0 -urllib3==1.26.15 \ No newline at end of file +urllib3==1.26.16 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-syncd-bfn-rpc/versions-deb-buster b/files/build/versions/dockers/docker-syncd-bfn-rpc/versions-deb-buster index 28f71a18bd..77c3f6af81 100644 --- a/files/build/versions/dockers/docker-syncd-bfn-rpc/versions-deb-buster +++ b/files/build/versions/dockers/docker-syncd-bfn-rpc/versions-deb-buster @@ -35,10 +35,10 @@ libpython-dev==2.7.16-1 libpython-stdlib==2.7.16-1 libpython2-dev==2.7.16-1 libpython2-stdlib==2.7.16-1 -libpython2.7==2.7.16-2+deb10u1 -libpython2.7-dev==2.7.16-2+deb10u1 -libpython2.7-minimal==2.7.16-2+deb10u1 -libpython2.7-stdlib==2.7.16-2+deb10u1 +libpython2.7==2.7.16-2+deb10u2 +libpython2.7-dev==2.7.16-2+deb10u2 +libpython2.7-minimal==2.7.16-2+deb10u2 +libpython2.7-stdlib==2.7.16-2+deb10u2 libqt5core5a==5.11.3+dfsg1-1+deb10u5 libqt5dbus5==5.11.3+dfsg1-1+deb10u5 libqt5network5==5.11.3+dfsg1-1+deb10u5 @@ -64,8 +64,8 @@ python-setuptools==40.8.0-1 python2==2.7.16-1 python2-dev==2.7.16-1 python2-minimal==2.7.16-1 -python2.7==2.7.16-2+deb10u1 -python2.7-dev==2.7.16-2+deb10u1 -python2.7-minimal==2.7.16-2+deb10u1 +python2.7==2.7.16-2+deb10u2 +python2.7-dev==2.7.16-2+deb10u2 +python2.7-minimal==2.7.16-2+deb10u2 syncd-rpc==1.0.0 wget==1.20.1-1.1 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-syncd-centec-rpc/versions-deb-buster b/files/build/versions/dockers/docker-syncd-centec-rpc/versions-deb-buster index 063b20d55a..f0ae6faa52 100644 --- a/files/build/versions/dockers/docker-syncd-centec-rpc/versions-deb-buster +++ b/files/build/versions/dockers/docker-syncd-centec-rpc/versions-deb-buster @@ -40,10 +40,10 @@ libpython-dev==2.7.16-1 libpython-stdlib==2.7.16-1 libpython2-dev==2.7.16-1 libpython2-stdlib==2.7.16-1 -libpython2.7==2.7.16-2+deb10u1 -libpython2.7-dev==2.7.16-2+deb10u1 -libpython2.7-minimal==2.7.16-2+deb10u1 -libpython2.7-stdlib==2.7.16-2+deb10u1 +libpython2.7==2.7.16-2+deb10u2 +libpython2.7-dev==2.7.16-2+deb10u2 +libpython2.7-minimal==2.7.16-2+deb10u2 +libpython2.7-stdlib==2.7.16-2+deb10u2 libqt5core5a==5.11.3+dfsg1-1+deb10u5 libqt5dbus5==5.11.3+dfsg1-1+deb10u5 libqt5network5==5.11.3+dfsg1-1+deb10u5 @@ -71,8 +71,8 @@ python-setuptools==40.8.0-1 python2==2.7.16-1 python2-dev==2.7.16-1 python2-minimal==2.7.16-1 -python2.7==2.7.16-2+deb10u1 -python2.7-dev==2.7.16-2+deb10u1 -python2.7-minimal==2.7.16-2+deb10u1 +python2.7==2.7.16-2+deb10u2 +python2.7-dev==2.7.16-2+deb10u2 +python2.7-minimal==2.7.16-2+deb10u2 syncd-rpc==1.0.0 wget==1.20.1-1.1 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-syncd-centec/versions-deb-buster-arm64 b/files/build/versions/dockers/docker-syncd-centec/versions-deb-buster-arm64 index ccab4a1c7a..72a99709db 100644 --- a/files/build/versions/dockers/docker-syncd-centec/versions-deb-buster-arm64 +++ b/files/build/versions/dockers/docker-syncd-centec/versions-deb-buster-arm64 @@ -11,10 +11,10 @@ libpython-dev==2.7.16-1 libpython-stdlib==2.7.16-1 libpython2-dev==2.7.16-1 libpython2-stdlib==2.7.16-1 -libpython2.7==2.7.16-2+deb10u1 -libpython2.7-dev==2.7.16-2+deb10u1 -libpython2.7-minimal==2.7.16-2+deb10u1 -libpython2.7-stdlib==2.7.16-2+deb10u1 +libpython2.7==2.7.16-2+deb10u2 +libpython2.7-dev==2.7.16-2+deb10u2 +libpython2.7-minimal==2.7.16-2+deb10u2 +libpython2.7-stdlib==2.7.16-2+deb10u2 libsensors-config==1:3.5.0-3 libsensors4-dev==1:3.5.0-3 libsensors5==1:3.5.0-3 @@ -27,9 +27,9 @@ python-minimal==2.7.16-1 python2==2.7.16-1 python2-dev==2.7.16-1 python2-minimal==2.7.16-1 -python2.7==2.7.16-2+deb10u1 -python2.7-dev==2.7.16-2+deb10u1 -python2.7-minimal==2.7.16-2+deb10u1 +python2.7==2.7.16-2+deb10u2 +python2.7-dev==2.7.16-2+deb10u2 +python2.7-minimal==2.7.16-2+deb10u2 rpcbind==1.2.5-0.3+deb10u1 sensible-utils==0.0.12 swig==3.0.12-2 diff --git a/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye b/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye index 1acd637277..e2a2371251 100644 --- a/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye +++ b/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye @@ -95,7 +95,7 @@ docbook-utils==0.6.14-3.4 docbook-xml==4.5-9 docker-ce==5:20.10.14~3-0~debian-bullseye docker-ce-cli==5:20.10.14~3-0~debian-bullseye -docker-ce-rootless-extras==5:24.0.1-1~debian.11~bullseye +docker-ce-rootless-extras==5:24.0.2-1~debian.11~bullseye docker-scan-plugin==0.23.0~debian-bullseye docutils-common==0.16+dfsg-4 dosfstools==4.2-1 @@ -1102,7 +1102,7 @@ libspice-server1==0.14.3-2.1 libsqlite3-0==3.34.1-3 libsratom-0-0==0.6.8-1 libsrt1.4-gnutls==1.4.2-1.3 -libssh-gcrypt-4==0.9.5-1+deb11u1 +libssh-gcrypt-4==0.9.7-0+deb11u1 libssh2-1==1.9.0-2 libssl-dev==1.1.1n-0+deb11u4 libstdc++-10-dev==10.2.1-6 diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster index ead3c28790..8b6af4d730 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster +++ b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster @@ -965,10 +965,10 @@ libpython-dev==2.7.16-1 libpython-stdlib==2.7.16-1 libpython2-dev==2.7.16-1 libpython2-stdlib==2.7.16-1 -libpython2.7==2.7.16-2+deb10u1 -libpython2.7-dev==2.7.16-2+deb10u1 -libpython2.7-minimal==2.7.16-2+deb10u1 -libpython2.7-stdlib==2.7.16-2+deb10u1 +libpython2.7==2.7.16-2+deb10u2 +libpython2.7-dev==2.7.16-2+deb10u2 +libpython2.7-minimal==2.7.16-2+deb10u2 +libpython2.7-stdlib==2.7.16-2+deb10u2 libpython3-all-dbg==3.7.3-1 libpython3-all-dev==3.7.3-1 libpython3-dbg==3.7.3-1 @@ -1572,9 +1572,9 @@ python-zope.interface==4.3.2-1+b2 python2==2.7.16-1 python2-dev==2.7.16-1 python2-minimal==2.7.16-1 -python2.7==2.7.16-2+deb10u1 -python2.7-dev==2.7.16-2+deb10u1 -python2.7-minimal==2.7.16-2+deb10u1 +python2.7==2.7.16-2+deb10u2 +python2.7-dev==2.7.16-2+deb10u2 +python2.7-minimal==2.7.16-2+deb10u2 python3==3.7.3-1 python3-alabaster==0.7.8-1 python3-all==3.7.3-1 diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-py3 b/files/build/versions/dockers/sonic-slave-buster/versions-py3 index 5a99d34671..abee70bdd4 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-py3 +++ b/files/build/versions/dockers/sonic-slave-buster/versions-py3 @@ -71,7 +71,7 @@ secretstorage==2.3.1 six==1.12.0 sphinx==1.8.4 sphinx-rtd-theme==0.4.3 -typing_extensions==4.6.0 +typing_extensions==4.6.2 unattended-upgrades==0.1 unidiff==0.5.4 urllib3==1.24.1 From 6cf6c59c8ca2f0f29aec705e294af1b0ce44c6bf Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Sun, 28 May 2023 20:42:02 +0800 Subject: [PATCH 11/16] [ci/build]: Upgrade SONiC package versions (#15245) --- .../versions-py3-all-arm64 | 3 ++- files/build/versions/default/versions-git | 4 ++-- files/build/versions/default/versions-mirror | 20 +++++++++---------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 index 91b7ebfeb1..74eed00400 100644 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 +++ b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 @@ -1,3 +1,4 @@ bitarray==1.5.3 click==7.0 -requests==2.31.0 \ No newline at end of file +requests==2.31.0 +zipp==1.2.0 \ No newline at end of file diff --git a/files/build/versions/default/versions-git b/files/build/versions/default/versions-git index 63d96a36c4..82d0ed83d6 100644 --- a/files/build/versions/default/versions-git +++ b/files/build/versions/default/versions-git @@ -4,8 +4,8 @@ https://github.com/CESNET/libyang.git==ea94c8b9f513f8a6ddc6ce1540fa41eaf4c8922a https://github.com/daveolson53/audisp-tacplus.git==559c9f22edd4f2dea0ecedffb3ad9502b12a75b6 https://github.com/daveolson53/libnss-tacplus.git==19008ab68d9d504aa58eb34d5f564755a1613b8b https://github.com/dyninc/OpenBFDD.git==e35f43ad8d2b3f084e96a84c392528a90d05a287 -https://github.com/flashrom/flashrom.git==ffc75aa710efc8796f0f34c30216ce8a2b1e3954 -https://github.com/FreeRADIUS/freeradius-server.git==049f89875f8a0fb6843a1f276af66ae64da4ce69 +https://github.com/flashrom/flashrom.git==385b3374e37fe1919177978a32fe2f48f2217817 +https://github.com/FreeRADIUS/freeradius-server.git==182e6fe91d4c5a66f720506c7349afefef9a64ec https://github.com/FreeRADIUS/pam_radius.git==8d373539bb9f13b0abfe8bcae0095a930a00fad0 https://github.com/jeroennijhof/pam_tacplus.git==4284d9016e64def2bb81d5f50f96dc3b59bfdc39 https://github.com/jpirko/libteam.git==61e27812c1074a865d7e1a778c0ce442837c28d7 diff --git a/files/build/versions/default/versions-mirror b/files/build/versions/default/versions-mirror index 9b9bd6877a..80ed3b7297 100644 --- a/files/build/versions/default/versions-mirror +++ b/files/build/versions/default/versions-mirror @@ -1,15 +1,15 @@ deb.nodesource.com_node%5f14.x_dists_bullseye==2023-02-17T00:35:28Z deb.nodesource.com_node%5f14.x_dists_buster==2023-02-17T00:35:28Z -debian==20230527T000125Z -debian-security==20230527T000128Z +debian==20230528T000207Z +debian-security==20230528T000210Z download.docker.com_linux_debian_dists_bullseye==2023-05-26T07:49:37Z download.docker.com_linux_debian_dists_buster==2023-05-26T07:49:38Z packages.microsoft.com_repos_sonic-dev_dists_jessie==2022-10-31T19:34:29Z -packages.trafficmanager.net_snapshot_debian-security_20230527T000128Z_dists_bullseye-security==2023-05-26T13:58:25Z -packages.trafficmanager.net_snapshot_debian-security_20230527T000128Z_dists_buster_updates==2023-05-26T13:58:25Z -packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_bullseye==2023-04-29T09:31:02Z -packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_bullseye-backports==2023-05-26T20:16:08Z -packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_bullseye-updates==2023-05-26T20:16:08Z -packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_buster==2022-09-10T11:30:54Z -packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_buster-backports==2023-05-26T20:16:08Z -packages.trafficmanager.net_snapshot_debian_20230527T000125Z_dists_buster-updates==2023-05-26T20:16:08Z \ No newline at end of file +packages.trafficmanager.net_snapshot_debian-security_20230528T000210Z_dists_bullseye-security==2023-05-27T22:52:33Z +packages.trafficmanager.net_snapshot_debian-security_20230528T000210Z_dists_buster_updates==2023-05-27T22:52:33Z +packages.trafficmanager.net_snapshot_debian_20230528T000207Z_dists_bullseye==2023-04-29T09:31:02Z +packages.trafficmanager.net_snapshot_debian_20230528T000207Z_dists_bullseye-backports==2023-05-27T20:25:46Z +packages.trafficmanager.net_snapshot_debian_20230528T000207Z_dists_bullseye-updates==2023-05-27T20:25:46Z +packages.trafficmanager.net_snapshot_debian_20230528T000207Z_dists_buster==2022-09-10T11:30:54Z +packages.trafficmanager.net_snapshot_debian_20230528T000207Z_dists_buster-backports==2023-05-27T20:25:46Z +packages.trafficmanager.net_snapshot_debian_20230528T000207Z_dists_buster-updates==2023-05-27T20:25:45Z \ No newline at end of file From d5abda649ab166387e08f09359b7a49bb01f3eae Mon Sep 17 00:00:00 2001 From: xumia <59720581+xumia@users.noreply.github.com> Date: Fri, 19 May 2023 02:37:49 +0800 Subject: [PATCH 12/16] Change the docker image from alpine to debian in Makefile (#15132) Why I did it For security and consistency consideration, change the docker image from alpine to Debian in Makefile Work item tracking Microsoft ADO (number only): 23077660 How I did it change the docker image from alpine to Debian in Makefile --- Makefile.work | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.work b/Makefile.work index facb17222c..462f2736aa 100644 --- a/Makefile.work +++ b/Makefile.work @@ -196,7 +196,7 @@ endif DOCKER_LOCKFILE_SAVE := $(DOCKER_LOCKDIR)/docker_save.lock $(shell mkdir -m 0777 -p $(DOCKER_LOCKDIR)) $(shell [ -f $(DOCKER_LOCKFILE_SAVE) ] || (touch $(DOCKER_LOCKFILE_SAVE) && chmod 0777 $(DOCKER_LOCKFILE_SAVE))) -$(docker run --rm -v $(DOCKER_ROOT)\:/mount alpine sh -c 'rm -rf /mount/') +$(shell [ -d $(DOCKER_ROOT) ] && docker run --rm -v $(DOCKER_ROOT)\:/mount debian sh -c 'rm -rf /mount/*') $(mkdir -p $(DOCKER_ROOT)) ifeq ($(DOCKER_BUILDER_MOUNT),) From 9f66b28068e87787be2600afa67492d490ecdf23 Mon Sep 17 00:00:00 2001 From: Neetha John Date: Tue, 30 May 2023 16:15:32 -0700 Subject: [PATCH 13/16] [202205][brcm] Fix alignment of soc properties (#15240) Why I did it To improve readability of config.bcm, fixed the alignment of soc properties How to verify it Build sonic_config_engine-1.0-py3-none-any.whl successfully Signed-off-by: Neetha John --- .../Arista-7050CX3-32S-C32/config.bcm.j2 | 7 ++++--- .../Arista-7050CX3-32S-D48C8/config.bcm.j2 | 7 ++++--- .../Arista-7260CX3-C64/config.bcm.j2 | 16 +++++++++------- .../Arista-7260CX3-D108C10/config.bcm.j2 | 16 +++++++++------- .../Arista-7260CX3-D108C8/config.bcm.j2 | 16 +++++++++------- .../Arista-7260CX3-Q64/config.bcm.j2 | 16 +++++++++------- .../tests/data/j2_template/config.bcm.j2 | 16 +++++++++------- .../py3/arista7050cx3-dualtor.config.bcm | 10 +++++----- .../py3/arista7260-dualtor.config.bcm | 10 +++++----- .../sample_output/py3/arista7260-t1.config.bcm | 4 ++-- 10 files changed, 65 insertions(+), 53 deletions(-) diff --git a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 index 1b7eec5d5f..6da9bc47c4 100644 --- a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 +++ b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-C32/config.bcm.j2 @@ -8,9 +8,10 @@ {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/ l3_alpm_hit_skip=1 diff --git a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 index 1c928e3c61..d54eee299f 100644 --- a/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 +++ b/device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/config.bcm.j2 @@ -8,9 +8,10 @@ {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/ l3_alpm_hit_skip=1 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 index d4b9000c37..97040d332c 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-C64/config.bcm.j2 @@ -13,18 +13,20 @@ {%- if DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} -{%- set IPinIP_sock = 'sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2' -%} +{%- set IPinIP_sock = +'sai_tunnel_support=1 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2' -%} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x100G-t1.config.bcm" #} diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 index c2d1c888d8..019f556edb 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C10/config.bcm.j2 @@ -5,17 +5,19 @@ {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} -{%- set IPinIP_sock = 'sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2' -%} +{%- set IPinIP_sock = +'sai_tunnel_support=1 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2' -%} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #} l3_alpm_hit_skip=1 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 index cd6cd22c03..1efa8ef695 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-D108C8/config.bcm.j2 @@ -5,17 +5,19 @@ {%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} -{%- set IPinIP_sock = 'sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2' -%} +{%- set IPinIP_sock = +'sai_tunnel_support=1 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2' -%} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #} l3_alpm_hit_skip=1 diff --git a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 index 55b4c4ba80..de7cac1543 100644 --- a/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 +++ b/device/arista/x86_64-arista_7260cx3_64/Arista-7260CX3-Q64/config.bcm.j2 @@ -13,18 +13,20 @@ {%- if DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} -{%- set IPinIP_sock = 'sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2' -%} +{%- set IPinIP_sock = +'sai_tunnel_support=1 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2' -%} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x40G.config.bcm" #} l3_alpm_hit_skip=1 diff --git a/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 b/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 index 9ecc43478d..61aeb0eff9 100644 --- a/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 +++ b/src/sonic-config-engine/tests/data/j2_template/config.bcm.j2 @@ -13,18 +13,20 @@ {%- if DEVICE_METADATA['localhost']['subtype'] is defined -%} {%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%} {%- if 'dualtor' in switch_subtype.lower() %} -{%- set IPinIP_sock = 'sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2' -%} +{%- set IPinIP_sock = +'sai_tunnel_support=1 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2' -%} {%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%} {%- endif %} {%- endif %} {%- endif %} {%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%} -{%- set pfcwd_sock = 'hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1' -%} +{%- set pfcwd_sock = +'hybrid_pfc_deadlock_enable=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1' -%} {%- endif %} {# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x100G-t1.config.bcm" #} diff --git a/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm b/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm index 84a04ee72b..0f61b372e8 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm +++ b/src/sonic-config-engine/tests/sample_output/py3/arista7050cx3-dualtor.config.bcm @@ -3,9 +3,9 @@ l3_alpm_hit_skip=1 sai_remap_prio_on_tnl_egress=1 mmu_init_config="MSFT-TH2-Tier0" sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2 hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1 diff --git a/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm b/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm index 84a04ee72b..0f61b372e8 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm +++ b/src/sonic-config-engine/tests/sample_output/py3/arista7260-dualtor.config.bcm @@ -3,9 +3,9 @@ l3_alpm_hit_skip=1 sai_remap_prio_on_tnl_egress=1 mmu_init_config="MSFT-TH2-Tier0" sai_tunnel_support=1 - sai_tunnel_underlay_route_mode=1 - host_as_route_disable=1 - l3_ecmp_levels=2 +sai_tunnel_underlay_route_mode=1 +host_as_route_disable=1 +l3_ecmp_levels=2 hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1 diff --git a/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm b/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm index bfa22e50fe..a76c2173f4 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm +++ b/src/sonic-config-engine/tests/sample_output/py3/arista7260-t1.config.bcm @@ -4,5 +4,5 @@ l3_alpm_hit_skip=1 mmu_init_config="MSFT-TH2-Tier1" hybrid_pfc_deadlock_enable=1 - pfc_deadlock_seq_control=1 - sai_pfc_dlr_init_capability=1 +pfc_deadlock_seq_control=1 +sai_pfc_dlr_init_capability=1 From a82895659fb476c4c816ee854d53eb494e8f18f8 Mon Sep 17 00:00:00 2001 From: Ye Jianquan Date: Wed, 31 May 2023 09:37:46 +0800 Subject: [PATCH 14/16] [CI/CD] Refine PR test templates and test_plan.py to be ready to migrate to Elastictest (#15258) --- .azure-pipelines/run-test-scheduler-template.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.azure-pipelines/run-test-scheduler-template.yml b/.azure-pipelines/run-test-scheduler-template.yml index 4021541e01..6cd658082c 100644 --- a/.azure-pipelines/run-test-scheduler-template.yml +++ b/.azure-pipelines/run-test-scheduler-template.yml @@ -65,7 +65,7 @@ steps: TEST_PLAN_ID=`cat new_test_plan_id.txt` echo "Created test plan $TEST_PLAN_ID" - echo "Check https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID for test plan status" + echo "Check $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID for test plan status" echo "##vso[task.setvariable variable=TEST_PLAN_ID]$TEST_PLAN_ID" env: TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL) @@ -78,7 +78,7 @@ steps: set -e echo "Lock testbed" echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com" - echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID " + echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID " # When "LOCK_TESTBED" finish, it changes into "PREPARE_TESTBED" python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state LOCK_TESTBED env: @@ -91,7 +91,7 @@ steps: echo "Preparing the testbed(add-topo, deploy-mg) may take 15-30 minutes. Before the testbed is ready, the progress of the test plan keeps displayed as 0, please be patient(We will improve the indication in a short time)" echo "If the progress keeps as 0 for more than 1 hour, please cancel and retry this pipeline" echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com" - echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID " + echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID " # When "PREPARE_TESTBED" finish, it changes into "EXECUTING" python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state PREPARE_TESTBED env: @@ -102,7 +102,7 @@ steps: set -e echo "Run test" echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com" - echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID " + echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID " # When "EXECUTING" finish, it changes into "KVMDUMP", "FAILED", "CANCELLED" or "FINISHED" python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state EXECUTING env: @@ -113,7 +113,7 @@ steps: set -e echo "KVM dump" echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com" - echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID " + echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID " # When "KVMDUMP" finish, it changes into "FAILED", "CANCELLED" or "FINISHED" python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state KVMDUMP condition: succeededOrFailed() From 36b1341b11b2fc1b3f5fb00425bfd4190e794d40 Mon Sep 17 00:00:00 2001 From: mssonicbld <79238446+mssonicbld@users.noreply.github.com> Date: Thu, 1 Jun 2023 01:53:59 +0800 Subject: [PATCH 15/16] [Mellanox] Update hw-mgmt to 7.0020.4301 (#15260) (#15281) --- platform/mellanox/hw-management.mk | 2 +- platform/mellanox/hw-management/hw-mgmt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/mellanox/hw-management.mk b/platform/mellanox/hw-management.mk index f7e49691b6..6270e43a8c 100644 --- a/platform/mellanox/hw-management.mk +++ b/platform/mellanox/hw-management.mk @@ -16,7 +16,7 @@ # # Mellanox HW Management -MLNX_HW_MANAGEMENT_VERSION = 7.0020.4104 +MLNX_HW_MANAGEMENT_VERSION = 7.0020.4301 export MLNX_HW_MANAGEMENT_VERSION diff --git a/platform/mellanox/hw-management/hw-mgmt b/platform/mellanox/hw-management/hw-mgmt index 9c3f6b2d6a..c036e38b39 160000 --- a/platform/mellanox/hw-management/hw-mgmt +++ b/platform/mellanox/hw-management/hw-mgmt @@ -1 +1 @@ -Subproject commit 9c3f6b2d6ac4be2eda936522f369ff8920deb4e2 +Subproject commit c036e38b3969e1b0eebbf36ef367bb14cd52bcfb From 6ddd1dd9f17f8d9a46348bb57ef0549903f2855d Mon Sep 17 00:00:00 2001 From: Ye Jianquan Date: Fri, 2 Jun 2023 10:38:58 +0800 Subject: [PATCH 16/16] [CI/CD] Migrate to SONiC Elastictest (#15274) --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b3248b1329..27cea8979a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -83,7 +83,7 @@ stages: dependsOn: BuildVS condition: and(succeeded(), and(ne(stageDependencies.BuildVS.outputs['vs.SetVar.SKIP_VSTEST'], 'YES'), in(dependencies.BuildVS.result, 'Succeeded', 'SucceededWithIssues'))) variables: - - group: Testbed-Tools + - group: SONiC-Elastictest - name: inventory value: veos_vtb - name: testbed_file