bosh-bootstrap 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +4 -2
 - data/ChangeLog.md +2 -1
 - data/README.md +12 -10
 - data/TODO.md +2 -0
 - data/bin/bosh-bootstrap +8 -0
 - data/bosh-bootstrap.gemspec +3 -2
 - data/lib/bosh-bootstrap/thor_cli.rb +28 -0
 - data/lib/bosh-bootstrap/version.rb +1 -1
 - data/spec/spec_helper.rb +8 -2
 - data/spec/unit/cli/bootstrap_spec.rb +40 -32
 - data/spec/unit/commands/deploy_spec.rb +0 -2
 - data/spec/unit/key_pair_spec.rb +2 -0
 - data/spec/unit/microbosh_providers/aws_spec.rb +1 -1
 - data/spec/unit/microbosh_providers/openstack_spec.rb +1 -1
 - data/spec/unit/microbosh_providers/vsphere_spec.rb +1 -1
 - data/spec/unit/network_providers/aws_spec.rb +1 -0
 - data/spec/unit/network_spec.rb +2 -0
 - metadata +33 -14
 
    
        data/.travis.yml
    CHANGED
    
    | 
         @@ -2,8 +2,8 @@ language: ruby 
     | 
|
| 
       2 
2 
     | 
    
         
             
            script: bundle exec rake spec:$SUITE
         
     | 
| 
       3 
3 
     | 
    
         
             
            rvm:
         
     | 
| 
       4 
4 
     | 
    
         
             
              - ruby-1.9.3
         
     | 
| 
       5 
     | 
    
         
            -
               
     | 
| 
       6 
     | 
    
         
            -
               
     | 
| 
      
 5 
     | 
    
         
            +
              - rbx-19mode
         
     | 
| 
      
 6 
     | 
    
         
            +
              - ruby-2.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            notifications:
         
     | 
| 
       8 
8 
     | 
    
         
             
              email:
         
     | 
| 
       9 
9 
     | 
    
         
             
                recipients:
         
     | 
| 
         @@ -21,5 +21,7 @@ env: 
     | 
|
| 
       21 
21 
     | 
    
         
             
                - secure: "OS3pnXOAVRP0QPDl/Nn/0iBPZbrnn9irFYwEbMJ2fGPsV00u4IYDwoIN5Gzb\nX+cXyiPZB0jdQlbiCMaQEYjYig3fgnDhiLj/MnxkVYtILm+0uPSrX2Zf7jvR\nmxCT5jfTSZoPXQeNi9h8rEqvaqKv4z930xp/Z0QNoZLPWdwY5wk="
         
     | 
| 
       22 
22 
     | 
    
         
             
            matrix:
         
     | 
| 
       23 
23 
     | 
    
         
             
              allow_failures:
         
     | 
| 
      
 24 
     | 
    
         
            +
                # - rvm: rbx-19mode
         
     | 
| 
      
 25 
     | 
    
         
            +
                # - rvm: ruby-2.0.0
         
     | 
| 
       24 
26 
     | 
    
         
             
                - env: SUITE=integration:aws:basic
         
     | 
| 
       25 
27 
     | 
    
         | 
    
        data/ChangeLog.md
    CHANGED
    
    | 
         @@ -3,7 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            `bosh-bootstrap` is a command line tool that you can run on your laptop and automatically get a microbosh (and an inception VM) deployed on AWS (with OpenStack & vSphere coming soon).
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
                gem install bosh-bootstrap
         
     | 
| 
       6 
     | 
    
         
            -
                bosh 
     | 
| 
      
 6 
     | 
    
         
            +
                bosh-bootstrap deploy
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            ## v0.11
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
         @@ -17,6 +17,7 @@ 
     | 
|
| 
       17 
17 
     | 
    
         
             
            * CLI via bosh plugin (`bosh bootstrap`) rather than a stand alone CLI (`bosh-bootstrap`)
         
     | 
| 
       18 
18 
     | 
    
         
             
            * Added `ssh` action to ssh into the microbosh
         
     | 
| 
       19 
19 
     | 
    
         
             
            * Added `delete` actions to delete the microbosh (but not the IP address and security groups)
         
     | 
| 
      
 20 
     | 
    
         
            +
            * Add back `bosh-bootstrap` CLI & remove bosh_cli dependency (v0.11.1)
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
            ## v0.10
         
     | 
| 
       22 
23 
     | 
    
         | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -13,7 +13,7 @@ Bosh Bootstrap currently supports AWS, with OpenStack and vSphere coming soon. T 
     | 
|
| 
       13 
13 
     | 
    
         
             
            It also performs the task as fast as it is possible. On AWS, if a public AMI has been published for your requested region then it will use that (currently: us-east-1/Virginia).
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            ```
         
     | 
| 
       16 
     | 
    
         
            -
            $ bosh 
     | 
| 
      
 16 
     | 
    
         
            +
            $ bosh-bootstrap deploy
         
     | 
| 
       17 
17 
     | 
    
         
             
            Auto-detected infrastructure API credentials at ~/.fog (override with $FOG)
         
     | 
| 
       18 
18 
     | 
    
         
             
            1. AWS (default)
         
     | 
| 
       19 
19 
     | 
    
         
             
            2. AWS (bosh)
         
     | 
| 
         @@ -46,7 +46,7 @@ Confirming: Using address 107.21.194.123 
     | 
|
| 
       46 
46 
     | 
    
         
             
            Generating ~/.bosh-bootstrap/universes/aws-us-east-1/micro_bosh.yml...
         
     | 
| 
       47 
47 
     | 
    
         
             
            Deploying micro bosh server...
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            $ bosh 
     | 
| 
      
 49 
     | 
    
         
            +
            $ bosh-bootstrap ssh
         
     | 
| 
       50 
50 
     | 
    
         
             
            SSH to micro bosh server...
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
            $ bosh-bootstrap delete
         
     | 
| 
         @@ -71,12 +71,14 @@ $ gem install bosh-bootstrap 
     | 
|
| 
       71 
71 
     | 
    
         | 
| 
       72 
72 
     | 
    
         
             
            ## Usage
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
      
 74 
     | 
    
         
            +
            Bosh Bootstrap is available primarily as a standalone CLI `bosh-bootstrap`. If you have the bosh CLI installed, then it is also available as a bosh plugin via `bosh bootstrap`. This readme assumes the former usage.
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
       74 
76 
     | 
    
         
             
            ### First time usage
         
     | 
| 
       75 
77 
     | 
    
         | 
| 
       76 
78 
     | 
    
         
             
            The first time you use `bosh bootstrap` it will create everything necessary, including a public IP address, security groups, a private key, and the all-important micro bosh that you want. The example output below includes user prompts.
         
     | 
| 
       77 
79 
     | 
    
         | 
| 
       78 
80 
     | 
    
         
             
            ```
         
     | 
| 
       79 
     | 
    
         
            -
            $ bosh 
     | 
| 
      
 81 
     | 
    
         
            +
            $ bosh-bootstrap deploy
         
     | 
| 
       80 
82 
     | 
    
         
             
            Auto-detected infrastructure API credentials at ~/.fog (override with $FOG)
         
     | 
| 
       81 
83 
     | 
    
         
             
            1. AWS (default)
         
     | 
| 
       82 
84 
     | 
    
         
             
            2. AWS (bosh)
         
     | 
| 
         @@ -161,22 +163,22 @@ The `deploy` command can be re-run and it will not prompt again for inputs. It a 
     | 
|
| 
       161 
163 
     | 
    
         
             
            You can open an SSH shell to your micro bosh:
         
     | 
| 
       162 
164 
     | 
    
         | 
| 
       163 
165 
     | 
    
         
             
            ```
         
     | 
| 
       164 
     | 
    
         
            -
            $ bosh 
     | 
| 
      
 166 
     | 
    
         
            +
            $ bosh-bootstrap ssh
         
     | 
| 
       165 
167 
     | 
    
         
             
            ```
         
     | 
| 
       166 
168 
     | 
    
         | 
| 
       167 
169 
     | 
    
         
             
            ## Deleting micro bosh
         
     | 
| 
       168 
170 
     | 
    
         | 
| 
       169 
     | 
    
         
            -
            The `bosh 
     | 
| 
      
 171 
     | 
    
         
            +
            The `bosh-bootstrap delete` command will delete the target micro-bosh.
         
     | 
| 
       170 
172 
     | 
    
         | 
| 
       171 
173 
     | 
    
         
             
            ```
         
     | 
| 
       172 
     | 
    
         
            -
            $ bosh 
     | 
| 
      
 174 
     | 
    
         
            +
            $ bosh-bootstrap delete
         
     | 
| 
       173 
175 
     | 
    
         
             
            ```
         
     | 
| 
       174 
176 
     | 
    
         | 
| 
       175 
177 
     | 
    
         
             
            ## Deep dive into the Bosh Bootstrap deploy command
         
     | 
| 
       176 
178 
     | 
    
         | 
| 
       177 
     | 
    
         
            -
            What is actually happening when you run `bosh 
     | 
| 
      
 179 
     | 
    
         
            +
            What is actually happening when you run `bosh-bootstrap deploy`?
         
     | 
| 
       178 
180 
     | 
    
         | 
| 
       179 
     | 
    
         
            -
            At the heart of `bosh 
     | 
| 
      
 181 
     | 
    
         
            +
            At the heart of `bosh-bootstrap deploy` is the execution of the micro bosh deployer, a bosh plugin provided to bootstrap a single VM with all the parts of bosh running on it. If you ran this command yourself you would run:
         
     | 
| 
       180 
182 
     | 
    
         | 
| 
       181 
183 
     | 
    
         
             
            ```
         
     | 
| 
       182 
184 
     | 
    
         
             
            $ gem install bosh_cli_plugin_micro -s https://s3.amazonaws.com/bosh-jenkins-gems/
         
     | 
| 
         @@ -190,7 +192,7 @@ Unfortunately for this simple scenario, there are many little prerequisite steps 
     | 
|
| 
       190 
192 
     | 
    
         
             
            * publicly available stemcells
         
     | 
| 
       191 
193 
     | 
    
         
             
            * custom stemcells generated from the bosh repository.
         
     | 
| 
       192 
194 
     | 
    
         | 
| 
       193 
     | 
    
         
            -
            To understand exactly what the `bosh 
     | 
| 
      
 195 
     | 
    
         
            +
            To understand exactly what the `bosh-bootstrap deploy` command is doing, let's start with what the running parts of bosh are and how `bosh micro deploy` deploys them.
         
     | 
| 
       194 
196 
     | 
    
         | 
| 
       195 
197 
     | 
    
         
             
            ### What is in bosh?
         
     | 
| 
       196 
198 
     | 
    
         | 
| 
         @@ -268,7 +270,7 @@ One of the feature of the Bosh Bootstrap is that you can run it from your local 
     | 
|
| 
       268 
270 
     | 
    
         | 
| 
       269 
271 
     | 
    
         
             
            ### When do I need an inception server?
         
     | 
| 
       270 
272 
     | 
    
         | 
| 
       271 
     | 
    
         
            -
            There are occasions when it is preferable or required to provision a initial server (called an [inception server](https://github.com/drnic/inception-server)) and to run Bosh Bootstrap (`bosh 
     | 
| 
      
 273 
     | 
    
         
            +
            There are occasions when it is preferable or required to provision a initial server (called an [inception server](https://github.com/drnic/inception-server)) and to run Bosh Bootstrap (`bosh-bootstrap deploy`) within that.
         
     | 
| 
       272 
274 
     | 
    
         | 
| 
       273 
275 
     | 
    
         
             
            * Using a AWS region other than us-east-1 (you need to be in that region to create an AMI)
         
     | 
| 
       274 
276 
     | 
    
         
             
            * You want much faster internet between your terminal (an ssh session into your inception server) and your micro bosh and deployed servers
         
     | 
    
        data/TODO.md
    CHANGED
    
    
    
        data/bin/bosh-bootstrap
    ADDED
    
    
    
        data/bosh-bootstrap.gemspec
    CHANGED
    
    | 
         @@ -22,10 +22,11 @@ EOS 
     | 
|
| 
       22 
22 
     | 
    
         
             
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
       23 
23 
     | 
    
         
             
              gem.require_paths = ["lib"]
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
              gem.add_dependency "cyoi"
         
     | 
| 
      
 25 
     | 
    
         
            +
              gem.add_dependency "cyoi", "~> 0.4"
         
     | 
| 
      
 26 
     | 
    
         
            +
              gem.add_dependency "fog", "~> 1.11"
         
     | 
| 
       26 
27 
     | 
    
         
             
              gem.add_dependency "readwritesettings", "~> 3.0"
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem.add_dependency "thor", "~> 0.18"
         
     | 
| 
       27 
29 
     | 
    
         
             
              gem.add_dependency "redcard"
         
     | 
| 
       28 
     | 
    
         
            -
              gem.add_dependency "bosh_cli"
         
     | 
| 
       29 
30 
     | 
    
         
             
              gem.add_development_dependency "rake"
         
     | 
| 
       30 
31 
     | 
    
         
             
              gem.add_development_dependency "rspec"
         
     | 
| 
       31 
32 
     | 
    
         
             
              gem.add_development_dependency "fakeweb"
         
     | 
| 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "thor"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "bosh-bootstrap"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Bosh::Bootstrap
         
     | 
| 
      
 5 
     | 
    
         
            +
              class ThorCli < Thor
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                desc "deploy", "Configure and bootstrap a micro bosh; or deploy/upgrade existing Micro Bosh"
         
     | 
| 
      
 8 
     | 
    
         
            +
                def deploy
         
     | 
| 
      
 9 
     | 
    
         
            +
                  require "bosh-bootstrap/cli/commands/deploy"
         
     | 
| 
      
 10 
     | 
    
         
            +
                  deploy_cmd = Bosh::Bootstrap::Cli::Commands::Deploy.new
         
     | 
| 
      
 11 
     | 
    
         
            +
                  deploy_cmd.perform
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                desc "ssh", "SSH into micro bosh"
         
     | 
| 
      
 15 
     | 
    
         
            +
                def ssh
         
     | 
| 
      
 16 
     | 
    
         
            +
                  require "bosh-bootstrap/cli/commands/ssh"
         
     | 
| 
      
 17 
     | 
    
         
            +
                  cmd = Bosh::Bootstrap::Cli::Commands::SSH.new
         
     | 
| 
      
 18 
     | 
    
         
            +
                  cmd.perform
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                desc "delete", "Delete existing Micro Bosh (does not delete any bosh deployments running)"
         
     | 
| 
      
 22 
     | 
    
         
            +
                def delete
         
     | 
| 
      
 23 
     | 
    
         
            +
                  require "bosh-bootstrap/cli/commands/delete"
         
     | 
| 
      
 24 
     | 
    
         
            +
                  cmd = Bosh::Bootstrap::Cli::Commands::Delete.new
         
     | 
| 
      
 25 
     | 
    
         
            +
                  cmd.perform
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -9,8 +9,8 @@ Bundler.setup(:default, :test) 
     | 
|
| 
       9 
9 
     | 
    
         
             
            $:.unshift(File.expand_path("../../lib", __FILE__))
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            require "rspec/core"
         
     | 
| 
       12 
     | 
    
         
            -
            require " 
     | 
| 
       13 
     | 
    
         
            -
            require "bosh 
     | 
| 
      
 12 
     | 
    
         
            +
            require "tmpdir"
         
     | 
| 
      
 13 
     | 
    
         
            +
            require "bosh-bootstrap"
         
     | 
| 
       14 
14 
     | 
    
         
             
            require "bosh-bootstrap/cli/helpers"
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
            # for the #sh helper
         
     | 
| 
         @@ -32,6 +32,12 @@ def files_match(filename, expected_filename) 
     | 
|
| 
       32 
32 
     | 
    
         
             
              file.should == expected_file
         
     | 
| 
       33 
33 
     | 
    
         
             
            end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
      
 35 
     | 
    
         
            +
            def yaml_files_match(filename, expected_filename)
         
     | 
| 
      
 36 
     | 
    
         
            +
              yaml = YAML.load_file(filename)
         
     | 
| 
      
 37 
     | 
    
         
            +
              expected_yaml = YAML.load_file(expected_filename)
         
     | 
| 
      
 38 
     | 
    
         
            +
              yaml.should == expected_yaml
         
     | 
| 
      
 39 
     | 
    
         
            +
            end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
       35 
41 
     | 
    
         
             
            def setup_home_dir
         
     | 
| 
       36 
42 
     | 
    
         
             
              home_dir = File.expand_path("../../tmp/home", __FILE__)
         
     | 
| 
       37 
43 
     | 
    
         
             
              FileUtils.rm_rf(home_dir)
         
     | 
| 
         @@ -1,41 +1,49 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Copyright (c) 2012-2013 Stark & Wayne, LLC
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
               
     | 
| 
      
 3 
     | 
    
         
            +
            # By default, this bosh plugin test does not run. To enable it, include the `bosh_cli` gem
         
     | 
| 
      
 4 
     | 
    
         
            +
            # in the Gemfile.
         
     | 
| 
      
 5 
     | 
    
         
            +
            begin
         
     | 
| 
      
 6 
     | 
    
         
            +
              require "cli" # bosh CLI
         
     | 
| 
      
 7 
     | 
    
         
            +
              require "bosh/cli/commands/bootstrap" # "bosh bootstrap COMMAND" commands added to bosh CLI
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
               
     | 
| 
      
 9 
     | 
    
         
            +
              require "bosh-bootstrap/cli/commands/deploy"
         
     | 
| 
      
 10 
     | 
    
         
            +
              require "bosh-bootstrap/cli/commands/delete"
         
     | 
| 
      
 11 
     | 
    
         
            +
              require "bosh-bootstrap/cli/commands/ssh"
         
     | 
| 
      
 12 
     | 
    
         
            +
              describe Bosh::Cli::Command::Bootstrap do
         
     | 
| 
      
 13 
     | 
    
         
            +
                include FileUtils
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
       18 
     | 
    
         
            -
                cli
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
                before do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  FileUtils.mkdir_p(@stemcells_dir = File.join(Dir.mktmpdir, "stemcells"))
         
     | 
| 
      
 17 
     | 
    
         
            +
                  FileUtils.mkdir_p(@cache_dir = File.join(Dir.mktmpdir, "cache"))
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
       20 
19 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 20 
     | 
    
         
            +
                let(:cli) do
         
     | 
| 
      
 21 
     | 
    
         
            +
                  cli = Bosh::Cli::Command::Bootstrap.new(nil)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  cli.add_option(:non_interactive, true)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  cli.add_option(:cache_dir, @cache_dir)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  cli
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
       27 
26 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
      
 27 
     | 
    
         
            +
                it "runs deploy command" do
         
     | 
| 
      
 28 
     | 
    
         
            +
                  cmd = double(Bosh::Bootstrap::Cli::Commands::Deploy)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  cmd.should_receive(:perform)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  Bosh::Bootstrap::Cli::Commands::Deploy.stub(:new).and_return(cmd)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  cli.deploy
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                it "runs delete command" do
         
     | 
| 
      
 35 
     | 
    
         
            +
                  cmd = double(Bosh::Bootstrap::Cli::Commands::Delete)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  cmd.should_receive(:perform)
         
     | 
| 
      
 37 
     | 
    
         
            +
                  Bosh::Bootstrap::Cli::Commands::Delete.stub(:new).and_return(cmd)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  cli.delete
         
     | 
| 
      
 39 
     | 
    
         
            +
                end
         
     | 
| 
       34 
40 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
                it "runs ssh command" do
         
     | 
| 
      
 42 
     | 
    
         
            +
                  cmd = double(Bosh::Bootstrap::Cli::Commands::SSH)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  cmd.should_receive(:perform)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  Bosh::Bootstrap::Cli::Commands::SSH.stub(:new).and_return(cmd)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  cli.ssh
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
       40 
47 
     | 
    
         
             
              end
         
     | 
| 
      
 48 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
       41 
49 
     | 
    
         
             
            end
         
     | 
    
        data/spec/unit/key_pair_spec.rb
    CHANGED
    
    
| 
         @@ -25,7 +25,7 @@ describe Bosh::Bootstrap::MicroboshProviders::AWS do 
     | 
|
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
                subject.create_microbosh_yml(settings)
         
     | 
| 
       27 
27 
     | 
    
         
             
                File.should be_exists(microbosh_yml)
         
     | 
| 
       28 
     | 
    
         
            -
                 
     | 
| 
      
 28 
     | 
    
         
            +
                yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.aws_ec2.yml"))
         
     | 
| 
       29 
29 
     | 
    
         
             
              end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              describe "stemcell" do
         
     | 
| 
         @@ -22,6 +22,6 @@ describe Bosh::Bootstrap::MicroboshProviders::OpenStack do 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                subject.create_microbosh_yml(settings)
         
     | 
| 
       24 
24 
     | 
    
         
             
                File.should be_exists(microbosh_yml)
         
     | 
| 
       25 
     | 
    
         
            -
                 
     | 
| 
      
 25 
     | 
    
         
            +
                yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.openstack.yml"))
         
     | 
| 
       26 
26 
     | 
    
         
             
              end
         
     | 
| 
       27 
27 
     | 
    
         
             
            end
         
     | 
| 
         @@ -37,6 +37,6 @@ describe Bosh::Bootstrap::MicroboshProviders::VSphere do 
     | 
|
| 
       37 
37 
     | 
    
         | 
| 
       38 
38 
     | 
    
         
             
                subject.create_microbosh_yml(settings)
         
     | 
| 
       39 
39 
     | 
    
         
             
                File.should be_exists(microbosh_yml)
         
     | 
| 
       40 
     | 
    
         
            -
                 
     | 
| 
      
 40 
     | 
    
         
            +
                yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.vsphere.yml"))
         
     | 
| 
       41 
41 
     | 
    
         
             
              end
         
     | 
| 
       42 
42 
     | 
    
         
             
            end
         
     | 
    
        data/spec/unit/network_spec.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: bosh-bootstrap
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.11. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.11.1
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,24 +9,40 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2013-05- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-05-21 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: cyoi
         
     | 
| 
       16 
16 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       17 
17 
     | 
    
         
             
                none: false
         
     | 
| 
       18 
18 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
     | 
    
         
            -
                - -  
     | 
| 
      
 19 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       20 
20 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       21 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 21 
     | 
    
         
            +
                    version: '0.4'
         
     | 
| 
       22 
22 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       23 
23 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
24 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       25 
25 
     | 
    
         
             
                none: false
         
     | 
| 
       26 
26 
     | 
    
         
             
                requirements:
         
     | 
| 
       27 
     | 
    
         
            -
                - -  
     | 
| 
      
 27 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       28 
28 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       29 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 29 
     | 
    
         
            +
                    version: '0.4'
         
     | 
| 
      
 30 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 31 
     | 
    
         
            +
              name: fog
         
     | 
| 
      
 32 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 33 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 34 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 35 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 36 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 37 
     | 
    
         
            +
                    version: '1.11'
         
     | 
| 
      
 38 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 39 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 40 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 41 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 42 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 43 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 44 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 45 
     | 
    
         
            +
                    version: '1.11'
         
     | 
| 
       30 
46 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       31 
47 
     | 
    
         
             
              name: readwritesettings
         
     | 
| 
       32 
48 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -44,23 +60,23 @@ dependencies: 
     | 
|
| 
       44 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       45 
61 
     | 
    
         
             
                    version: '3.0'
         
     | 
| 
       46 
62 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       47 
     | 
    
         
            -
              name:  
     | 
| 
      
 63 
     | 
    
         
            +
              name: thor
         
     | 
| 
       48 
64 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       49 
65 
     | 
    
         
             
                none: false
         
     | 
| 
       50 
66 
     | 
    
         
             
                requirements:
         
     | 
| 
       51 
     | 
    
         
            -
                - -  
     | 
| 
      
 67 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       52 
68 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       53 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 69 
     | 
    
         
            +
                    version: '0.18'
         
     | 
| 
       54 
70 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       55 
71 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       56 
72 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       57 
73 
     | 
    
         
             
                none: false
         
     | 
| 
       58 
74 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - -  
     | 
| 
      
 75 
     | 
    
         
            +
                - - ~>
         
     | 
| 
       60 
76 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 77 
     | 
    
         
            +
                    version: '0.18'
         
     | 
| 
       62 
78 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       63 
     | 
    
         
            -
              name:  
     | 
| 
      
 79 
     | 
    
         
            +
              name: redcard
         
     | 
| 
       64 
80 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
81 
     | 
    
         
             
                none: false
         
     | 
| 
       66 
82 
     | 
    
         
             
                requirements:
         
     | 
| 
         @@ -126,7 +142,8 @@ dependencies: 
     | 
|
| 
       126 
142 
     | 
    
         
             
            description: Bootstrap a micro bosh universe from one CLI
         
     | 
| 
       127 
143 
     | 
    
         
             
            email:
         
     | 
| 
       128 
144 
     | 
    
         
             
            - drnicwilliams@gmail.com
         
     | 
| 
       129 
     | 
    
         
            -
            executables: 
     | 
| 
      
 145 
     | 
    
         
            +
            executables:
         
     | 
| 
      
 146 
     | 
    
         
            +
            - bosh-bootstrap
         
     | 
| 
       130 
147 
     | 
    
         
             
            extensions: []
         
     | 
| 
       131 
148 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       132 
149 
     | 
    
         
             
            files:
         
     | 
| 
         @@ -140,6 +157,7 @@ files: 
     | 
|
| 
       140 
157 
     | 
    
         
             
            - README.md
         
     | 
| 
       141 
158 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       142 
159 
     | 
    
         
             
            - TODO.md
         
     | 
| 
      
 160 
     | 
    
         
            +
            - bin/bosh-bootstrap
         
     | 
| 
       143 
161 
     | 
    
         
             
            - bosh-bootstrap.gemspec
         
     | 
| 
       144 
162 
     | 
    
         
             
            - lib/bosh-bootstrap.rb
         
     | 
| 
       145 
163 
     | 
    
         
             
            - lib/bosh-bootstrap/cli/commands/delete.rb
         
     | 
| 
         @@ -161,6 +179,7 @@ files: 
     | 
|
| 
       161 
179 
     | 
    
         
             
            - lib/bosh-bootstrap/network_providers/aws.rb
         
     | 
| 
       162 
180 
     | 
    
         
             
            - lib/bosh-bootstrap/network_providers/dummy.rb
         
     | 
| 
       163 
181 
     | 
    
         
             
            - lib/bosh-bootstrap/network_providers/openstack.rb
         
     | 
| 
      
 182 
     | 
    
         
            +
            - lib/bosh-bootstrap/thor_cli.rb
         
     | 
| 
       164 
183 
     | 
    
         
             
            - lib/bosh-bootstrap/version.rb
         
     | 
| 
       165 
184 
     | 
    
         
             
            - lib/bosh/cli/commands/bootstrap.rb
         
     | 
| 
       166 
185 
     | 
    
         
             
            - spec/assets/.gitkeep
         
     | 
| 
         @@ -206,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       206 
225 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       207 
226 
     | 
    
         
             
                  segments:
         
     | 
| 
       208 
227 
     | 
    
         
             
                  - 0
         
     | 
| 
       209 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 228 
     | 
    
         
            +
                  hash: -2381433706831646133
         
     | 
| 
       210 
229 
     | 
    
         
             
            requirements: []
         
     | 
| 
       211 
230 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       212 
231 
     | 
    
         
             
            rubygems_version: 1.8.25
         
     |