検証環境のawxで、awxがバックエンドで使用しているpostgresの調子が悪く、何度もawxが落ちる事象が発生しました(最終的にはawxをアップグレードしたら解消しました)。その際に、awxのバックアップ/リストアを行ったので備忘録として残しておきます。
概要
- tower-cliコマンドの設定のエクスポート、インポートを使ってawxのバックアップ/リストア操作を行えます。
- 完全なリストアではなく設定のインポートのため、バックアップ後に消えたオブジェクトは復元するが、バックアップ後に作成されたオブジェクトは消えない。(消えたデータの復元)
tower-cliとは
- Ansible Tower のコマンドツール
- Tower 内にある大半のオブジェクトを取得、作成、変更、削除することができる
- プレイブック実行の起動 (例: Jenkins、TeamCity、Bamboo など)
- ジョブステータスの確認
- 組織、ユーザー、チームなどのオブジェクトの迅速な作成
- 既に開発は終わり、後続のawxコマンドが出ている※現在はこちらが推奨
ansible公式: tower-cli の概要 — Ansible Tower API Guide v3.1.4
Reference: https://tower-cli.readthedocs.io/en/latest/cli_ref/
手順
tower-cliのセットアップ
-
tower-cliのインストール
コマンド: pip/pip3 install ansible-tower-cli
-
Ansible AWXの情報をconfigに設定する。
-
configの確認
コマンド: tower-cli config
User optionsに設定した情報が表示される
バックアップ
オブジェクトのバックアップ
コマンド: tower-cli receive --all > xxx.json
※オプション(--all)を変えれば一部のオブジェクトだけエクスポートも可能(リファレンス参照)
出力内容の確認
リストア
オブジェクトのリストア(バックアップファイル(.json)のインポート
※どこがリストアされたかは一目瞭然