4.0 KiB
4.0 KiB
title | author | date | url | wordtwit_posted_tweets | wordtwit_post_info | tmac_last_id | categories | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
ServerspecでOS種別に応じてテストを実行する | kazu634 | 2014-12-17 | /2014/12/17/testing-based-on-os-type-using-serverspec/ |
|
|
|
|
テスト対象のサーバーでohai
が導入されていることが前提ですが、以下のようにして実現できましたのでメモ:
require 'serverspec'
require 'json'
set :backend, :exec
# Ubuntu 12.04 only.
# Check whether `Rabbitmq` allows ssl poodle attack:
platform_version = JSON.load(`ohai`)['platform_version']
if platform_version == "12.04"
describe file('/etc/rabbitmq/rabbitmq.config') do
its(:content) { should match /ssl_allow_poodle_attack/ }
end
end
ohai
はChef
を導入している環境であれば、まず間違いなく利用できるはず。パスも通っているはずです。
[2014/12/20追記]
mizzyさんのコメントにある通り、serverspec
が提供するハッシュを利用して同じことが出来ました。このような感じです:
require 'serverspec'
set :backend, :exec
# Ubuntu 12.04 only.
# Check whether `Rabbitmq` allows ssl poodle attack:
if os[:release] == '12.04' and os[:family] == 'ubuntu'
describe file('/etc/rabbitmq/rabbitmq.config') do
its(:content) { should match /ssl_allow_poodle_attack/ }
end
end
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)
posted with amazlet at 14.12.17
吉羽 龍太郎 安藤 祐介 伊藤 直也 菅井 祐太朗 並河 祐貴
技術評論社
売り上げランキング: 30,889
技術評論社
売り上げランキング: 30,889