
私は利用可能なリポジトリのリストに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