Surviving successful Bosh adoption
Chris Hedley of CloudCredo
Daniel Jones of EngineerBetter
“the survivor refuses to accept that something is true or real”
“the survivor imagines a false, preferable reality”
Remember that Bosh gives you:
“the survivor becomes frustrated”
“ Confusion leads to anger.
Anger leads to hate.
Hate leads to production downtime. ”
Yoda - The Phantom Manifest
Bosh is not a power drill manufacturer
Bosh is not a basketball player
Bosh is not BOSH
Jobs are made up of templates
One job's templates are in /var/vcap/jobs
packaging spec != job spec != rspec
$ bosh target
[WARNING] Loading the cli took 12.4 seconds, consider cleaning your
gem environment
$ bosh ssh
…
Starting interactive shell on job ha_proxy_z1/0
No RSA host key is known for 10.244.0.34 and you have requested strict
checking.
Host key verification failed.
Started prepare for update
Started prepare for update > Delete stemcell. Done (00:00:26)
Started deploy micro bosh
Started deploy micro bosh > Unpacking stemcell. Done (00:00:00)
Started deploy micro bosh > Uploading stemcell. Done (00:00:00)
Started deploy micro bosh > Creating VM from ami-e1577396 light. Done (00:00:33)
Started deploy micro bosh > Waiting for the agent
Some time later...
Started prepare for update
Started prepare for update > Delete stemcell. Done (00:00:26)
Started deploy micro bosh
Started deploy micro bosh > Unpacking stemcell. Done (00:00:00)
Started deploy micro bosh > Uploading stemcell. Done (00:00:00)
Started deploy micro bosh > Creating VM from ami-e1577396 light. Done (00:00:33)
Started deploy micro bosh > Waiting for the agent
Later still...
Started prepare for update
Started prepare for update > Delete stemcell. Done (00:00:26)
Started deploy micro bosh
Started deploy micro bosh > Unpacking stemcell. Done (00:00:00)
Started deploy micro bosh > Uploading stemcell. Done (00:00:00)
Started deploy micro bosh > Creating VM from ami-e1577396 light. Done (00:00:33)
Started deploy micro bosh > Waiting for the agent
log writing failed. can't be called from trap context
/Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/buffered_io.rb:65:in `recv': Connection reset by peer - recvfrom(2) (Errno::ECONNRESET)
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/buffered_io.rb:65:in `fill'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/packet_stream.rb:104:in `block in next_packet'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/packet_stream.rb:95:in `loop'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/packet_stream.rb:95:in `next_packet'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/session.rb:184:in `block in poll_message'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/session.rb:179:in `loop'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/session.rb:179:in `poll_message'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/transport/session.rb:164:in `next_message'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/session.rb:95:in `block in next_message'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/session.rb:94:in `loop'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/session.rb:94:in `next_message'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/methods/publickey.rb:53:in `authenticate_with'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/methods/publickey.rb:20:in `block in authenticate'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/key_manager.rb:122:in `block in each_identity'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/key_manager.rb:119:in `each'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/key_manager.rb:119:in `each_identity'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/methods/publickey.rb:19:in `authenticate'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/session.rb:79:in `block in authenticate'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/session.rb:66:in `each'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh/authentication/session.rb:66:in `authenticate'
from /Users/deejay/.gem/ruby/2.1.3/gems/net-ssh-2.10.0.beta1/lib/net/ssh.rb:226:in `start'
$ bosh deploy
…
Deploying
---------
Are you sure you want to deploy? (type 'yes' to continue): y
Deployment canceled
Deployment canceled
via @xoebus
“the survivor seeks compromise”
“the survivor believes to have committed sin”
“the survivor has feelings of severe despondency and hopelessness”
“a calm, retrospective view for the survivor, and a stable set of emotions”
You now have:
“the survivor develops a positive attitude about the future”
Releases, stemcells, tracker link and documentation all in one place
pivotaltracker.com/n/projects/956238
cloudcredo.com
@ChristHedley
engineerbetter.com
@EngineerBetter