自動化でシステムをデプロイするためにansibleをインストールしましたが、それを操作するために追加のモジュールが必要です。私はansible githubにモジュールyumrepo.pyをダウンロードし、それをライブラリディレクトリに追加しました。しかし、実行すると、エラーERROR: yumrepo is not a legal parameter of an Ansible Play
が表示されます。これがansible.cfgファイルの私の設定です。
inventory = /etc/ansible/hosts
library = /etc/ansible/module/
remote_tmp = $HOME/.ansible/tmp
と私のプレイブック
---
- name: Add multiple repositories into the same file (1/2)
yumrepo:
name: epel
description: EPEL YUM repo
file: external_repos
baseurl: http://download.fedoraproject.org/pub/epel/$releasever/$basearch/
gpgcheck: no
誰かが私を助けてくれることを願っています。ありがとうございます
yumrepo.py
からどのリポジトリをダウンロードしましたか?
代わりにおそらく使用する必要があるのは、ansible-yumrepo
roleです。 https://github.com/picotrading/ansible- yumrepo (ここで 役割の詳細 を参照)
これは、プレイブックと同じディレクトリにあるroles
ディレクトリにインストールできます。 githubからリポジトリのクローンを作成したときに、ローカルでロールの名前をansible-yumrepo
からyumrepo
に変更する必要があることがわかりました。
$ git clone https://github.com/picotrading/ansible-yumrepo.git roles/yumrepo
次に、次のプレイブックを、目的の開始点として使用できます。
- hosts: all
roles:
- role: yumrepo
yumrepo_repos:
myrepo1:
name: epel
description: EPEL YUM repo
file: external_repos
baseurl: http://download.fedoraproject.org/pub/epel/$releasever/$basearch/
gpgcheck: no
モジュールファイルをplaybooks/library
自動的に取得します。デフォルトのANSIBLE_LIBRARY変数は変更せず、yum/pipでインストールしたものを使用してください。また、それらをサブディレクトリに配置しないでください。
あなたのようなものがあるでしょう...
hosts/hostfile
hosts/group_vars/all/custom_vars.yml
playbooks/library/plugin.py
playbooks/library/plugin2.py
playbooks/roles
playbooks/my_playbook.yml
yumrepoは ansible-extras によって提供されます。問題は、yumrepoを含むこのモジュールのバージョンがまだリリースされていない可能性が高いです。 ansibleインストールのextrasディレクトリを確認すると、これを確認できます。鉱山は:
/usr/local/lib/python2.7/site-packages/ansible/modules/extras/packaging/os/
ls -ltr
Yumrepo.pyファイルがないことがわかります。したがって、1つの解決策は、誰かがすでにモジュールを使用する代わりに、yumrepoロールをロールディレクトリに複製することを提案していることです。このモジュールの使用を完全に設定している場合は、このyumrepo.pyモジュールをgithubレポからディレクトリ〜/ unreleased-ansible-extrasにコピーし、 http:/のようにANSIBLE_LIBRARY環境変数に追加できます。 /docs.ansible.com/ansible/developing_modules.html
例えば.
export ANSIBLE_LIBRARY=$ANSIBLE_LIBRARY:~/unreleased-ansible-extras
しかし、ロールを使用して、当面は次のリリースを待つ方が良いでしょう。
エクストラパッケージを/usr/local/lib/python2.7/dist-packages/ansible/modules/extras/
とpip
経由でAnsibleをインストールしましたが、yumrepo
はまだ存在しません。