4. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
agenda
Solaris でもインフラ CI し
たい
1.
Solaris Zone2.
Puppet3.
Serverspec4.
Solaris で CI5.
6. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
インフラ CI
Serverspec がリリ`スされて
からインフラの CI が}
?
Puppet や Chef などの撹砿
尖ソフトウェアでサ`バをB
し、Serverspec でテスト
?
CI のためのh廠を喘吭する圭
隈として Vagrant や Docker
がよく聞われている
?
7. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris で CI
Vagrant で Solaris の VM を
喘吭することはできるが、
Solaris だけで]じたい
?
Solaris では Docker が聞えな
い
Solaris でも Docker に鬉垢襪
いうはある
https://www.oracle.com/corporate/
pressrelease/docker-gets-in-the-
zone-with-oracle-solaris-073015.html
?
?
?
8. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris で CI
Solaris には Zone があるんだ
し、Zone を聞いたい
?
Vagrant や Docker のような湖
じで、Zone をQう圭隈が駅勣
?
9. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
とりあえずの圭隈
Docker や Vagrant 議なものを
聞わない
?
Bgみの Zone にして、
Puppet などをg佩し
Serverspec でテスト
仟、劉h廠にするg佩をテストできない
返できしが駅勣?
?
?
10. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
まとめ
Zone を聞いたい?
CI のたびに、仟、劉h廠を喘
吭したい
?
Vagrant や Docker のような湖
じで Zone をQうしくみが圀し
い
?
13. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone の古勣
Solaris 10 參週2005 定??
揖じカ`ネルで}方のシステム
を嘛
光Nリソ`スの蛍x?崙?
?
しくはm鍋さんの OSC 2015 Tokyo/
Spring のY創を歌孚
http://www.slideshare.net/
satorumiyazaki/solaris-osc-
tokyo2015springzone
?
?
14. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone のNbrand
Solaris 11.2 における Zone のNbrand
solaris
糞弔 Zone
solaris10
Solaris 10 を咾す Zone
solaris-kz
ホストとはなるバ`ジョンのカ`ネルを咾
す Zone
15. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Immutable Zone
file-mac-profile のO協で zone を read only
に
strict
iみ函り喘?
?
fixed-configuration
/var 參和はきzみ辛?
?
flexible-configuration
/etc と /var 參和はきzみ辛?
?
none
iみき辛?
?
16. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Immutable Zone
$ touch hoge
touch: cannot create hoge: Read-only file system
zoneadm apply で郡啌音辛?
strict ではきzみできないの
で、軟rにログがけること
を_Jするサ`ビスは軟咾任
ない
?
24. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone の撹を局す
# zonecfg -z testzone1 export -f testzone1.zonecfg
# zonecfg -z testzone2 create -f testzone1.zonecfg
create rに '-f' でファイルを局すことができる?
kernel zone の keysource リソ`スの export
には慙泙駅勣
?
25. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
AI マニフェストを峺協する
AI マニフェスト
AI (Automated Installer) が歌孚するファイル?
/usr/share/auto_install/manifest/
zone_default.xml
?
zpool/zfs/be/facet/package などをO協辛嬬?
?
Zone のインスト`ルrに AI がg佩されます?
26. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
AI マニフェストを峺協する
# zoneadm -z testzone install -m testzone_manifest.xml
zoneadm install rに '-m' で AI マニフェスト
を局すことができる
?
30. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Zone Bまとめ
Solaris 11.2 で聞える Zone は 3 N
solaris/solaris10/solaris-kz?
?
file-mac-profile で zone 坪でのiみきを
崙囮
?
Zone Brに局せるO協は局しておくと宴旋
Zone の撹?
AI マニフェスト?
SC プロファイル?
?
Zone の clone は宴旋?
42. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec 古勣
http://serverspec.org/?
m和oさんによる、サ`バ
撹のテストツ`ル
?
RSpec ベ`ス?
SSH / Docker API / WinRM な
どをU喇してテストをg佩
?
43. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec の Solaris 11
ほぼ、となかがいています?
となかが聞う譴砲いては
}なく咾い討い泙
?
Solaris 10 でもある殻業は
くはずです
?
44. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris っぽいテスト 1
describe service('apache22') do
it { should be_enabled }
it { should be_running }
its(:property) { should include('httpd/server_type' => 'worker') }
its(:property) { should include('httpd/enable_64bit' => 'true') }
end
45. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Solaris っぽいテスト 2
describe zfs('rpool') do
it { should exist }
its(:property) { should include('mounted' => 'yes') }
end
48. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Advanced Tips
http://serverspec.org/advanced_tips.html?
gHに聞っていくには、serverspec-init で伏
撹される Rakefile や spec_helpler のまま
ではつらい
How to use host specific properties?
How to share Serverspec tests among
hosts
?
How to use Serverspec tests as shared
behaviors
?
?
49. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
Serverspec まとめ
Serverspec サ`バ撹のテス
トツ`ル
?
Solaris にも?
Rakefile や spec_helper.rb
はきQえ容X
?
Advanced Tips に朕を宥す?
53. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
}1: Solarish廠の喘吭
Vagrant で Solaris の VM を喘吭する?
Solaris 貧で Zone を喘吭する?
Solaris 貧で Kernel Zone を喘吭する?
SPARC 貧で LDOM を喘吭する?
54. Solaris ZoneとPuppet、ServerspecでインフラCI - OSC 2015 Tokyo/Fall Powered by Rabbit 2.1.8
}2: Zoneのあつかい
Zone のB?
Zone 坪で Puppet のg佩?
Zone にして Serverspec の
g佩
?
Zone の篤?