224 Commits

Author SHA1 Message Date
dependabot[bot]
ff075d90da Bump jinja2 from 3.1.2 to 3.1.3 in /scripts/brk2iterm (#38)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.3)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-12 20:12:27 -04:00
Joe Clarke
310cfb0b6b Add a submodule for Ralph's eve2cml tool.
This tool allows one to convert EVE-NG topologies to CML topologies.
2024-03-12 20:09:36 -04:00
kellychristians
933b81bedb Windows SecureCRT Lab/Session Generation (#37)
* New script project for SecureCRT Session Generation

Simple script for automated session generation with secureCRT on windows.
minimal module requirements
2024-03-01 11:40:28 -05:00
Joe Clarke
ae3bc7b8b4 Chase the official IDs and names. 2024-01-31 10:23:31 -05:00
Joe Clarke
9d6ac400ec Add a comment that the cloud-init syntax is for older software. 2023-11-28 13:51:59 -05:00
Joe Clarke
ef7994edd4 Revert. This is internal. 2023-11-28 12:47:15 -05:00
Joe Clarke
159fbac9e3 Add another SD-WAN automation use case. 2023-11-28 12:46:30 -05:00
Joe Clarke
a9cefbb02d Add a specific cEdge node def.
The day 0 config file name is different for cEdge than the base
Cat8000V.
2023-11-28 11:32:16 -05:00
Joe Clarke
1ac2ee7b0e Update SD-WAN node definitions.
Switch to the new Catalyst brand and update requirements and interface
names to match reality.

Since the Cat8Kv is the new "cEdge" leverage the existing Cat8Kv that
already ships with CML and remove the legacy iosxe-sdwan node definition
here.
2023-11-21 14:47:48 -05:00
Ralph Schmieder
e5d2c238c3 added 300 node lab (#36) 2023-11-15 08:57:33 -05:00
Joe Clarke
61655c6596 Bump the memory to 256 to support ROS 7.x. 2023-09-13 09:01:04 -04:00
Hank Preston
49ba04e065 adding ipsec-exploration topology 2023-07-21 16:00:01 -04:00
Joe Clarke
fc3920d704 Add CML in AWS use case. 2023-05-02 11:10:52 -04:00
Hank Preston
ee2f5232e5 A basic topology for traffic forwarding labs 2023-04-25 21:04:13 -04:00
tmikuska
cea96a0d76 IPv6 migration support and other improvements to the migration script (#33) 2023-01-25 03:26:48 -05:00
Xinyu Wei
46930d5014 Add Juniper vSRX 3.0 node and image definition files (#32)
* Add Juniper vSRX 3.0 node and image definition files

* Add Juniper vSRX 3.0 day 0 config
2023-01-10 16:05:34 -05:00
oliveruhlar
e2f4389732 change cat8000v nd max number of interfaces (#31)
Co-authored-by: Oliver Uhlar <ouhlar@cisco.com>
2022-12-18 09:54:06 -05:00
Joe Clarke
48e7ba46b3 Ignore .vscode. 2022-12-10 20:10:41 -05:00
Joe Clarke
0b50c0e683 Add CiscoLive module with sample topologies. 2022-12-10 20:10:02 -05:00
CML-TAC
2191ef1b8a Fixed NXOSv 9500 148 directory (#30)
Rename directory.
2022-11-30 08:03:34 -05:00
oliveruhlar
f9b6e0d205 Fix for sim.video.memory (#29)
* change sim.video.memory range

* set default sim.video.memory

Co-authored-by: Oliver Uhlar <ouhlar@cisco.com>
2022-11-29 13:50:41 -05:00
Joe Clarke
c66dbf84b3 Remove trailing whitespace. 2022-11-27 12:34:16 -05:00
oliveruhlar
82da71d916 Validate action and some fixes for node definitions (#28)
* Validation by schema action for node definitions

* fix sim.video.model for windows 10 nd

* change action checkout version

* fix node definitions (do not explicitly set `boot_disk_size` as this may break booting.  Instead, let libvirt use the actual size of the backing disk)

Co-authored-by: Oliver Uhlar <ouhlar@cisco.com>
2022-11-27 12:32:31 -05:00
CML-TAC
0de8f83503 Fixed Win Server 2019 node definition and added NXOSv 9500 (#26)
* Create README.MD

adding palo alto node and image definition

* Update README.MD

* Created readme

Created readme for Windows 10 node definition

* fixed typo

* added node def

* Delete README.md

* Delete winServer2019.yaml

* Add files via upload

* updated

* windows 2019

* added server 2019

* updated readme

* updated

* added node definitions

* added readme

* added node def

* added readme

* added node def

* added readme

* added node def

* added readme

* fixed typo

* added node def

* already exists

* updated fields

* Update winServer2019.yaml

Fixed Windows Server 2019 node definition

* Update winServer2019.yaml

fixed video model

* Create nxosv9500-148.yaml

Added NXOSv 9500 128 ports

* Create readme.md

Added readme

* Update readme.md

fixed formatting

* Delete README.MD

removed duplicate readme

* Update readme.md

Fixed Typo

* Rename node-definitions/cisco/NXOSv 9500 128 ports/nxosv9500-148.yaml to node-definitions/cisco/NXOSv 9500 148 ports/nxosv9500-148.yaml

Fixed directory name
2022-11-26 07:53:06 -05:00
shawnjury
b837227eac Breakout tool update add mac support (#25)
* breakout update and MAC OS support

Added getAllNodes function to cmlApiCalls.py.
Added Mac OS support into main.py
Added new logic to get all nodes, find label and node_definition, sort by label and add the SecureCRT ini files.  This matched what the breakout tool provided for my machine.

* Update main.py

* Using Lab_title

Changed to use the LabTitle for the Directory/CRT.  This makes it more human readable when you have multiple labs.
2022-11-03 06:30:35 -04:00
Alexander Deca
2cf2c8af59 Update README.MD for PAN-OS (#24)
* Updated README.md

* Updated README

* update
2022-10-16 11:40:00 -04:00
Marc
5765a01b71 adding arista veos definition (#22)
* initial veos yaml build

* adding veos directory and README

* removing vEOS from outside of parent dir

* fixing README

* modifing README and YAML settings for definition
2022-07-07 06:35:05 -04:00
Joe Clarke
d8b4d03839 Add support for clustering.
Submitted by:	Tomas Mikuska
2022-05-18 09:07:01 -04:00
sgherdao
c991ec19e4 breakout to iTerm2 script (#21)
Add a script to generate iTerm2 configurations from the breakout tool console connections.
2022-05-11 16:14:44 -04:00
sgherdao
b636b84985 added brk2tmuxp.py script (#20)
This script provides a way to turn the CML breakout labs config into tmux configuration for easy console access.
2022-05-05 16:48:21 -04:00
Joe Clarke
7451c5ae7d Allow for migration between 2.2 and 2.3+.
Submitted by:	Tomas Mikuska
2022-04-27 17:41:51 -04:00
Joe Clarke
d6cd9ecb96 Delete README.MD
Uppercase changes like this break weird filesystems like macOS.
2022-04-20 11:19:04 -04:00
Joe Clarke
0852bd0350 Add definitions for the DevNet Expert CWS. 2022-04-20 11:07:35 -04:00
CML-TAC
d2f142619c added wsa, esa, juniper qfx, hpe, windows 10. (#19)
* Create README.MD

adding palo alto node and image definition

* Update README.MD

* Created readme

Created readme for Windows 10 node definition

* fixed typo

* added node def

* Delete README.md

* Delete winServer2019.yaml

* Add files via upload

* updated

* windows 2019

* added server 2019

* updated readme

* updated

* added node definitions

* added readme

* added node def

* added readme

* added node def

* added readme

* added node def

* added readme

* fixed typo

* added node def

* already exists

* updated fields
2022-04-13 10:03:49 -04:00
Joe Clarke
34f9af8475 Set for release. 2022-02-20 15:23:44 -05:00
Joe Clarke
eff63cda6b New migration (#17)
* Begin support for CentOS > Ubuntu migration.

* Don't rely on the script being on the source host.  Copy it there each
  time.
* Remove the prep and unprep options.  OpenSSH must be enabled on the
  remote host.
* Allow for moving from 2.2.2 to 2.3.0.
* Fail if all labs cannot be stopped.

* WIP: Switch to rsync for migration

Support broader migration targets and handle the case where libvirt
might not be an overlay (in 2.3).

TODO: Need to support non-overlay for offline migration and need to call
the actual migration script once the restore/migration is complete.

* Format and fix some function use.

* Mount the overlay on the right machine.

* Begin to add offline support.

TODO: Determine the correct place to extract refplat images.

* Map LIBVIRT_IMAGES to LIBVIRT_IMAGES.

* Don't assume the script is in /usr/local/bin.

* Don't wait for labs to stop when we don't stop them.

* Fix a number of bugs in migration.

* Fix a bug in the use of `cut`.

While here, make rsync show progress and ensure we use rsync as root on
the remote machine.

* Refactor when the data migration is done.

* Make sure we copy the right local directories.

Also, fix rsync command line to enable compression.

* Fix the conversion of libvirt from CentOS to Ubuntu.

* Make sure migration mode is properly passed.

Also, handle image copying correctly.

* Check to see if we're migrating from the local host.

* Make sure we check an IP.

* Check that hostname resolution is working.

* Allow alembic to handle the libvirt domain changes.

* Fix permissions of node disks.

Also, don't mask errors.

* Add a comment.

* Flesh out support for offline migration.

* Make the backup file very explicit.

* Don't try and mount the overlay if we don't need it.

Also add support for running without confirmation.

* Fix some issues spotted by shellcheck.

* Update docs for version migration.

* Fix logic error to allow for migration.

* Expose tar output so people can see progress.

* Add progress for tar via checkpoints.

Use checksum verification to decide what to rsync.

* Provide a better means to show progress.

Submitted by:	Justin Guagliata

* Remove errant '-'.

* Remove the 'z'.

* This needs to be exported.

* Add a single occurrence for each tar extract command.

* Some fixes.

* Move back to straight tar to fix estimates
* Fix double extract on restore
* Uniform progress indicators for backup and restore

Submitted by:	Justin Guagliata

* Add some signal traps.

* Add some echoes to clean up the output.

* Only remove the backup file on error.

* Use grep on a string properly.

* Give more verbosity to rsync.

* Some fixes from Tomas.

* Exclude *.orig and *.rej files that may be found in node defs.
* Make sure we only migrate mapped dirs when doing migration.

* Add support for migrating libvirt networks.

* Added Palo Alto

* ignore vscode workspace

* added readme and renamed directory

* removed vscode workspace file

* update

* rename directory palo-alto

* edited while loop to account for deleted devices

this will max out at 100 nodes added. 
to add more than 100 nodes, edit line 26

* updated while loop to account for deleted devices

this will now check all nodes from n0 to n99. 
I found that deleted nodes breaks the previous script because after 1 node was not found, it ended. 
to check for nodes higher than n99, edit line 24

* Update main.py

* updated to account for deleted nodes

* Add Cumulus VX image

* Updated contributer list

* Add Charlie Fenwick's cool use case around Jupyter.

This use case demonstrates how a Jupyter notebook can be used to
provision a new lab from zero (with a nod toward Ansible as the way to
configure it).

* fixed readability / adjusted for login.yaml

* Create login.yaml

* added support for more default devices

added support for:
unmanaged switches
asav
ftdv
server
alpine
coreos
desktop
ubuntu

* Make user configurable.

Also, do not migrate the default network.

* Add support for migrating libvirt ifaces.

* Add the --get-ifaces command.

* Update docs with --user option.

* Support iface-list differences.

* Fix numerous issues.

* Add a missing sudo.

* Make sure we account for migration when checking for space.

* Fix typo.

Reported by:	Tomas Mikuska

* Fix some markdown issues and clarify bridge migration.

* More markdown consistency fixes.

* Add the SD-WAN as code use case.

* This is done as part of cleanup.

* Add version info and a --version flag for displaying it.

* Add the ability to update the script itself from GitHub.

* Use an equals expression.

* Fix version comparison.

* Fix --version comflict.

* Bump version.

* Document the --update flag.

* Make the URL a bit more modular.

Co-authored-by: Alexander Deca <alexander@deca-consulting.be>
Co-authored-by: M35a2 <49795550+M35a2@users.noreply.github.com>
2022-02-08 12:12:48 -05:00
Joe Clarke
47923879c3 Add SD-WAN as code use case. 2021-12-07 09:25:03 -05:00
Joe Clarke
c1ff7e37cd Merge pull request #15 from M35a2/master
added support for trex
2021-12-05 11:44:18 -05:00
M35a2
96ba859d14 added support for trex
added support for trex -- line 78
2021-12-03 13:38:03 -07:00
Joe Clarke
a9bf89be01 Merge pull request #14 from M35a2/master
support for more default devices
2021-10-24 13:07:32 -04:00
M35a2
8adac17bae added support for more default devices
added support for:
unmanaged switches
asav
ftdv
server
alpine
coreos
desktop
ubuntu
2021-10-20 15:40:57 -06:00
M35a2
19185fda09 Create login.yaml 2021-10-20 15:39:08 -06:00
M35a2
8bdc99128f fixed readability / adjusted for login.yaml 2021-10-20 15:38:09 -06:00
Joe Clarke
f513b0f134 Add Charlie Fenwick's cool use case around Jupyter.
This use case demonstrates how a Jupyter notebook can be used to
provision a new lab from zero (with a nod toward Ansible as the way to
configure it).
2021-10-07 13:13:26 -04:00
Joe Clarke
086a9ab8bc Merge pull request #12 from alexanderdeca/master
Add Cumulus VX image
2021-09-23 16:39:24 -04:00
Alexander Deca
425d630505 Updated contributer list 2021-09-23 10:55:43 +02:00
Alexander Deca
38af2043b0 Add Cumulus VX image 2021-09-21 09:18:45 +02:00
Joe Clarke
314ce6f40b Merge pull request #11 from M35a2/master
edited to account for deleted devices
2021-09-20 16:48:36 -04:00
M35a2
8a3e1f0374 updated to account for deleted nodes 2021-09-20 13:16:53 -06:00
M35a2
a739da1d29 Update main.py 2021-09-20 13:12:13 -06:00