PR2025.11.27
数理最適化のエキスパートが断言「AIブームで見落とされがちな重要技術」 1,300社が導入した「演繹的AI」が意思決定を変える
気軽にpip install ansibleを実行して、Ansible Towerでエラーが起きた話(全1記事)
コピーリンクをコピー
ブックマーク記事をブックマーク
伊藤雅人氏:それでは「気軽にsudo pip3 install ansibleを実行して、Ansible Towerでエラーが起きた話」をしたいと思います。(スライドを指して)やらかした話なので、途中暗くなってもいいように明るい色を使っています。
私のAnsible歴ですが、3年くらい前からAnsibleを触り始め、今はAnsible導入案件のPMやAnsibleのトレーニング講師をしています。本日はよろしくお願いします。
今回の発表内容です。1つ目は「sudo pip3 install ansibleして、さっきまで動いていたジョブテンプレートがおかしくなった!」話です。もう1つは、「(上記の10分後)sudo pip3 install ansible-lintして、さっきまで動いていたジョブテンプレートがおかしくなった!」話です。この「10分後」は、たぶん「これより短いことはない」という誇張表現だと思っています。この2本について話します。

その前に、すごく簡単に「Ansible Tower」のインストール状態と実行するPlaybookについて説明します。Towerはバンドル版を使ったので、同時にAnsibleも入っています。(スライドを指して)Tower 3.7.2にAnsible 2.9.7というかたちです。pipで入れているわけではないので、もちろん「pip3 freeze」では表示されない状況です。

Playbookの内容ですが、Demo Project、Demo Job Templateで使用されているものです。1ヶ所、hostsだけlocalhostに変えています。

これを実行していきます。バージョンを合わせるために、sudo pip3 install ansible==2.9.20を実行しました。その結果、失敗しました。(スライドを指して)こちらにエラー内容が載っています。エラーが起きる前に、明らかになにかしています。動かないという報告だけではプロセスが動かないのかなど、いろいろ考えてしまうので、調査したい時にはエラー表記どおり失敗しましたと伝えるといいと思います。


(スライドを指して)実際のエラー内容です。こちらはPython関係です。検索すると、数年前から起こっている似たような事例が見つかるので、もし起きた場合は調査というより素直にアンインストールしてください。
次のやらかした話です。今度は、バージョンではなく、それ以外の開発環境を整える必要がありました。「ansible」ではなく「ansible-lint」をインストールします。virtualenvの手順ががあやふやなだったので、とりあえず「sudo pip3 install ansible-lint」を実行しました。

その結果、また失敗しました。エラーが起きる前に、明らかになにかしていました。

どういうことかというと、ansible-lintをインストールすると同時にansibleも入ります。スライドの下のほうです。4系を指定すると「ansible」や「ansible-core」も一緒に入ってきます。5系にはansibleは入りません。ansibleが入らないので、もちろんansible-lintも動かない状況です。
やらかしのまとめです。気軽に「sudo pip3 install ansible」を実行しない。システムワイドにインストールするのはやめましょう。ほかのansibleのバージョンを試す際には、Pythonの仮想環境を構築できるvirtualenvを利用しましょう。

また、最新バージョンを試すと、最新の4.2.0やansible-coreが入ってくるので、バージョンを指定しましょう。スライドの右下のように、ansibleのバージョンがcoreという表記に変わります。

おまけとしてvirtualenvのコマンドを載せました。もう、これだけで実行できます。私のやらかしは以上です。ご清聴ありがとうございました。
続きを読むには会員登録
(無料)が必要です。
会員登録していただくと、すべての記事が制限なく閲覧でき、
スピーカーフォローや記事のブックマークなど、便利な機能がご利用いただけます。
すでに会員の方はこちらからログイン
名刺アプリ「Eight」をご利用中の方は
こちらを読み込むだけで、すぐに記事が読めます!
スマホで読み込んで
ログインまたは登録作業をスキップ
この記事をブックマークすると、同じログの新着記事をマイページでお知らせします