Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[minigraph.py] Be case insensitive to hostname in minigraph #1614

Merged
merged 1 commit into from
Apr 19, 2018

Conversation

taoyl-ms
Copy link
Contributor

- What I did
In previous version of minigraph parser, if hostname specified in <Hostname> section is different in case comparing with hostname in other sections, data won't be read correctly. This commit fixes this issue.

- How to verify it
Take tests\simple-sample-graph-case.xml as an example, it has <Hostname>switch-T0</Hostname> but all other parts are referring hostname switch-t0. In the previous version minigraph.py won't be able to parse it correctly, but it will work with this commit.

@@ -0,0 +1,111 @@
from unittest import TestCase
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the test case is difficult to maintain because everytime we have a new test case, we need to add to both file. can we just change the current minigraph to add different cases and still using one test suite to test.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to maintain a full copy of test cases in this file. This is just a subset of main test file and is meant to test this issue only. I keep several test cases instead of only one because that this issue could affect parsing in different sections.

@@ -411,13 +411,14 @@ def parse_xml(filename, platform=None, port_config_file=None):
elif child.tag == str(QName(ns, "DeviceInfos")):
(port_speeds_default, port_descriptions) = parse_deviceinfo(child, hwsku)

results = {}
current_device = [devices[key] for key in devices if key.lower() == hostname.lower()][0]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so we are assuming that there will be one and only one device that has the same hostname as the device itself's hostname?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes.

@lguohan lguohan merged commit 5ebefeb into sonic-net:master Apr 19, 2018
zhenggen-xu added a commit to zhenggen-xu/sonic-buildimage that referenced this pull request Oct 17, 2019
[installer]: Suppress tar xz warning about time stamp in the future, if date is not correctly set (sonic-net#1562)

\[sonic-platform-common\] Update submodule (sonic-net#1563)

\- Includes the following commits:
    \- \[bcmshell.py\] Match extra whitespace before prompt in regex (#3)
    \- add support for qsfp28 eeprom (#2)
\[baseimage\]: bring down eth0 before restart networking (sonic-net#1555)

cfggen generates new eth0 configuration. Need to first
clean existing configuration on eth0 before bring up
new configuration on eth0. Thus, we need to first bring
down eth0 before putting new configuration into /etc/network/
interfaces

\[mellanox\]: Update MLNX SAI pointer (sonic-net#1557)

\[minigraph.py\] Add support to parse tacacs server information (sonic-net#1549)

\* \[minigraph.py\] Add support to parse tacacs server information
\[router advertiser\] Only start radvd process if device role is 'ToRRouter' (sonic-net#1569)

\[submodules\]: update sonic-swss (sonic-net#1570)

\[submodules\]: update sonic-utilities (sonic-net#1571)

\[cfggen\]: ignore acl when its type is not defined (sonic-net#1568)

\[installer\]: Umount before delete partition (sonic-net#1575)

Use eth0 interface only to generate lldpd SystemId (sonic-net#1577)

Allow one Service ACL to bind to multiple services (sonic-net#1576)

\* \[caclmgrd\] Also ignore IP protocol if found in rule; we will only use our predefined protocols
\[snmp\]: Bind snmpd to all ip addresses (sonic-net#1587)

\[device\] Update Arista driver submodule (sonic-net#1585)

Watchdog timeout increased
\[devices\]: Fix type for qos.json in 7060 and S6100 (sonic-net#1582)

\[minigraph\]: ignore minigraph ports which are not in port_config.ini (sonic-net#1593)

\[minigraph\] Fix parser on PNG DeviceInterfaceLink Bandwidth (sonic-net#1592)

\* \[minigraph\] Fix parser on PNG DeviceInterfaceLink Bandwidth

\[Broadcom SAI\] upgrade Broadcom SAI to version 3.1.3.4-10 (sonic-net#1591)

\* \[Broadcom SAI\] upgrade Broadcom SAI to version 3.1.3.4-9

Includes configuration files for following devices:

\- Quanta 1X1B-32X
\- Dell Z9264F
\- Inventec D7054Q28B and D7032Q28B

\* \[bcm sai\] upgrade sai version to 3.1.3.4-10

include configuration change to 7060 T0.

50G support for Arista 7060 (sonic-net#1580)

\* 50G SKU for Arista 7060

Marvell's updates for SONiC 201803 over SAI v1.2 (sonic-net#1588)

\[Mellanox\] Add support for a new platform LS-SN2700

\[devices\]: Merge ingress service pools of lossless and lossy traffic for TD2 (sonic-net#1578)

\[sonic-utilities\] add pfcstat and queuestat tool (sonic-net#1606)

Add support for S6100 switchport LEDs (sonic-net#1610)

\[ip-in-ip\]: Fix config template to apply correct platform depended values (sonic-net#1619)

\[platform-common\]: Update sonic-platform-common submodule (sonic-net#1620)

\[sfputilbase\]: Add logic to parse the title of port_config.ini file

\[sonic-cfggen\] Be case insensitive to hostname in minigraph (sonic-net#1614)

\[bugfix\]: pass correct port name to led_control.py in ledd

\[cfggen\]: Fix build by fixing pyangbind version (sonic-net#1633)

\[swss\]: update sonic-swss submodule

\* ea34b92 2018-04-24 | Fix tables handling race condition in buffermgr (sonic-net#484) (HEAD -> 201803, origin/201803) \[Andriy Moroz\]
\* 53831be 2018-04-19 | \[pfcwd\]: create PFCWD acl instead of L3 ACL (sonic-net#479) \[sihuihan88\]

\[radvd\] Ensure at least one interface is specified in radvd.conf before starting radvd (sonic-net#1636)

\[updategraph\]: Keep updategraph service active after start (sonic-net#1651)

\[docker-lldpd\]: Various fixes (sonic-net#1650)

\* We don't need configure anything until we have interfaces created

\* Don't run lldpcli for a port, until a port is up and running

\* Remove lldpd socket before starting lldpd

\* Fix sample files for lldpd configuration

\* Another attempt to make the test working

\* Quick fix for lldpd paused after start bug

\[submodules\]: update swss and utilities modules

swss:

\* e34104e 2018-04-13 | \[pfcwd\]: support BIG_RED_SWITCH mode (sonic-net#467) (HEAD, origin/201803) \[sihuihan88\]
\* 1f857d5 2018-04-25 | \[buffermgr\]: remove the item from consumer queue if invalid (sonic-net#489) \[sihuihan88\]

utilities:

\* 0b9bb2b 2018-04-26 | Stop services before pushing new config during "load_minigraph" (sonic-net#247) (HEAD, origin/201803) \[Prince Sunny\]
\* dc119c9 2018-04-18 | \[show logging\] For following, change 'tail -f' to 'tail -F' in order to retry in the case log is rotated (sonic-net#240) \[Joe LeVeque\]
\* 08da428 2018-04-16 | \[pfcwd\]: add cli to enable/disable BIG_RED_SWITCH mode (sonic-net#237) \[sihuihan88\]

\[snmp\]: Fix a race between snmpd-config-updater and snmpd (sonic-net#1628)

There is a small window in which snmpd might not have registered a
callback for SIGHUP and which will result in its death if
snmpd-config-updater send this signal meant for a config reload.
\[snmpd\]: Fix typo in is_platform_arista (sonic-net#1634)

\[mellanox\]: Update SAI version to 1.11.4 and SDK to 4.2.7303 (sonic-net#1655)

\[docker-dhcp\]: Fix the sonic build issue (sonic-net#1659)

Install the built version of isc-dhcp-client in docker-dhcp-relay
\[swss\]: update swss

118b3f0 2018-05-01 | Populate existing interface cache, bring down before configDone

\[zebra.conf\] Fix template issue with multiple lo addresses (sonic-net#1662)

\* \[zebra.conf\] Fix template issue with multiple lo addresses

\* Add unitest for Loopback1

\[swss\]: Change the hash seed to 0 for ToR and 10 for Leaf routers (sonic-net#1667)

Due to some ASIC platform limitations, the hash seed range is from 0
to 15. Thus the switch.json.j2 template is updated so that ToRRouter
is using hash seed 0 and LeafRouter is using hash seed 10.

\[snmp\]: Stop spamming logs with statfs permission denied log message (sonic-net#1668)

\[broadcom\]: update broadcom SAI to 3.1.3.4-11 (sonic-net#1670)

Provide better ECMP load-balancing via hash seed

\[sonic-cfggen\]: fix bgpd and zebra template for sonic-cfggen test

I took the original patch (bebb7a0) into 201803 branch need to also
adapt the patch since we do not have commit (d423841) in 201803 branch.

\[swss\]: update sonic-swss module

\[201803 d57f9a1\] \[lua\]: use not to check whether the field exists (sonic-net#492)

\[device\] Update arista driver submodule (sonic-net#1674)

\[submodule\]: Update submodule sonic-snmpagent (sonic-net#1642)

sonic-cfggen supports hwsku parameter (sonic-net#1631) \*Note\*: tuned test data during cherry-pick

\[device\] Add PSU utility for platform ly1200 of MiTAC (sonic-net#1673)

\[platform/broadcom/sonic-platform-modules-mitac\] Install acpi package for daemon and adjust i2c sequence
\[mellanox\]: Update MLNX SAI pointer (sonic-net#1684)

40G profile for Arista 7060 (sonic-net#1677)

Update buffers config for Mellanox 27xx devices (sonic-net#1649)

\* Update buffers config for Mellanox 27xx devices

\* Remove buffers template test for msn27xx

\[submodule\]: Update submodule sonic-snmpagent: Improve mib fundamental classes (sonic-net#1689)

\[sonic-utilities\]: update sonic utilities submodule

\* 951633b 2018-05-04 |  \[generate_dump\]: fix a saidump file copy bug (sonic-net#248) (HEAD, origin/201803) \[Kebo Liu\]
\* 69baff7 2018-05-03 | \[acl_loader\]: Missing one colon (sonic-net#252) \[Shuotian Cheng\]
\* 557248d 2018-05-02 | \[acl-loader\]: Add --table_name option to update full operation (sonic-net#249) \[Shuotian Cheng\]
\* a8aadee 2018-04-30 | \[acl-loader\]: Change the header from Rule ID to Table (sonic-net#250) \[Shuotian Cheng\]

\[swss\]: update sonic-swss

\* b57c376 2018-05-10 | \[teamsyncd\]: Add team_ifindex2ifname return value check (sonic-net#500) (HEAD, origin/201803) \[Shuotian Cheng\]
\* 236843f 2018-05-07 | Fix Crm Acl used counter update (sonic-net#496) \[Nadiya\]

\[swss\]: update sonic-swss

c374357 2018-04-23 | Fix ZeroBufferProfile parameters (sonic-net#485) (HEAD -> 201803) \[Andriy Moroz\]

\[platform\]: Fixed Cavium platform modules build. (sonic-net#1694)

\[submodule\]: Update submodule sonic-snmpagent: Improve mib fundamental classes: retry after reinit_data() throws (sonic-net#1700)

Merge branch 'github-1803'

 Conflicts:
	dockers/docker-router-advertiser/start.sh
	platform/broadcom/sai.mk
	platform/mellanox/mlnx-sai.mk
	src/sonic-config-engine/sonic-cfggen
	src/sonic-config-engine/tests/sample_output/ports.json
	src/sonic-config-engine/tests/test_cfggen.py
	src/sonic-platform-daemons
	src/sonic-snmpagent
	src/sonic-swss
	src/sonic-utilities

\[baseimage\]: Disable DAD for eth0 explicitly (sonic-net#1701)

\[quagga\]: update quagga submodule (sonic-net#1698)

\* \[quagga\]: update quagga submodule

0bc6bd6 2018-05-11 | ignore nexthop attribute when NLRI is present (#18) (HEAD, origin/debian/0.99.24.1, origin/HEAD) \[lguohan\]

\* add vs bgp test

Fix the build error

Revert "\[sonic-cfggen\]: fix bgpd and zebra template for sonic-cfggen test"

This reverts commit b29d835.

Fix the build issue for sonic-cfggen test

Merge branch 'github-1803' --5/12

 Conflicts:
	src/sonic-quagga
	src/sonic-snmpagent

    RB=1312391
    G=lnos-reviewers
    R=pchaudha,pmao,rmolina,zxu
    A=
lguohan added a commit to lguohan/sonic-buildimage that referenced this pull request Jan 29, 2021
* 832815e 2021-01-28 | [orchagent]: Add MACsec Orchagent (sonic-net#1474) (HEAD, origin/master, origin/HEAD) [Ze Gan]
* dd4e409 2021-01-28 | [MACsecMgr]: Add MACsec Manager (sonic-net#1475) [Ze Gan]
* 91e231c 2021-01-28 | [portsorch] Configure hostif tagging for subports (sonic-net#1573) [Vitaliy Senchyshyn]
* 008325c 2021-01-29 | [PortsOrch] Add reference counting to ports for ACL bindings (sonic-net#1614) [chaoskao]
* bbd2ca6 2021-01-28 | [crm]: Ignore unsupported/non-implemented switch attributes (sonic-net#1613) [Prabhu Sreenivasan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
@lguohan lguohan mentioned this pull request Jan 29, 2021
4 tasks
lguohan added a commit that referenced this pull request Jan 29, 2021
* 832815e 2021-01-28 | [orchagent]: Add MACsec Orchagent (#1474) (HEAD, origin/master, origin/HEAD) [Ze Gan]
* dd4e409 2021-01-28 | [MACsecMgr]: Add MACsec Manager (#1475) [Ze Gan]
* 91e231c 2021-01-28 | [portsorch] Configure hostif tagging for subports (#1573) [Vitaliy Senchyshyn]
* 008325c 2021-01-29 | [PortsOrch] Add reference counting to ports for ACL bindings (#1614) [chaoskao]
* bbd2ca6 2021-01-28 | [crm]: Ignore unsupported/non-implemented switch attributes (#1613) [Prabhu Sreenivasan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
deran1980 pushed a commit to deran1980/sonic-buildimage that referenced this pull request Feb 4, 2021
* 832815e 2021-01-28 | [orchagent]: Add MACsec Orchagent (sonic-net#1474) (HEAD, origin/master, origin/HEAD) [Ze Gan]
* dd4e409 2021-01-28 | [MACsecMgr]: Add MACsec Manager (sonic-net#1475) [Ze Gan]
* 91e231c 2021-01-28 | [portsorch] Configure hostif tagging for subports (sonic-net#1573) [Vitaliy Senchyshyn]
* 008325c 2021-01-29 | [PortsOrch] Add reference counting to ports for ACL bindings (sonic-net#1614) [chaoskao]
* bbd2ca6 2021-01-28 | [crm]: Ignore unsupported/non-implemented switch attributes (sonic-net#1613) [Prabhu Sreenivasan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
lguohan pushed a commit that referenced this pull request Feb 6, 2021
…#6701)

sonic-swss:
- [Mux] Route handling based on mux status, kernel tunnel support (#1615)
- Reduce noise during frequent route update (#1624)
- Changed Error log to Notice log during FDB flush notification after VLAN delete (#1618)
- [PortsOrch] Add reference counting to ports for ACL bindings (#1614)
- [crm]: Ignore unsupported/non-implemented switch attributes (#1613)
- [Mux] Fix repeating logs in case of tunnel creation fail (#1610)

sonic-utilities:
- [config reload]: Restart mux container (#1401)
- [storyteller] Enhance the storyteller utility (#1400)
- [show] Fix int status when portchannel is in the system (#1376)
- [config][show] cli support for retrieving ber, eye-info and configuring prbs, loopback on Y-cable  (#1386)
- Skip route check for tun0 interfaces (#1399)
- do not parse stderr to get correct routing stack (#1398)
- [storyteller] allow storyteller to work on downloaded logs (#1388)
- [show] Run fwutil with sudo (#1364)

Signed-off-by: Danny Allen <daall@microsoft.com>
lguohan pushed a commit that referenced this pull request Jun 17, 2021
19615e3 Fixing db_migrator for Feature table (#1674)
d1c1c61 [tests]: skip some dynamic port breakout unit tests (#1677)
25669c3 [CI] sonic-config-engine now depends on SONiC YANG packages (#1675)
3ff68c4 [neighbor-advertiser] delete the tunnel maps appropriately (#1663)
a425ca2 [config] support for configuring muxcable to manual mode of operation  (#1642)
25e17de [show platform summary] Add chassis hardware info to platform summary and version (#1624)
f5f2a00 [db_migrator] fix old 1911 feature config migration to a new one. (#1635)
56db162 [config] Fix config int add incorrect ip (#1414)
1da879c [db_migrator][Mellanox] Update Mellanox buffer migrator with 2km-cable supported (#1564)
c2b760f [sonic_package_manager] flush once finished saving docker image into temporary file (#1638)
cd69473 Replace swsssdk.ConfigDBConnector and SonicDBConfig with swsscommon implementation (#1620)
5f20365 Change to use rvtysh when calling the show commands (#1572)
51d6bf5 Fix Aboot breakage in sonic package manager in sonic-installer (#1625)
18bed46 [console][show] Force refresh all lines status during show line (#1641)
b616cd9 [TPID CONFIG] Added TPID configuration CLI support (#1618)
01eb4b1 [show] support for show muxcable firmware version of only active banks (#1629)
7744c8d [fdb]cli: fdb entries are cleared according to vlan or port or vlan&&port (#657)
e23c5ee Add psu hardware revision to psushow table (#1601)
f1726fe Make advance_version_for_expected_database available for other db migrator test cases as well (#1614)
5d1ad05 [show] add support for muxcable metrics (#1615)
feeab29 [config] Sort Config Db When Saving (#1623)
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
19615e3 Fixing db_migrator for Feature table (sonic-net#1674)
d1c1c61 [tests]: skip some dynamic port breakout unit tests (sonic-net#1677)
25669c3 [CI] sonic-config-engine now depends on SONiC YANG packages (sonic-net#1675)
3ff68c4 [neighbor-advertiser] delete the tunnel maps appropriately (sonic-net#1663)
a425ca2 [config] support for configuring muxcable to manual mode of operation  (sonic-net#1642)
25e17de [show platform summary] Add chassis hardware info to platform summary and version (sonic-net#1624)
f5f2a00 [db_migrator] fix old 1911 feature config migration to a new one. (sonic-net#1635)
56db162 [config] Fix config int add incorrect ip (sonic-net#1414)
1da879c [db_migrator][Mellanox] Update Mellanox buffer migrator with 2km-cable supported (sonic-net#1564)
c2b760f [sonic_package_manager] flush once finished saving docker image into temporary file (sonic-net#1638)
cd69473 Replace swsssdk.ConfigDBConnector and SonicDBConfig with swsscommon implementation (sonic-net#1620)
5f20365 Change to use rvtysh when calling the show commands (sonic-net#1572)
51d6bf5 Fix Aboot breakage in sonic package manager in sonic-installer (sonic-net#1625)
18bed46 [console][show] Force refresh all lines status during show line (sonic-net#1641)
b616cd9 [TPID CONFIG] Added TPID configuration CLI support (sonic-net#1618)
01eb4b1 [show] support for show muxcable firmware version of only active banks (sonic-net#1629)
7744c8d [fdb]cli: fdb entries are cleared according to vlan or port or vlan&&port (sonic-net#657)
e23c5ee Add psu hardware revision to psushow table (sonic-net#1601)
f1726fe Make advance_version_for_expected_database available for other db migrator test cases as well (sonic-net#1614)
5d1ad05 [show] add support for muxcable metrics (sonic-net#1615)
feeab29 [config] Sort Config Db When Saving (sonic-net#1623)
theasianpianist pushed a commit to theasianpianist/sonic-buildimage that referenced this pull request Feb 5, 2022
…et#1614)

What I did:
Use reference count for protect interface, If interface bind to ACL the reference will increase and vice versa.

Why I did it:
If interface bind to ACL and remove LAG causes the ACL rule become global rule
to match all interfaces.

How I verified it:
Run the pytest check ACL and Port test case passed.
taras-keryk pushed a commit to taras-keryk/sonic-buildimage that referenced this pull request Apr 28, 2022
…rator test cases as well (sonic-net#1614)

- What I did
Originally, the method advance_version_for_expected_database was introduced (in sonic-net#1566) to handle the case the latest version in CONFIG_DB is greater than the latest version in mellanox_buffer_migrator.
Now there are other database migrators whose test cases can also encounter this situation, like port auto-negotiation (sonic-net#1568) and port-channel for LACP key (sonic-net#1473).
So I would like to make the method public, available for all database migrators.
Related database migrator test cases have been updated accordingly.

- How to verify it
Run the unit test.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
taras-keryk pushed a commit to taras-keryk/sonic-buildimage that referenced this pull request Apr 28, 2022
What I did
The port-channel key migrator was introduced in version 2_0_2 so the expected database version of the test case should be 2_0_2.
It was modified to 2_0_3 when the new version was introduced by mistake. This won't fail the test but disable the require its database version to be updated every time a new version is introduced. (Refer sonic-net#1566 and sonic-net#1614 for details)
This is to correct it by changing it back to 2_0_2.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants