Puppet Camp Tokyo 2014: Puppet Is Most of Your Documentation
Ikke test Puppet-koden din
-
Upload
jan-ivar-beddari -
Category
Technology
-
view
92 -
download
2
Transcript of Ikke test Puppet-koden din
Alle kan skrive tester medserverspec
Ops? Det er bare bash med en wrapper rundt!
Dev? Det er rspec, du kan jo det/lærer det lett!
Vi vil se kode![root@localhost serverspec-eksempel]# tree.├── Rakefile└── spec ├── centos64 │ └── httpd_spec.rb └── spec_helper.rb
Ideer til implementasjon ...tenkehatten på!
Testene bør skrives av andreVi kan hente data fra ikke-kodet-infrastruktur, typiskstorage, nettverkBenytte testene i hele kjeden helt fra dev til prodTesting blir en form for overvåkning? WIN!
.. also, since I installed mcollective, I lost 5kg, I can see in the dark and cook without using my hands
require 'mspectator'
describe "apache::server" do it { should find_nodes(10).or_less.with_agent('spec') } it { should have_certificate.signed } it { should pass_puppet_spec }
context "when on Debian", :facts => [:operatingsystem => "Debian"] do it { should find_nodes(5).or_more } it { should have_service('apache2').with( :ensure => 'running', :enable => 'true' ) } it { should have_package('apache2') } it { should have_user('www-data') } endend
Arkitekturen er mer komplisert
En må naturlig nok ha mcollective ...Testene må deployes til nodene som skal kjøre deTaper noe av elegansen, vinner i utbytte!
Mange av de samme tankene
Testing av systemer og gjerne større sett av noder
sammen
SSH som default-transport
Vurderer å ta i bruk serverspec som lib
Tekster
The Clean Coder: A Code of Conduct for Professional
Programmers ( )
: Promises, Lies and Dry-Run Mode ( )
: Testing your infrastructure ( )
: Automated infrastructure testing ( )
: Puppet at GitHub ( | )
: Puppet module testing ( )
Kode
Tools for writing fast unit tests for puppet
Framework for running integration tests in
an isolated environment
Book
Sean OMeara Blog
Andrew Crump Blog
Ranjib Dey Slides
Will Farrington Video Slides
Jan Vansteenkiste Slides
Fizzgig
Test Kitchen