* New script project for SecureCRT Session Generation
Simple script for automated session generation with secureCRT on windows.
minimal module requirements
* 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.
* 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>
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
This script allows one to migrate data, including lab node disks and
config from one CML server to another provided both are the same
version. More details are available in the README.