Ansibleを使用してRHEL 7でyumリポジトリを更新する

Ansibleを使用してRHEL 7でyumリポジトリを更新する

私は利用可能なリポジトリのリストにEPELリポジトリを追加するためのプレイブックを作成しようとしました。

私がplaybook持っているものは次のとおりです。

- hosts: all

  # define variables.
  vars:
    epelReleaseMajorVersion: 7
    epelReleaseMinorVersion: 8

  tasks:
    - name: add epel repo
      yum-repository:
        name: add epel repo
        description: EPEL YUM repo
        baseurl:  http://dl.fedoraproject.org/pub/epel/$epelReleaseMajorVersion/x86_64/e/epel-release-$epelReleaseMajorVersion-$epelReleaseMinorVersion.noarch.rpm
        tags: addEpelRepo

私はplaybook次のように実行しようとしています:
ansible-playbook -v -i "localhost," -c local serverSetup.yml

次のエラーが発生しました。

ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/root/ansible/playbooks/serverSetup.yml': line 21, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  tasks:
    - name: add epel repo
      ^ here

私の質問:
1. epelReleaseMajorVersionなどの変数を正しく使用していますか?
2. このエラーを解決するには?ドキュメントを見てみましたが、例があまりないようです。

ベストアンサー1

よりAnsible yum_repository_module ドキュメント

あなたのコードは

- hosts: all

  # define variables.
  vars:
    epelReleaseMajorVersion: 7
    epelReleaseMinorVersion: 8

  tasks:
    - name: add epel repo
      yum_repository:
        name: epel_repo
        description: EPEL YUM repo
        baseurl:  http://dl.fedoraproject.org/pub/epel/{{epelReleaseMajorVersion}}/x86_64/

だからモジュール名を間違って入力しました。 Baseurlが間違っています。変数参照エラーです。 ansible モジュールにはyum_repository次のパラメータはありません。tags

おすすめ記事