😫

(Mac) ansible-galaxyのroleがインストールできないエラー対処法

2 min read

TrellisというWordPress仮想化環境があって、Vagrantでサーバーを丸ごと仮想化して開発します。そこではAnsibleを使って環境構築をしているんですが、以下のエラーが発生して困っていました。

エラー

ERROR! the role 'ntp' was not found in /home/vagrant/trellis/roles:/home/vagrant/trellis/vendor/roles:/home/vagrant/trellis

The error appears to be in '/home/vagrant/trellis/dev.yml': line 18, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

    - { role: ferm, tags: [ferm] }
    - { role: ntp, tags: [ntp] }
      ^ here
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
exit status 1

roleのうちntpがインストールできていないんです。

https://discourse.roots.io/t/error-the-role-ntp-was-not-found/6260

当然ロールをインストールし直すことになります。

macOSでAnsible Galaxyを使うまで

Ansibleはpipでインストールできます。

$ pip install --user ansible

パスの直し方

ansible-galaxyコマンドが使えなかったので、パスを通します。

$ python --version
# Python 3.9.6

3.9.6がインストールされてるので、

$ export PATH="/Users/sasigume/Library/Python/3.9/bin:$PATH"

これでパスが通ります。

roleをインストールする

galaxy.ymlのあるディレクトリで、

$ ansible-galaxy install -r galaxy.yml  

これを実行します。

[WARNING]: - composer was NOT installed successfully: Unknown error when attempting to call Galaxy at 'https://galaxy.ansible.com/api/': ~/.netrc access
too permissive: access permissions must restrict access to only the owner (/Users/sasigume/.netrc, line 3)

ntpだけでなくcomposerもできていないみたいです。原因は~/.netrcのパーミッションでした。

$ chmod 600 ~/.netrc

これでインストールできるはずです。

Starting galaxy role install process
- downloading role 'composer', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-composer/archive/1.9.0.tar.gz
- extracting composer to /Users/sasigume/GitHub/sasigume/napoan.com/trellis/vendor/roles/composer
- composer (1.9.0) was installed successfully
- downloading role 'ntp', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-ntp/archive/2.2.0.tar.gz
- extracting ntp to /Users/sasigume/GitHub/sasigume/napoan.com/trellis/vendor/roles/ntp
- ntp (2.2.0) was installed successfully

こんな感じでインストールできました。

GitHubで編集を提案

Discussion

ログインするとコメントできます