Skip to content

Commit

Permalink
Consolidate internal READMEs
Browse files Browse the repository at this point in the history
  • Loading branch information
sbyrnes committed Feb 3, 2025
1 parent ca2ab4c commit a19324f
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 41 deletions.
60 changes: 55 additions & 5 deletions internal-lab-setup-assets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,20 @@ Images for emulated network devices must also be available. See ./images/README.

You must tune host settings https://hmntsharma.github.io/cisco-xrd/base_setup/#clone-the-xrd-tools-repository

As of March 2024, for XRd 7.11.1, the following sysctl settings were appropriate based on the above guide:
As of February 2025, for XRd 24.4.1, the following sysctl settings were appropriate based on the above guide:

```
# /etc/sysctl.conf
fs.inotify.max_user_instances=64000
fs.inotify.max_user_watches=64000
fs.inotify.max_user_instances=256000
fs.inotify.max_user_watches=256000
net.ipv4.udp_mem=1124736 10000000 67108864
net.core.rmem_default=67108864
net.ipv4.udp_mem='1124736 10000000 67108864'
net.core.netdev_max_backlog=300000
net.core.optmem_max=67108864
net.core.rmem_default=67108864
net.core.rmem_max=67108864
net.core.wmem_default=67108864
net.core.wmem_max=67108864
```

Set mgmt address in the config (instead of automatically assigning) as XRd has a bug and a container keeps its old address if it's been assigned a new address. containerlab is non-deterministic when assigning mgmt IPs.
Expand All @@ -28,11 +34,55 @@ Review the `Makefile` in `Getting_Started`

`make clab-install` to install containerlab
`make gen` to generate lab topologies based on `workshop.clab.yml.j2`. This currently creates 30 labs, set via `gen-topo.py`.
`make deploy` to start up all 30 labs. This will take some time but should complete without error.
`make deploy` to start up all labs. This will take some time but should complete without error.
`make destroy` to tear down all labs.
`make deploy-lab num=20` to deploy, or redeploy, only lab #20.
`make destroy-lab num=20` to destroy only lab #20.
`make inspect` to output lab info (this show local IPs, not port bindings)
`make poetry` to install poetry for use by this folder's tester code (written in Python)
`make test` to run the testing code that verifies both show commands and configuration of all Cisco XRd instances.
`make container` to build new lab container based on `Containerfile`

You can also run `containerlab` commands directly but they need to be run as root or via `sudo`.

You can probably use the output of `sudo containerlab inspect -t workshop1.clab.yml -f json` to create something similar to the `containerlab inspect` table output that displays the port bindings. i.e., use this to generate workshop instructions.


## Regarding Images

### Network Device Images

The images/ folder is intended to contain images used by emulated network devices in ContainerLab.

The images are not included in the git repository for obvious reasons.
- Licensing
- Size

But... if you happen to have the Cisco XRd image from CCO, here are some notes.

### Cisco XRd Control Plane

1. Retrieve control plane version of XRd from Cisco: https://software.cisco.com/download/home/286331236/type/280805694

2. Move it into the `images/` folder in this repository on your lab VM.

3. You may need to extract the image with something like `tar -xvzf xrd-control-plane-container-x86.24.4.1.tgz`

4. Load it into docker and tag it locally with `docker load -i xrd-control-plane-container-x64.dockerv1.tgz`

5. Note the image name in the output, probably something like "xrd-control-plane:24.4.1"
```
$ sudo docker load -i xrd-control-plane-container-x64.dockerv1.tgz
826e1dd2a198: Loading layer [==================================================>] 1.32GB/1.32GB
Loaded image: ios-xr/xrd-control-plane:24.4.1
```

6. Update the workshop.clab.yml.j2 Jinja template at the top of this repository to use the image wherever you please. For instance, like so:
```
topology:
kinds:
cisco_xrd:
image: ios-xr/xrd-control-plane:24.4.1
```

7. You are ready to generate and load your lab!
36 changes: 0 additions & 36 deletions internal-lab-setup-assets/images/README.md

This file was deleted.

0 comments on commit a19324f

Please sign in to comment.