0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Chef v13でtimezone-iiを使う(なるべく使わない方が良い)

Last updated at Posted at 2017-09-11

前任者から引き継いだ開発環境(Vagrant + Chef)が起動できなかったのでメモ。
今更感がすごい気がしますが。。

実施環境

  • OS: macOS Sierra (10.12.6)
  • Vagrant: 1.9.8
  • Virtualbox: 5.1.26 r117224
  • Chef Client: 13.3.42
  • Ruby: 2.4.1p111
  • Box: ubuntu/trusty64

エラー

NoMethodError
-------------
undefined method `tz=' for #<Chef::Node...>

原因

timezone-iiがハッシュでドット記法を使っているため。

対応

1. timezone-iiを使わない(推奨)

プロジェクト自体が死んでいるようなので、そもそも使わない方が良い。
PRはたくさん出ているが全くマージされていない(後述の修正を含むPRも出ている)。

2. ドット記法を修正する

こんな感じでcookbookを編集する。

attributes/default.rb
// 修正前
default.tz = value_for_platform_family(
  〜中略〜
)

// 修正後
default['tz'] = value_for_platform_family(
  〜中略〜
)

一括置換
Atomとか: ([a-zA-Z]).([a-zA-Z_]+) を $1['$2']
Vim: %s/(\a).([a-zA-Z_]+)/\1['\2']/g

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?