ansible
私や私の周辺では、Ansible Automation Platformのことを、よく略して AAP と呼んでいます。 しかし、人によって AAP が指す範囲が微妙に違うように感じることがあります。 特に AAP 2 のリリース以降です。AAP は AAP 1 時代から AAP ですが(変な言い方で…
議論される場所 Ansible community package (pip install ansible でインストールされる方)は、ansible-core に加えて、さまざまなコレクションがインストールされます。 インストールされるコレクションは、公式ドキュメントの Collection Indexや、リポジ…
ansible 2.9 では、コレクション一覧を表示する ansible-galaxy collection list コマンドが利用できません(ansible-base 2.10から)。 そのため、コレクションの一覧やバージョンを確認するには、別の方法が必要です。 デフォルトのコレクションインストー…
コミュニティとしてはすでに EOL Ansible 2.10 で大きくパッケージング、配布の方式が変わったからなのか、前のバージョン Ansible 2.9 の開発がしばらく続いていました。ですが、2021年10月の 2.9.27を最後にリリースが止まっています。 コミュニティとして…
はじめに Cisco IOS のネットワーク機器に任意のコンフィグを投入する、cisco.ios.ios_config というモジュールがあります。 本モジュールを使ったPlaybookを実行して changed になると、以下のような冪等性に関する警告が表示されます。 % ansible-playbook…
少しややこしい ansible まわりのバージョン表記 ansible 2.10 から、ansible-base(2.10)や、ansible-core(2.11から)というコア部分のパッケージと、各種コレクションも含むパッケージ(Ansible community packageと呼ばれたりします)が登場しました。 pip …
Ansibleもくもく会 2022.6に参加しました。 そこで、copy モジュールの src オプションで相対パスで指定されたファイルはどこから探してくるか、という話題がありました。 files ディレクトリを先に探しに行くことは知っていたのですが、細かく公式ドキュメ…
はじめに AWS上のEC2インスタンスの情報を動的にインベントリとして利用できる、amazon.aws.aws_ec2というインベントリープラグインがあります。 その中に、include_filtersというオプションがあり、Nameタグの情報などで抽出条件を指定できます。 include_f…
はじめに Ansibleもくもく会 2022.5にて、質疑応答を担当するメンターにて参加させていただきました。 "" で書こう意味について質問いただいたので、分かる範囲でお答えしました。その内容についてまとめます。 ディクショナリと区別するために "" で囲う Pl…
はじめに Ansible(-base) 2.10 から、多くのモジュールはコレクションという管理、配布方式に移行しました。 その関係で「前あったあのモジュール、プラグインはどのコレクションにいったんだ?」と気になることがあるかもしれません。 正確には、しれません…
はじめに Ansible から Azure の VM の情報を取得して動的にインベントリを生成できる azure.azcollection.azure_rm インベントリプラグインという便利なものがあります。 こちらの issueを見てなるほどと思ったのですが、デフォルトだと実行中(running)で…
はじめに 前回の記事で、HashiCorp Vault の kv シークレットエンジンを使ってシークレットの登録をしました。 今回は、そのシークレットを Ansible から取得して表示したり、機器への接続パスワードに利用することを試します。 Ansible の community.hashi_…
はじめに Ansible のモジュールの一覧を確認したいときは、よく公式ドキュメントを参照します。Ansible 2.9 までは、Module Indexというページがあり、さらにカテゴリごとのページに飛べます。また、All modules というページでは全モジュールの一覧が表示さ…
はじめに Ansible では、タスクの実行結果を変数に保存し、その結果を後続のタスクで確認する機能があります。 docs.ansible.com そういえばどうなんだろうシリーズといいますか、「スキップされたタスクって succeeded 扱いだっけ?」と思ったことがありま…
Ansible ユーザー会では定期的にもくもく会というハンズオンイベントを開催しています。 次回は 2022/04/21 です。 コンテンツは以下のリポジトリにあります。 github.com 先日見つけたのですが、Ansible Best Practicesという資料がありました。 こうかいて…
はじめに AAP 2.x になってから、Ansible の実行環境が Python の venv から、コンテナに変わりました。 コンテナの中に、利用するコレクションを仕込んでおくわけですが、Automation Controller を触ってるときに、コンテナ内のコレクション一覧を確認した…
はじめに ■ 1. Automation mesh におけるノードの種類 ■ 2. 今回の環境 (コントロールノードと実行ノードの分類) ■ 3. 下準備 3.1. subscription-manage による作業 3.2. SSHキーの接続 ■ 4. インストール 4.1. インストーラーの準備 4.2. inventory の修…
はじめに 先日 ansible-lint 6.0.0 がリリースされました。 github.com .config/ansible-lint.yml を読み込むようになったり、ansible 2.9 や Python3.6、3.7 がサポートされなくなったり、フォーマット機能がつくなど変更がありました。 また、インストール…
はじめに チーム内で、Ansible の公式ドキュメントの見方についての話になったときに、よく参照するドキュメントはどこかという話に発展しました。 5つ紹介します。対象プラットフォームに限定しないものを取り上げています。 1. 各モジュールの説明ページ …
はじめに 動画 ロールと変数とチェック Role argument validation 必須チェック エラーになるケース 正常なケース チェックの無効化 型チェック 選択肢チェック validate_argument_spec モジュール チェックモードでもvalidateされる ansible-docによるargum…
はじめに 意図しないまま実行を進めないようにするため、ちょっとしたことでもエラーに倒して早めに処理を止める設定の紹介です。インベントリ周りが中心です。 ansible.cfg [defaults] duplicate_dict_key=error [inventory] host_pattern_mismatch=error a…
--vault-password-file オプションとは Ansible にはパスワードなどの機密情報を暗号化する ansible-vault という機能があります。 Playbook 実行時には何かしらの方法で復号パスワードを指定する必要があります。ansible-playbook コマンドにも関連オプショ…
はじめに ansible-navigator は、Playbookの実行、ドキュメントなどの情報が表示できる TUI ツールです。 Playbook の実行に関しては、ansible-playbook コマンドでできることはだいたいできると思ってよさそうです。 ansible-playbook コマンドの各オプショ…
はじめに Azure の公式ドキュメントには、Ansible から操作するための情報が多く載っていてありがたいです。 docs.microsoft.com 眺めていたら、Get Started: Configure Ansible on an Azure VMというページで、インデントがおかしいところがありました。 イ…
はじめに azure.azcollection.azure_rm というインベントリプラグインは、AzureのVMの情報を動的に取得できます。 対象のリソースグループ名やグループ化の仕方、変数の持ち方などをYAMLで定義します。 このインベントリプラグイン利用時に、インベントリ名…
はじめに 2020年は、ansible-base (現 ansible-core) と collection に分かれての配布が始まったことが大きな出来事でした。 2021年も、ansible-core も、コミュニティが選別したcollectionをセットにしたパッケージもそれぞれアップデートされていきました…
はじめに ansible-playbook コマンドの -i オプションは複数のインベントリを指定できます。 例 ansible-playbook -i inventory01.ini -i inventory02.ini playbook.yml この記事ではかんたんなサンプルと実行例を紹介します。 動作確認環境 ansible 5.1.0 (…
はじめに azure.azcollection.azure_rm_resourcegroupモジュールは、Azureのリソースグループを作成したり削除したりできます。 削除したいときは、state: absent を指定しればよいですが、リソースグループ内にリソースが含まれていると削除できません。 ど…
はじめに azure.azcollection.azure_rm_virtualmachineモジュールの generalized オプションを利用すると、VMを generalize できます。 Azure CLI でいう az vm generalize 、PowerShell でいうSet-AzVm -Generalizedです。(後述しますが、VMの状態遷移の挙…
この記事は、Ansible Advent Calendar 2021 (Adventar版) 20日目の記事です。 はじめに 先日 Ansible もくもく会に参加させていただきました。(参加レポート) ネットワーク編のコンテンツでは、たびたび cisco.ios.config のような、少しモジュール名を省…