Debug snapshotΒΆ
To simplify communication interface between production and development, Decapod has a concept of debug snapshot, similar to Fuel snapshots: snapshot is an archive which contains all information, required to debug and troubleshoot problems.
To generate snapshot, just execute following:
$ ./scripts/debug_snapshot.py snapshot
or, if you have containers only:
$ docker-compose exec -T admin cat /debug-snapshot | python - snapshot
If you use last way, please check docs and set correct settings if required:
$ docker-compose -p myproject exec -T admin cat /debug-snapshot | python - --help
usage: - [-h] [-f COMPOSE_FILE] [-p PROJECT_NAME] snapshot_path
Create debug snapshot for Decapod.
positional arguments:
snapshot_path Path where to store snapshot (do not append extension,
we will do it for you).
optional arguments:
-h, --help show this help message and exit
-f COMPOSE_FILE, --compose-file COMPOSE_FILE
path to docker-compose.yml file. (default:
/vagrant/docker-compose.yml)
-p PROJECT_NAME, --project-name PROJECT_NAME
the name of the project. (default: vagrant)
Please find all logs in syslog by ident 'decapod-debug-snapshot'.
$ docker-compose -p myproject exec -T admin cat /debug-snapshot | python - -p myproject snapshot
After execution, you will get snapshot as snapshot_path.*
(snapshot tool will calculate best compression algorithm
available on your platform and use its extension. So you may get
snapshot_path.tar.bz2
or snapshot_path.tar.xz
depepnding
on how your Python was built).
Information, stored in the snapshot:
- Backup of the database
- Logs from services
docker-compose.yml
file- Configuration files from Decapod services (
config.yaml
) - Datetimes from services
- Data from ceph-monitoring
- Version of installed packages
- Git commit SHAs of Decapod itself
- Information about docker and containers
No ansible private keys or user passwords (they are hashed by Argon2) are stored in debug snapshot.