背景
AnsibleのRoleのテストを練習するために、Moleculeをインストールしてみたのですが、試しに作成したmolecule.yml
が上手くいかず、moleculeの理解が深められていない状態です。
環境情報
PC:Linux Mint 20 Ulyana
Ansible:2.9.13
Python:3.8.2
Docker:19.03.13
(pip docker:4.3.1)
molecule 3.1.5
- ansible:2.9.13 python:3.8
- delegated:3.1.5 from molecule
- docker:0.2.4 from molecule_docker
やったこと
moleculeをインストール後、molecule init role first-mol
でテンプレートディレクトリを作成し、`molecule.yml'を以下のように変更しました。
yaml
1--- 2dependency: 3 name: galaxy 4driver: 5 name: docker 6platforms: 7 - name: instance1 8 image: docker.io/centos:7 9 pre_build_image: true 10 privileged: True 11 command: /sbin/init 12 13 - name: instance2 14 image: docker.io/centos:8 15 pre_build_image: true 16 privileged: True 17 command: /sbin/init 18 19provisioner: 20 name: ansible 21verifier: 22 name: ansible
その後、molecule converge
を実行して、テスト用環境が構築されるか確かめてみました。
$ molecule converge --> Test matrix └── default ├── dependency ├── create ├── prepare └── converge --> Scenario: 'default' --> Action: 'dependency' Skipping, missing the requirements file. Skipping, missing the requirements file. --> Scenario: 'default' --> Action: 'create' Skipping, instances already created. --> Scenario: 'default' --> Action: 'prepare' Skipping, prepare playbook not configured. --> Scenario: 'default' --> Action: 'converge' --> Sanity checks: 'docker' PLAY [Converge] **************************************************************** TASK [Gathering Facts] ********************************************************* fatal: [instance2]: UNREACHABLE! => {"changed": false, "msg": "Failed to create temporary directory.In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in \"/tmp\", for more error information use -vvv. Failed command was: ( umask 77 && mkdir -p \"` echo ~/.ansible/tmp `\"&& mkdir \"` echo ~/.ansible/tmp/ansible-tmp-1604140764.6588757-41870-218071143806516 `\" && echo ansible-tmp-1604140764.6588757-41870-218071143806516=\"` echo ~/.ansible/tmp/ansible-tmp-1604140764.6588757-41870-218071143806516 `\" ), exited with result 1", "unreachable": true} fatal: [instance1]: UNREACHABLE! => {"changed": false, "msg": "Failed to create temporary directory.In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in \"/tmp\", for more error information use -vvv. Failed command was: ( umask 77 && mkdir -p \"` echo ~/.ansible/tmp `\"&& mkdir \"` echo ~/.ansible/tmp/ansible-tmp-1604140764.6792333-41869-223215650844468 `\" && echo ansible-tmp-1604140764.6792333-41869-223215650844468=\"` echo ~/.ansible/tmp/ansible-tmp-1604140764.6792333-41869-223215650844468 `\" ), exited with result 1", "unreachable": true} PLAY RECAP ********************************************************************* instance1 : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0 instance2 : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0 ERROR:
molecule list
を確認しますとconvergeがfalseにいることを確認しました。
$ molecule list Status(instance_name='instance1', driver_name='docker', provisioner_name='ansible', scenario_name='default', created='true', converged='false') Status(instance_name='instance2', driver_name='docker', provisioner_name='ansible', scenario_name='default', created='true', converged='false') ╷ ╷ ╷ ╷ ╷ Instance Name │ Driver Name │ Provisioner Name │ Scenario Name │ Created │ Converged ╶───────────────┼─────────────┼──────────────────┼───────────────┼─────────┼───────────╴ instance1 │ docker │ ansible │ default │ true │ false instance2 │ docker │ ansible │ default │ true │ false ╵ ╵ ╵ ╵ ╵
TASK
Gathering Factsの所で、tempディレクトリの作成に失敗していることがわかり、パーミッションエラーとも出ているのですが、何に対するパーミッションエラーなのか原因が判明しません。
エラー原因がわかる方いましたらご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/31 16:07
2020/11/01 13:52