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

Fix for GCU_DHCP_Relay KVM test Failure in HEAD PR #2990

Closed
wants to merge 78 commits into from
Closed

Fix for GCU_DHCP_Relay KVM test Failure in HEAD PR #2990

wants to merge 78 commits into from

Conversation

ridahanif96
Copy link
Contributor

@ridahanif96 ridahanif96 commented Sep 20, 2023

What I did

KVM Elastic test cases are failing due to missing mode attribute in configuration Updated GCU function by making it compatible with HEAD PR so that it can pass KVM Elastic test cases

How I did it

Modified generic_updater.py. Added a logic in def replace function such that it will not fail in rollback. In this way it will pass KVM Elastic (GCU_Dhcp_relay.py test)

- What I did

Modified config/vlan.py to add new commands with multiple and range
options

Creation of config/switchport.py which will deal with default Vlan1

Modified the show interface command so it will show the status of port
being access or trunk. Before it did not show about access mode only
trunk.

Modified the Command-Reference.md file to add new commands in it with
usage and examples

Added new utility functions in utilities_common/cli.py for new Vlan.py
and switchport.py commands

- How I did

Added new commands and modified the existing commands in config/vlan.py
for example to accept multiple vids and range of vids in add|del vlan
and add|del vlan member as well as except flag in vlan member command

Creation of config/switchport.py file to add commands which will deal
only with Default Vlan1 which was unable to be defined or assigned in
SONiC before

New utility functions in utilities_common/cli.py

changes in scripts/intfutil. Modified the existing function and now it
will display if an interface is in access mode or trunk mode with routed
mode.

- How to verify it

New commands have been added in Command-Reference.md
All the syntax and examples have been added there and they can be
verified by running the specific command

Signed-off-by: Muhammad Umar Asad <umarasad20@gmail.com> < xFlow
Research Inc. >
Modified './config/vlan.py' and added switchport mode checks in it as well as other small checks

Modified './scripts/intfutil/' to show correct port mode with access option for 'show interfaces status' command and its subfunctions

Added utilities functions in './utilities_common/cli.py' for './config/switchport.py'

Updated mocktables according to the tests and addded 'Mode' attribute in PORT table as well as 'Vlan' to 'Mode' in intfutil and multi_asic tests expected outputs of vlan_test.py
Fixed config_db_vlan_port_keys_get() in intfutil to show correct port mode

updated test cases in '/tests/vlan_test.py' for enhanced vlan commands
and new switchport commands which are used with vlan member commands

Signed-off-by: Muhammad Umar Asad <umarasad20@gmail.com> xFlow Research
Inc.
related testcase

removed the fucntionality for checking vlan status to assign IP Address
It will now assign IP Address if the port is in 'routed' mode else it won't assign

Signed-off-by: Muhammad Umar Asad <umar.asad@xflowresearch.com> xFlow Research Inc.
updated the Command-Reference.md for PortChannel switchport commands as
well
Updated the test cases for Portchnnel for switchport
updated the merger conflicts in the multi_asic_intfutil_test.py
The vlan.py and other files were modified to add DHCPv4 and DHCPv6 relay
tables so the PR was needed to be updated
if vlan member table empty, do not migrate any settings
…onfig_db_port_portchannel_table_for_switchport_mode and added support for portchannel
@ridahanif96 ridahanif96 reopened this Sep 20, 2023
@ridahanif96 ridahanif96 deleted the Dhcp_gcu branch September 20, 2023 23:30
@ridahanif96 ridahanif96 restored the Dhcp_gcu branch September 20, 2023 23:32
@ridahanif96 ridahanif96 reopened this Sep 20, 2023
old_config = self.config_wrapper.get_config_db_as_json()


old_config = switchport_mode_remove(old_config)
Copy link
Contributor

Choose a reason for hiding this comment

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

switchport_mode_remove

Do you want to use self.switchport_mode_remove ?

Please check test failure:

target_config = {'ACL_TABLE': {'DATAACL': {'policy_desc': 'DATAACL', 'ports': ['Ethernet4'], 'stage': 'ingress', 'type': 'L3'}, 'EVERF...}, 'VLAN': {'Vlan1000': {'dhcp_servers': ['192.0.0.1', '192.0.0.2', '192.0.0.3', '192.0.0.4'], 'vlanid': '1000'}}, ...}

    def replace(self, target_config):
        self.logger.log_notice("Config replacement starting.")
        self.logger.log_notice(f"Target config length: {len(json.dumps(target_config))}.")
    
        self.logger.log_notice(".")
        old_config = self.config_wrapper.get_config_db_as_json()
    
>       old_config = switchport_mode_remove(old_config)
E       NameError: name 'switchport_mode_remove' is not defined

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@qiluo-msft , Yes i want to remove "mode" attribute for this created this self.switchport_mode_remove function. All these test failures has been resolved and updated in new PR: #2993. Please consider this new one.

@ridahanif96 ridahanif96 closed this by deleting the head repository May 6, 2024
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.

3 participants