ansible で特定の yum ができなくなった

いつもの通り環境構築をしていたら、いきなり SSL エラーが。

$ ansible-playbook xxx.yml
...
TASK [php : remi-release  のインストール] *********************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failure downloading https://rpms.remirepo.net/enterprise/remi-release-7.rpm, Request failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:618)>"

該当箇所は以下の通りです。

$ sed -n 25,29p roles/php/tasks/main.yml
- name: remi-release  のインストール
  yum:
    name: "{{ PHP_REMI_REPO_URL }}"
  become: yes

$ grep PHP_REMI_REPO_URL group_vars/all
PHP_REMI_REPO_URL:  'https://rpms.remirepo.net/enterprise/remi-release-7.rpm'

“ansible yum PHP_REMI_REPO_URL ” あたりでググるも、有用な情報は見つからず。。
試しにコマンドラインから実行しようとすると、なぜかうまくいく。あれ?

$ sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Loaded plugins: fastestmirror
remi-release-7.rpm                                       |  23 kB     00:00
Examining /var/tmp/yum-root-Xos8aP/remi-release-7.rpm: remi-release-7.9-1.el7.remi.noarch
Marking /var/tmp/yum-root-Xos8aP/remi-release-7.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package remi-release.noarch 0:7.9-1.el7.remi will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch        Version               Repository            Size
================================================================================
Installing:
 remi-release      noarch      7.9-1.el7.remi        /remi-release-7       31 k

Transaction Summary
================================================================================
Install  1 Package

Total size: 31 k
Installed size: 31 k
Is this ok [y/d/N]: ここで [Enter] で終了。

Ansible: Setup webtatic yum source for php-fpm failed
の一番下にヒントがありました。

Please, try to install the ntp and ntpdate packages, then synchronize your time.

環境は Vagrant です。まさかと思い、date コマンドで確認すると、思い切り時刻がずれてました(><)。

/etc/chrony.conf に Vagrant の母艦(Windows)のIPアドレスを不用意に入れてたり、その状態で vagrant snapshot back とかやった場合のあわせ技だったのかもしれません。

/etc/chrony.conf から余計な server 設定を削除して chronyd を再起動すると、しばらくして時刻が同期され、無事に playbook が流れるようになりました。

時刻がずれていると、思いも寄らないところでエラーになったりするので皆さんも気をつけてください。

タイトルとURLをコピーしました