athena-snapshots
Environment instance rollback and deployment testing command. By default does environment cold snapshot (stops all environment instances for duration of creation of the snapshots).
Usage
athena-snapshots [OPTIONS] COMMAND [ARGS]...
Option | Description |
---|---|
-e, –environment |
Environment to run this command in. |
-h, –help | Show built-in help documentation. |
-o, –owner |
Owner of the environment. |
-v, –verbose | Enable verbose output. |
Commands
Create
Create snapshots.
athena-snapshots create [OPTIONS]
Option | Description |
---|---|
–hot / –cold | Create hot snapshot (instances will be not stopped). |
List
List existing snapshots.
athena-snapshots list [OPTIONS]
Option | Description |
---|---|
-a, –show-nodes | Update/save environment variables in $ANSIBLE_DATA from/to environment Git repo. |
Restore
Restore a snapshot.
athena-snapshots restore [OPTIONS] <snapshot_id>
Option | Description |
---|---|
–backup-age |
Age of last backup in seconds that must exist to not backup current environment instances. |
–copy-data-files / –rename-data-files | Should files in ANSIBLE_DATA be renamed or copied if target and source owner or environment names are different. |
–instance-size |
Instance size (t2.micro,c4.large,etc) override when restoring ec2 instances. |
–instance-upgrade / –no-instance-upgrade | Should host operating system packages be upgraded. |
–openvpn-reset | Regenerate and redownload first user VPN config. |
-r, –reset | Remove run directory and init with snapshots dir again. |
–rds / –no-rds | Destroy, recreate RDS DBs from snapshots. |
Arguments
<snapshot_id>
- Snapshot id (e.g. 2017-08-23-07-33-24).
Extending
To add additional snapshot management operations edit snapshots.yml
in environment playbook directory.
Examples
To create cold environment snapshot (all instances will be stopped):
athena-snapshots create
To create Hot environment snapshot (instances will be not stopped):
athena-snapshots create --hot
To list all snapshots:
athena-snapshots list
To list all snapshots and show nodes they are for:
athena-snapshots list --show-nodes
To restore a specific environment snapshot (‘2016-06-10-10-18-58’):
athena-snapshots restore 2016-06-10-10-18-58
To restore a specific environment snapshot (‘2017-08-23-07-33-24’), reset the run directory and to not upgrade instance packages:
athena-snapshots restore --reset --no-instance-upgrade 2017-08-23-07-33-24