โ† All skills
Tencent SkillHub ยท Developer Tools

SONiC KVM Testbed

Deploy and manage a SONiC sonic-mgmt KVM virtual testbed with cEOS neighbors for running pytest-based network tests. Use when setting up a local KVM testbed,...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Deploy and manage a SONiC sonic-mgmt KVM virtual testbed with cEOS neighbors for running pytest-based network tests. Use when setting up a local KVM testbed,...

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, references/credentials.md, references/troubleshooting.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.2.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 14 sections Open source page

SONiC KVM Virtual Testbed

Deploy a local sonic-mgmt KVM testbed with cEOS neighbors on a single machine.

Architecture

Host Machine (KVM + Docker) โ”œโ”€โ”€ vlab-XX (KVM VM running sonic-vs) โ€” DUT โ”œโ”€โ”€ ceos_vmsX-Y_VMZZ (Docker) โ€” cEOS neighbor(s) โ”œโ”€โ”€ ptf_vmsX-Y (Docker) โ€” PTF test traffic generator โ””โ”€โ”€ sonic-mgmt (Docker) โ€” Ansible + pytest framework Management network: br1 bridge, 10.250.0.0/24 (host at .1).

Supported Topologies

Testbed NameTopoDUTVM BaseNeighbors (raw โ†’ converged)vms-kvm-t0t0vlab-01VM01004 โ†’ 1 cEOSvms-kvm-t1-lagt1-lagvlab-03VM010424 โ†’ 2 cEOS Use use_converged_peers: true in vtestbed.yaml to reduce cEOS containers via multi-VRF convergence (requires PR #22399 in master branch).

Prerequisites

Ubuntu 20.04/22.04/24.04, KVM enabled (kvm-ok) 30GB+ RAM (for single topo) or 20GB+ with reduced VM memory Docker installed, user in docker, kvm, libvirt groups Built sonic-vs.img.gz from sonic-buildimage cEOS image file (e.g., cEOS64-lab-4.32.5M.tar.xz) sshpass installed on host

1. Initial Setup (one-time)

# Clone repo git clone https://github.com/sonic-net/sonic-mgmt.git ~/sonic-mgmt cd ~/sonic-mgmt && git checkout master # PR #22399 needed for auto-convergence # Prepare images mkdir -p ~/veos-vm/images ~/sonic-vm/images gunzip -k sonic-vs.img.gz cp sonic-vs.img ~/veos-vm/images/ && cp sonic-vs.img ~/sonic-vm/images/ # Import cEOS (docker import, NOT docker load) xz -d cEOS64-lab-4.32.5M.tar.xz docker import cEOS64-lab-4.32.5M.tar ceosimage:4.32.5M # Management bridge cd ~/sonic-mgmt/ansible && sudo ./setup-management-network.sh # debian:jessie dependency docker pull publicmirror.azurecr.io/debian:jessie docker tag publicmirror.azurecr.io/debian:jessie debian:jessie # sonic-mgmt container ./setup-container.sh -n sonic-mgmt -d /data # Create vault password file echo "abc" > ~/sonic-mgmt/ansible/password.txt

2. Configure Credentials and Settings

See references/credentials.md for all config files. Critical files (these reset on git operations โ€” automate fixes in a script): FileKey SettingWhygroup_vars/vm_host/creds.ymlvm_host_user: <your_user>Host SSH accessgroup_vars/all/creds.ymlsonic_login: "<dut_user>"DUT SSH user (matches sonic-vs build user)group_vars/all/ceos.ymlskip_ceos_image_downloading: trueUse local cEOS imagegroup_vars/vm_host/main.ymlmax_fp_num: 127Default 4 is too low for T0/T1veos_vtbansible_user: <your_user>Inventory host userveosComment out STR-ACS-SERV-01Avoid dual-host conflictvars/docker_registry.ymlRemove :443 from host:443 causes docker pull to hangvtestbed.yamluse_converged_peers: trueEnable multi-VRF convergence Create a fix script to re-apply all settings. Run it before EVERY testbed operation.

3. Deploy Topology

# Fix configs + remove stale .bak bash fix-configs.sh rm -f vars/topo_<TOPO>.yml.bak # Inside sonic-mgmt container: ./testbed-cli.sh -t vtestbed.yaml add-topo <TESTBED_NAME> password.txt Duration: ~15-20 minutes (VM boot + cEOS startup).

4. Post-Deploy DUT Setup

After add-topo, the DUT boots with the build user. The multi_passwd_ssh plugin expects admin: # SSH to DUT as build user ssh <build_user>@<DUT_IP> # Create admin user sudo useradd -m -s /bin/bash -G sudo,docker admin echo 'admin:password' | sudo chpasswd sudo bash -c "echo 'admin ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/admin" # Fix docker socket sudo chmod 666 /var/run/docker.sock

5. Deploy Minigraph

# Fix configs + remove .bak AGAIN (they revert!) bash fix-configs.sh rm -f vars/topo_<TOPO>.yml.bak ./testbed-cli.sh -t vtestbed.yaml deploy-mg <TESTBED_NAME> veos_vtb password.txt Duration: ~5-10 minutes.

6. Verify

# Check containers docker ps | grep -E "ceos|ptf" # Check BGP (use admin after deploy-mg) sshpass -p password ssh admin@<DUT_IP> "show ip bgp summary" Expected BGP state with converged peers: T0: ARISTA01T1 Established (6400 prefixes), ARISTA02-04T1 Active (normal โ€” VRF peers without physical port-channels) T1-LAG: 17/24 sessions up (all T0 + 1 T2 spine; remaining T2 spines Active)

7. Run Tests

cd /data/sonic-mgmt/tests ./run_tests.sh -n <TESTBED_NAME> -d <DUT_NAME> -c <test_path> \ -f vtestbed.yaml -i ../ansible/veos_vtb

Teardown

bash fix-configs.sh rm -f vars/topo_<TOPO>.yml.bak ./testbed-cli.sh -t vtestbed.yaml remove-topo <TESTBED_NAME> password.txt Duration: ~12-15 minutes.

Critical Gotchas

Config files revert during git and testbed operations โ€” run fix script before EVERY command Remove .bak files before add-topo โ€” stale backups cause KeyError in converger docker import for cEOS (not docker load) :443 in docker_registry_host silently hangs docker pulls max_fp_num: 4 is too low โ€” set to 127 br1 bridge is not persistent across reboots โ€” add netplan config Non-admin builds: sonic-vs uses the build machine's username, not admin use_converged_peers: true requires master branch (PR #22399) for auto-convergence

Troubleshooting

See references/troubleshooting.md for detailed diagnosis of common failures.

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
3 Docs
  • SKILL.md Primary doc
  • references/credentials.md Docs
  • references/troubleshooting.md Docs