手元の mac に brew でインストールした terraform ですが、
brew upgrade
でなかなか降ってこないので手動でバージョンアップしてみます。
手動バージョンアップと言ってもシンボリックリンクの書き換えしただけなので、メモとして残します。
私の環境では terraform は以下の様にインストールされています。
$ ls -l /usr/local/bin/terraform*
lrwxr-xr-x 1 hoge hage 39 Apr 27 14:21 /usr/local/bin/terraform -> ../Cellar/terraform/0.4.2/bin/terraform
lrwxr-xr-x 1 hoge hage 54 Apr 27 14:21 /usr/local/bin/terraform-provider-atlas -> ../Cellar/terraform/0.4.2/bin/terraform-provider-atlas
lrwxr-xr-x 1 hoge hage 52 Apr 27 14:21 /usr/local/bin/terraform-provider-aws -> ../Cellar/terraform/0.4.2/bin/terraform-provider-aws
lrwxr-xr-x 1 hoge hage 59 Apr 27 14:21 /usr/local/bin/terraform-provider-cloudflare -> ../Cellar/terraform/0.4.2/bin/terraform-provider-cloudflare
以下略
あまり詳しくないのですが、/usr/local/bin
配下はシンボリックリンクが多いのですね。
最新版の terraform を公式からダウンロードします。今回は 0.5.3 です。
[https://dl.bintray.com/mitchellh/terraform/terraform_0.5.3_darwin_amd64.zip]
zip を解凍するとバイナリが詰まっています。
~/Downloads$ ll terraform*
-rwxr-xr-x@ 1 hoge hage 15202736 Jun 2 03:36 terraform
-rwxr-xr-x@ 1 hoge hage 10354576 Jun 2 03:36 terraform-provider-atlas
-rwxr-xr-x@ 1 hoge hage 19750112 Jun 2 03:36 terraform-provider-aws
-rwxr-xr-x@ 1 hoge hage 10258784 Jun 2 03:36 terraform-provider-cloudflare
以下略
これらを移動します。
~/Downloads$ mkdir -p /usr/local/Cellar/terraform/0.5.3/bin
~/Downloads$ cp terraform* /usr/local/Cellar/terraform/0.5.3/bin
シンボリックリンクを張り替えます。
#!/bin/bash
cd /usr/local/bin
ls -l terraform* | while read i
do
bin=`echo $i | awk {'print $9'}`
new_link=`echo $i | awk {'print $11'} | sed 's/0.4.2/0.5.3/'`
ln -sf ${new_link} ${bin}
done
0.4.2 から 0.5.3 に変わりました。
$ ls -l /usr/local/bin/terraform*
lrwxr-xr-x 1 hoge hage 39 Jun 29 16:45 terraform -> ../Cellar/terraform/0.5.3/bin/terraform
lrwxr-xr-x 1 hoge hage 54 Jun 29 16:45 terraform-provider-atlas -> ../Cellar/terraform/0.5.3/bin/terraform-provider-atlas
lrwxr-xr-x 1 hoge hage 52 Jun 29 16:45 terraform-provider-aws -> ../Cellar/terraform/0.5.3/bin/terraform-provider-aws
lrwxr-xr-x 1 hoge hage 59 Jun 29 16:45 terraform-provider-cloudflare -> ../Cellar/terraform/0.5.3/bin/terraform-provider-cloudflare
以下略
以上でバージョンアップ完了です。
その後 plan
apply
destroy
や、バージョンアップによって新規追加されたリソースも問題なく動作しています。
というか、そもそも実行環境を vagrant とか docker とかを使えばいいのではと思いますが、手が回らず。。
route53 の private hosted zone と、elb の connection draining がサポートされたのがとても嬉しいです。