🐥

WSL2 UbuntuでAnsibleを使う

2023/05/07に公開

Ansibleで接続を試しました。

Ansibleとは

サーバーの構成などをコード化して、自動化するツールです。
冪等性(べきとうせい)という同じことをやっても同じ結果が得られるように作られています。

インストール方法

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt-get install ansible
ansible --version
nsible 2.9.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ttkou/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.8.10 (default, Nov 14 2022, 12:59:47) [GCC 9.4.0]

Ansibleを動かす

/mnt/c/pj/ansible_test$ tree
.
├── hosts.yml

hosts.yml

all:
  hosts:
    wsl_ubuntu:
      ansible_host: xxx.xx.xxx.xxx

ansible.builtin.ping モジュールを利用して接続確認

ansible -i hosts.yml all -m ping

エラーの発生

警告が発生して実行できませんでした。

[WARNING]: Ansible is being run in a world writable directory
(/mnt/c/pj/ansible_test), ignoring it as an ansible.cfg source. For more information  
see https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in- world-writable-dir

解決法

プロジェクトフォルダ内で、書き込み権限を付与しました。

sudo umount /mnt/c sudo mount -t drvfs C: /mnt/c -o metadata
sudo chmod 755 /mnt/c/pj/ansible_test
ansible -i hosts.yml all -m ping

wsl_ubuntu | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "ping": "pong"
}

参考
https://dev.classmethod.jp/articles/tips-ansible-on-wsl/
https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/

Discussion