コンテンツにスキップ

基本・ネタ帳

コンセプト

Ansible concepts — Ansible Documentation

リリースとメンテナンス情報

ロードマップ

Ansible Roadmap — Ansible Documentation

ディレクトリ構成

Sample Ansible setup — Ansible Documentation

「Sample directory layout」や「Alternative directory layout」を参照。

Playbook書き方

ネットワーク

venv作るタスク

venvにopenshiftパッケージ入れる

    - name: install openshift
      ansible.builtin.pip:
        name: openshift
        virtualenv: /root/venv
        virtualenv_command: python3 -m venv

このターゲットノードのvenvを使ってAnsible実行するには以下。

[Ansible] ターゲットノードのvenvのPythonを指定して実行する (interpreter_python / ansible_python_interpreter / PYTHONPATH) - zaki work log

この辺の設定をどこかに入れればOK

ansible_python_interpreter: /root/venv/bin/python

pipは最新にしつつ、バージョン指定のパッケージも入れるならこんな感じ。
最新だとansible==4.2.0が入る場合でも、4.1.0がインストールされる。

    - name: create venv
      ansible.builtin.pip:
        name:
          - pip
          - ansible==4.1.0
        state: latest
        virtualenv: ~/venv/ansible4.1.0
        virtualenv_command: python3 -m venv

ドキュメント

索引

Index — Ansible Documentation

ansible-doc

$ ansible-doc <module-name>
$ ansible-doc <module-fqcn>

モジュールパスを指定するには

$ ansible-doc -M /path/to/collection-path/ansible_collections/namespace/collectionname/plugins/modules hogehoge

パスが合わない場合は、エラーメッセージに「これらのパスにそんなモジュールないんだが?」とパス一覧が表示されるので、そこから調整する。

Automation Hub

トークンの作成

Hub への接続