Slide 1

Slide 1 text

気軽にsudo pip3 install ansibleを実行して、 Ansible Towerでエラーが起きた話 2021/07/20 伊藤雅人 @mizuto1217

Slide 2

Slide 2 text

発表内容 2 今回は、以下の2本立てです。 ◼ sudo pip3 install ansible して、 さっきまで動いていたジョブテンプレートがおかしくなった! ◼ (上記の10分後)sudo pip3 install ansible-lintして 、 さっきまで動いていたジョブテンプレートがおかしくなった! ※Ansible Automation Platform 2.0なら、同じことはやらかせない??

Slide 3

Slide 3 text

Ansible Towerのインストール状態と実行するPlaybookについて 3 その前に

Slide 4

Slide 4 text

Ansible Towerのインストール状態 ◼ バンドル版を使ったので、 同時にAnsibleも入ります ◼ pipで入れるわけではないので、 ansibleは表示されません 4

Slide 5

Slide 5 text

実行する Playbook 5 ◼ Demo Project、Demo Job Templateで 使用されている Playbook です ◼ hosts を localhost に変えています

Slide 6

Slide 6 text

sudo pip3 install ansible==2.9.20 しました! 6 バージョンを合わせるために、

Slide 7

Slide 7 text

sudo pip3 install ansible==2.9.20 しました! ◼ はい、動きません失敗しました。 エラーが起きる前に、明らかに何かしました。 7

Slide 8

Slide 8 text

sudo pip3 install ansible==2.9.20 しました! ◼ 対処方法は、素直に pip uninstall ansible を実行することです。 ◼ そして、 virtualenv を利用してください。 8

Slide 9

Slide 9 text

sudo pip3 install ansible-lintをしました! 9 (その10分後) バージョンだけではなく、それ以外の開発環境を整えなくては。 ansibleじゃなくて ansible-lintだし? virtualenv の手順があやふやだから、とりあえず sudo pip3 install ansible-lint をしよう。

Slide 10

Slide 10 text

sudo pip3 install ansible-lintをしました!しました! 10 ◼ はい、失敗しました。 エラーが起きる前に、明らかに何かしました。

Slide 11

Slide 11 text

sudo pip3 install ansible-lintをしました!しました! 11 ◼ ansible-lintの4系を指定すると、以下のパッケージが同時に入ります。 # pip3 freeze | grep ansible* ansible==4.2.0 ansible-core==2.11.2 ansible-lint==4.0.0 ◼ ansible-lintの5系は ansibleが入りません。 そのため、ansible-lint は動きません。

Slide 12

Slide 12 text

sudo pip3 install ansible-lintをしました!しました! ◼ 対処方法は、素直に pip uninstall ansible (ansible-core、 ansible-lint)を 実行することです。 ◼ そして、 virtualenv を利用してください。 12

Slide 13

Slide 13 text

やらかしのまとめ 13

Slide 14

Slide 14 text

やらかしのまとめ 14 ◼ 気軽に sudo pip3 install ansible を実行しない(システムワイドに install しない) 他の ansible のバージョンを試す際には、 Python の仮想環境を構築できる virtualenv を利用しましょう ◼ 最新バージョンを試す際には、最新だからといって省略せず、 バージョンを指定しましょう ◼ ansible2.9.20の追加例 # mkdir -p /opt/ansible2.9.20 # python -m venv /opt/ansible2.9.20 # source /opt/ansible2.9.20/bin/activate # pip install --upgrade pip # pip install "ansible==2.9.20"