Skip to content

[pytest][qos][config] Added pytests for "config qos reload" commands#1346

Merged
smaheshm merged 1 commit intosonic-net:masterfrom
smaheshm:config_qos_2
Jan 14, 2021
Merged

[pytest][qos][config] Added pytests for "config qos reload" commands#1346
smaheshm merged 1 commit intosonic-net:masterfrom
smaheshm:config_qos_2

Conversation

@smaheshm
Copy link
Contributor

@smaheshm smaheshm commented Jan 4, 2021

- What I did
Added pytests for "config qos reload" commands for single and multi ASIC platforms.

NOTE: The origin PR #1266 was reverted due to a failure in sonic-buildimage unit tests,
which was due to an un-implemented API. This is now fixed in
PR sonic-net/sonic-buildimage#6309 (sonic-buildimage)

- How I did it
Since 'config qos reload' command invokdes'sonic-cfggen' process, add a "--dry-run" option to 'config qos reload' command so that it passes the right parameters to 'sonic-cfggen' to not 'read and write' to config DB in unit test env. Also added '--json-data' option that gives flexibility to test variable parameters like tiers and switch roles.

- How to verify it

Unit test.

======================================
samaddik@83f02bcc27aa:/sonic/src/sonic-utilities/tests$ pytest-3  -s -k reload
============================= test session starts ==============================
platform linux -- Python 3.7.3, pytest-3.10.1, py-1.7.0, pluggy-0.8.0
rootdir: /sonic/src/sonic-utilities/tests, inifile: pytest.ini
plugins: cov-2.6.0
collected 337 items / 335 deselected

config_test.py SETUP
Saving output in /tmp/qos_config_output.json
0
Running command: /usr/local/bin/sonic-cfggen  --additional-data '{"DEVICE_METADATA": {"localhost": {}}}' -t /sonic/src/sonic-utilities/tests/qos_config_input/buffers.json.j2,/tmp/qos_config_output.json -t /sonic/src/sonic-utilities/tests/qos_config_input/qos.json.j2,/tmp/qos_config_output.json -y /sonic/src/sonic-utilities/tests/qos_config_input/sonic_version.yml

.TEARDOWN
SETUP
Saving output in /tmp/qos_config_output.json<0,1,2..>
0
Running command: /usr/local/bin/sonic-cfggen -n asic0 --additional-data '{"DEVICE_METADATA": {"localhost": {}}}' -t /sonic/src/sonic-utilities/tests/qos_config_input/0/buffers.json.j2,/tmp/qos_config_output.json0 -t /sonic/src/sonic-utilities/tests/qos_config_input/0/qos.json.j2,/tmp/qos_config_output.json0 -y /sonic/src/sonic-utilities/tests/qos_config_input/sonic_version.yml
Running command: /usr/local/bin/sonic-cfggen -n asic1 --additional-data '{"DEVICE_METADATA": {"localhost": {}}}' -t /sonic/src/sonic-utilities/tests/qos_config_input/1/buffers.json.j2,/tmp/qos_config_output.json1 -t /sonic/src/sonic-utilities/tests/qos_config_input/1/qos.json.j2,/tmp/qos_config_output.json1 -y /sonic/src/sonic-utilities/tests/qos_config_input/sonic_version.yml

.TEARDOWN


=================== 2 passed, 335 deselected in 1.51 seconds ===================

- Previous command output (if the output of a command-line utility has changed)

- New command output (if the output of a command-line utility has changed)

…eload" commands (sonic-net#1266)""

This reverts commit de14939.

The commit was reverted due to a failure in sonic-buildimage unit tests,
which was due to an un-implemented API. This is now fixed in
PR #6309 (sonic-buildimage)
@smaheshm
Copy link
Contributor Author

retest this please

@smaheshm smaheshm requested a review from judyjoseph January 13, 2021 00:11
@smaheshm
Copy link
Contributor Author

@judyjoseph This was already approved and committed but reverted due to vs-image test failure. Recreated a new PR.

@smaheshm smaheshm merged commit aa4b2d5 into sonic-net:master Jan 14, 2021
lguohan pushed a commit to sonic-net/sonic-buildimage that referenced this pull request Jan 20, 2021
- [route_check.py] - update includes checks on subscriptions (sonic-net/sonic-utilities#1344)
- Validations checks while adding a member to PortChannel and removing a member from a Portchannel (sonic-net/sonic-utilities#1328)
- [show] Add subcommand to show midplane status for modular chassis (sonic-net/sonic-utilities#1267)
- [pytest][qos][config] Added pytests for "config qos reload" commands" (sonic-net/sonic-utilities#1346)
- Drop explict 3 seconds pause between two object updates/deletes. (sonic-net/sonic-utilities#1359)
- [show]fix for show muxcable status by replacing "hostname" to "peer_switch" for deriving tor ipv4_address (sonic-net/sonic-utilities#1360)
- [PFCWD] Fix 'start' pfcwd command (sonic-net/sonic-utilities#1345)

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
lguohan pushed a commit to sonic-net/sonic-buildimage that referenced this pull request Jan 21, 2021
- [route_check.py] - update includes checks on subscriptions (sonic-net/sonic-utilities#1344)
- Validations checks while adding a member to PortChannel and removing a member from a Portchannel (sonic-net/sonic-utilities#1328)
- [show] Add subcommand to show midplane status for modular chassis (sonic-net/sonic-utilities#1267)
- [pytest][qos][config] Added pytests for "config qos reload" commands" (sonic-net/sonic-utilities#1346)
- Drop explict 3 seconds pause between two object updates/deletes. (sonic-net/sonic-utilities#1359)
- [show]fix for show muxcable status by replacing "hostname" to "peer_switch" for deriving tor ipv4_address (sonic-net/sonic-utilities#1360)
- [PFCWD] Fix 'start' pfcwd command (sonic-net/sonic-utilities#1345)

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
@smaheshm smaheshm deleted the config_qos_2 branch February 26, 2021 22:33
anand-kumar-subramanian pushed a commit to anand-kumar-subramanian/sonic-utilities that referenced this pull request Mar 2, 2021
…sonic-net#1346)

Added pytest to verify QoS config generation on multi ASIC platform.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants