Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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,...
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,...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Deploy a local sonic-mgmt KVM testbed with cEOS neighbors on a single machine.
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).
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).
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
# 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
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.
# 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).
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
# 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.
# 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)
cd /data/sonic-mgmt/tests ./run_tests.sh -n <TESTBED_NAME> -d <DUT_NAME> -c <test_path> \ -f vtestbed.yaml -i ../ansible/veos_vtb
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.
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
See references/troubleshooting.md for detailed diagnosis of common failures.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.