kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

PPP3: Redmineのインストール(続き2)

たぶんここで苦労するのはおかしい
と思って読み直すと

NOTE
Ansibleのバージョンは2.4.2を前提としています。

これなんじゃないか
わざわざ書いてるのは、ここがつまづきどころだから?

$ ansible --version
ansible 2.7.10

ちょっと仮想マシン作り直してやってみよう
パッケージのバージョン指定はこうか

vagrant@vagrant:~$ sudo pip2 install ansible==2.4.2
:
Collecting ansible==2.4.2
:
  Running setup.py install for ansible ... done
Successfully installed MarkupSafe-1.1.1 PyYAML-5.1 ansible-2.4.2.0 asn1crypto-0.24.0 bcrypt-3.1.6 cffi-1.12.3 cryptography-2.6.1 enum34-1.1.6 ipaddress-1.0.22 jinja2-2.10.1 paramiko-2.4.2 pyasn1-0.4.5 pycparser-2.19 pynacl-1.3.0 six-1.12.0
$ pip2 show ansible
---
Metadata-Version: 1.1
Name: ansible
Version: 2.4.2.0
Summary: Radically simple IT automation
:

さてどうだ

$ ansible-playbook -K -i hosts site.yml
:
TASK [redmine : gemsパッケージのインストール] 
fatal: [localhost]: FAILED! => {...}
        to retry, use: --limit @/home/vagrant/redmine-ubuntu-ansible/site.retry
:
localhost                  : ok=23   changed=18   unreachable=0    failed=1

変わらんか
そうか

結局bundlerをインストールすると2.0.1が入ってしまうのが問題なんだな
Ansibleのファイルでも書き換えてみる?

bundlerをインストールしているのは
roles/ruby/tasks/main.ymlというファイルっぽい
バージョン指定を入れてみる

- name: bundlerのインストール
  become: yes
  gem:
    name=bundler
    user_install=no
    version=1.17.3
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"

冪等冪等って言うけどこのままもう1回やったらうまくいくだろうか
bundlerを消すくらいやっとく必要があるだろうか
まずはそのままやってみる
だめだった

bundlerアンインストールしてからやろう

$ sudo gem uninstall bundler

Select gem to uninstall:
 1. bundler-1.17.3
 2. bundler-2.0.1
 3. All versions
>

ん、こんなんだっけ?
1.17.3も入ってるの?
2.0.1だけ消して進む

$ ansible-playbook -K -i hosts site.yml
:
ok: [localhost] => {
    "msg": "インストールが完了しました。 http://10.0.2.15/redmine/  にアクセスしてください。"
}
:
localhost                  : ok=31   changed=11   unreachable=0    failed=0

できた

どうせ直すならbundler 2.0.1に対応できるように周辺を合わせたほうが
いいんだろうけどそこまでしなくていいかな

https://github.com/farend/redmine-ubuntu-ansible を見てみると
最終更新が1年前だから、その間にbundlerがメジャーバージョンアップしたって
ことかな

Bundler: Announcing Bundler 2.0

そうだった
本が出たのも1年前だし