Cisco conversion testing#21386
Closed
augusdn wants to merge 2 commits intosonic-net:masterfrom
Closed
Conversation
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
7361867 to
afc8b18
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
afc8b18 to
9de5460
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
9de5460 to
0542ec4
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| try: | ||
| # Use Paramiko SFTP to transfer the file | ||
| ssh_client = SSHClient() | ||
| ssh_client.set_missing_host_key_policy(AutoAddPolicy()) |
|
|
||
| try: | ||
| ssh_client = SSHClient() | ||
| ssh_client.set_missing_host_key_policy(AutoAddPolicy()) |
| if ssh_client: | ||
| try: | ||
| ssh_client.close() | ||
| except Exception: |
| output += chunk.decode('utf-8', errors='ignore') | ||
| if debug: | ||
| log.debug(f"Final read: received {len(chunk)} bytes") | ||
| except (socket.timeout, Exception): |
cyw233
reviewed
Apr 9, 2026
cyw233
reviewed
Apr 9, 2026
cyw233
reviewed
Apr 9, 2026
Contributor
|
Please also fill in the PR description to include more details |
edbe491 to
06903b1
Compare
Collaborator
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
conversion testing Signed-off-by: Augustine Lee <augustinelee@microsoft.com>
Collaborator
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of PR
Summary:
This pull request introduces comprehensive support for Cisco device conversion testing, focusing on enabling robust test infrastructure for devices transitioning from vendor OS (such as Cisco IOS XR) to SONiC OS. The main changes include the addition of conversion-specific pytest configuration and fixtures, enhancements to the
CiscoHostclass for file transfer and interactive command execution, and the introduction of shared assets and documentation files.Cisco conversion test infrastructure:
tests/cisco/conftest.pywith custom pytest fixtures and configuration for conversion tests, including mock SONiC fixtures, Cisco device access (ciscohost), and proxy environment variable handling. This supports testing devices before and during migration to SONiC.__init__.pyfiles intests/cisco/,tests/cisco/files/, andtests/cisco/files/common/to document and initialize the new test directories. [1] [2] [3]Enhancements to Cisco device abstraction:
CiscoHostclass intests/common/devices/cisco.pyto support:copymethod using Paramiko, addressing Ansible module limitations on Cisco XR.exec_interactivemethod, enabling automation of commands requiring user prompts.delete_filemethod.WarningPolicyfor SSH host key handling, improving test safety.Supporting changes:
tests/common/devices/sonic.pyandtests/common/devices/cisco.pyto provide access to the new interactive SSH helper. [1] [2]These changes collectively provide a robust foundation for conversion testing, allowing for seamless operation on Cisco devices regardless of their current OS state.
What's included:
- Stage 0: Download & transfer artifacts (SONiC image, firmware, migration scripts, minigraphs, vouchers)
- Stage 1: Intermediate XR upgrade
- Stage 2: Ownership Voucher (OV) installation
- Stage 3: Authenticated Variable (AV) install + RP SONiC migration
- Stage 4: Line Card (LC) migration
- Stage 5: Post-migration validation
- By default stops after Stage 0 for safety; use --full-migration to run all stages
Type of change
Back port request
Approach
What is the motivation for this PR?
How did you do it?
How did you verify/test it?
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation