bosh-bootstrap 0.14.5 → 0.15.0
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.
- checksums.yaml +4 -4
- data/ChangeLog.md +9 -3
- data/bosh-bootstrap.gemspec +1 -0
- data/lib/bosh-bootstrap/cli/commands/delete.rb +3 -3
- data/lib/bosh-bootstrap/cli/helpers/bundle.rb +8 -1
- data/lib/bosh-bootstrap/microbosh.rb +2 -17
- data/lib/bosh-bootstrap/version.rb +1 -1
- data/spec/unit/commands/delete_spec.rb +2 -2
- data/spec/unit/microbosh_spec.rb +2 -3
- metadata +40 -26
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ec9bfaa86ff0d6489f4032bf510a20e2631a8f0e
         | 
| 4 | 
            +
              data.tar.gz: e162324692a5a37959e5274fd32bf9fb2b89b600
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0d7c876a236c07499f60a72efc788a9c9919c9a6be160d4075dca94091a420a8fc982fda17a9dfb5b530930a99662fd52b1b502614ce45b41b81b44c0fae1f2b
         | 
| 7 | 
            +
              data.tar.gz: 77b888965fbce1a2e65a84e9cdb61c38fedec828ddccf9b6132039983530ee6385babe959b85d3b8d8a6b1a904eefb0f142650be5b18ccc57380ccee76f1d981
         | 
    
        data/ChangeLog.md
    CHANGED
    
    | @@ -8,6 +8,12 @@ gem install bosh-bootstrap | |
| 8 8 | 
             
            bosh-bootstrap deploy
         | 
| 9 9 | 
             
            ```
         | 
| 10 10 |  | 
| 11 | 
            +
            v0.15
         | 
| 12 | 
            +
            -----
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            -	No more separate Gemfile and ugly `bundle install` step; thanks to BOSH CLI upgrading its dependencies sufficiently so as not to clash with bosh-bootstrap
         | 
| 15 | 
            +
            -	This allows inclusion in the [traveling-bosh](https://github.com/cloudfoundry-community/traveling-bosh) project
         | 
| 16 | 
            +
             | 
| 11 17 | 
             
            v0.14
         | 
| 12 18 | 
             
            -----
         | 
| 13 19 |  | 
| @@ -18,8 +24,8 @@ v0.14 | |
| 18 24 | 
             
            -	[aws] reuse existing bosh stemcell AMIs - automatically detects if a stemcell has been uploaded/converted into an AMI [v0.14.2]
         | 
| 19 25 | 
             
            -	[openstack] reuse existing bosh stemcell images - automatically detects if a stemcell has been uploaded/converted into an OpenStack image [v0.14.3]
         | 
| 20 26 | 
             
            -	[aws vpc] security groups are uniquely named per VPC [v0.14.4]
         | 
| 21 | 
            -
            - | 
| 22 | 
            -
            - | 
| 27 | 
            +
            -	[aws vpc] added dns recursor to vpc [v0.14.5]
         | 
| 28 | 
            +
            -	added ability to set dns recursor [v0.14.5]
         | 
| 23 29 |  | 
| 24 30 | 
             
            v0.13
         | 
| 25 31 | 
             
            -----
         | 
| @@ -47,7 +53,7 @@ v0.11 | |
| 47 53 | 
             
            -	Accessing settings is much cleaner; functionality moved into fork of settingslogic called [readwritesettings](https://github.com/drnic/readwritesettings)
         | 
| 48 54 | 
             
            -	Inception VM/server is now provisioned via separate CLI project [inception-server](https://github.com/drnic/inception-server)
         | 
| 49 55 | 
             
            -	AWS/us-east-1 uses public AMIs; other regions & other CPIs use stemcells
         | 
| 50 | 
            -
            -	CLI via bosh plugin (`bosh bootstrap`) rather than a stand alone CLI (`bosh-bootstrap | 
| 56 | 
            +
            -	CLI via bosh plugin (`bosh bootstrap`) rather than a stand alone CLI (`bosh-bootstrap`\)
         | 
| 51 57 | 
             
            -	Added `ssh` action to ssh into the microbosh
         | 
| 52 58 | 
             
            -	Added `delete` actions to delete the microbosh (but not the IP address and security groups)
         | 
| 53 59 | 
             
            -	Add back `bosh-bootstrap` CLI & remove bosh_cli dependency (v0.11.1)
         | 
    
        data/bosh-bootstrap.gemspec
    CHANGED
    
    | @@ -22,6 +22,7 @@ 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 "bosh_cli_plugin_micro"
         | 
| 25 26 | 
             
              gem.add_dependency "cyoi", "~> 0.11"
         | 
| 26 27 | 
             
              gem.add_dependency "fog", "~> 1.11"
         | 
| 27 28 | 
             
              gem.add_dependency "readwritesettings", "~> 3.0"
         | 
| @@ -10,8 +10,8 @@ class Bosh::Bootstrap::Cli::Commands::Delete | |
| 10 10 |  | 
| 11 11 | 
             
              def perform
         | 
| 12 12 | 
             
                chdir(deployment_dir) do
         | 
| 13 | 
            -
                   | 
| 14 | 
            -
                   | 
| 13 | 
            +
                  run "bosh", "-n", "micro", "deployment", bosh_name
         | 
| 14 | 
            +
                  run "bosh", "-n", "micro", "delete"
         | 
| 15 15 | 
             
                end
         | 
| 16 16 | 
             
              end
         | 
| 17 17 |  | 
| @@ -23,4 +23,4 @@ class Bosh::Bootstrap::Cli::Commands::Delete | |
| 23 23 | 
             
              def deployment_dir
         | 
| 24 24 | 
             
                File.join(settings_dir, "deployments")
         | 
| 25 25 | 
             
              end
         | 
| 26 | 
            -
            end
         | 
| 26 | 
            +
            end
         | 
| @@ -38,35 +38,20 @@ class Bosh::Bootstrap::Microbosh | |
| 38 38 | 
             
                @manifest_yml = File.join(deployments_dir, bosh_name, "micro_bosh.yml")
         | 
| 39 39 | 
             
                mkdir_p(File.dirname(manifest_yml))
         | 
| 40 40 | 
             
                chdir(base_path) do
         | 
| 41 | 
            -
                  setup_gems
         | 
| 42 41 | 
             
                  create_microbosh_yml(settings)
         | 
| 43 42 | 
             
                  deploy_or_update(settings.bosh.name, settings.bosh.stemcell_path)
         | 
| 44 43 | 
             
                end
         | 
| 45 44 | 
             
              end
         | 
| 46 45 |  | 
| 47 46 | 
             
              protected
         | 
| 48 | 
            -
              def setup_gems
         | 
| 49 | 
            -
                gempath = File.expand_path("../../..", __FILE__)
         | 
| 50 | 
            -
                pwd = File.expand_path(".")
         | 
| 51 | 
            -
                File.open("Gemfile", "w") do |f|
         | 
| 52 | 
            -
                  f << <<-RUBY
         | 
| 53 | 
            -
            source 'https://rubygems.org'
         | 
| 54 | 
            -
             | 
| 55 | 
            -
            gem "bosh_cli_plugin_micro"
         | 
| 56 | 
            -
                  RUBY
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
                rm_rf "Gemfile.lock"
         | 
| 59 | 
            -
                bundle "install"
         | 
| 60 | 
            -
              end
         | 
| 61 | 
            -
             | 
| 62 47 | 
             
              def create_microbosh_yml(settings)
         | 
| 63 48 | 
             
                provider.create_microbosh_yml(settings)
         | 
| 64 49 | 
             
              end
         | 
| 65 50 |  | 
| 66 51 | 
             
              def deploy_or_update(bosh_name, stemcell)
         | 
| 67 52 | 
             
                chdir("deployments") do
         | 
| 68 | 
            -
                   | 
| 69 | 
            -
                   | 
| 53 | 
            +
                  run "bosh", "micro", "deployment", bosh_name
         | 
| 54 | 
            +
                  run "bosh", "-n", "micro", "deploy", "--update-if-exists", stemcell
         | 
| 70 55 | 
             
                end
         | 
| 71 56 | 
             
              end
         | 
| 72 57 | 
             
            end
         | 
| @@ -11,8 +11,8 @@ describe Bosh::Bootstrap::Cli::Commands::Delete do | |
| 11 11 | 
             
              it "deletes microbosh VM" do
         | 
| 12 12 | 
             
                setting "bosh.name", "test-bosh"
         | 
| 13 13 | 
             
                mkdir_p(File.join(settings_dir, "deployments"))
         | 
| 14 | 
            -
                expect(subject).to receive(:sh).with(" | 
| 15 | 
            -
                expect(subject).to receive(:sh).with(" | 
| 14 | 
            +
                expect(subject).to receive(:sh).with("bosh", "-n", "micro", "deployment", "test-bosh")
         | 
| 15 | 
            +
                expect(subject).to receive(:sh).with("bosh", "-n", "micro", "delete")
         | 
| 16 16 | 
             
                subject.perform
         | 
| 17 17 | 
             
              end
         | 
| 18 18 | 
             
            end
         | 
    
        data/spec/unit/microbosh_spec.rb
    CHANGED
    
    | @@ -12,9 +12,8 @@ describe Bosh::Bootstrap::Microbosh do | |
| 12 12 | 
             
              it "deploys new microbosh" do
         | 
| 13 13 | 
             
                setting "bosh.name", "test-bosh"
         | 
| 14 14 | 
             
                setting "bosh.stemcell_path", stemcell_path
         | 
| 15 | 
            -
                expect(subject).to receive(:sh).with(" | 
| 16 | 
            -
                expect(subject).to receive(:sh).with(" | 
| 17 | 
            -
                expect(subject).to receive(:sh).with("bundle exec bosh -n micro deploy --update-if-exists #{stemcell_path}")
         | 
| 15 | 
            +
                expect(subject).to receive(:sh).with("bosh", "micro", "deployment", "test-bosh")
         | 
| 16 | 
            +
                expect(subject).to receive(:sh).with("bosh", "-n", "micro", "deploy", "--update-if-exists", stemcell_path)
         | 
| 18 17 | 
             
                subject.deploy(settings)
         | 
| 19 18 | 
             
              end
         | 
| 20 19 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,69 +1,83 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: bosh-bootstrap
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.15.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Dr Nic Williams
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-12- | 
| 11 | 
            +
            date: 2014-12-19 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: bosh_cli_plugin_micro
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - ">="
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: '0'
         | 
| 20 | 
            +
              type: :runtime
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - ">="
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: '0'
         | 
| 13 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 28 | 
             
              name: cyoi
         | 
| 15 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 30 | 
             
                requirements:
         | 
| 17 | 
            -
                - - ~>
         | 
| 31 | 
            +
                - - "~>"
         | 
| 18 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 33 | 
             
                    version: '0.11'
         | 
| 20 34 | 
             
              type: :runtime
         | 
| 21 35 | 
             
              prerelease: false
         | 
| 22 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 37 | 
             
                requirements:
         | 
| 24 | 
            -
                - - ~>
         | 
| 38 | 
            +
                - - "~>"
         | 
| 25 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 40 | 
             
                    version: '0.11'
         | 
| 27 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 42 | 
             
              name: fog
         | 
| 29 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 44 | 
             
                requirements:
         | 
| 31 | 
            -
                - - ~>
         | 
| 45 | 
            +
                - - "~>"
         | 
| 32 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 47 | 
             
                    version: '1.11'
         | 
| 34 48 | 
             
              type: :runtime
         | 
| 35 49 | 
             
              prerelease: false
         | 
| 36 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 51 | 
             
                requirements:
         | 
| 38 | 
            -
                - - ~>
         | 
| 52 | 
            +
                - - "~>"
         | 
| 39 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 54 | 
             
                    version: '1.11'
         | 
| 41 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 56 | 
             
              name: readwritesettings
         | 
| 43 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 58 | 
             
                requirements:
         | 
| 45 | 
            -
                - - ~>
         | 
| 59 | 
            +
                - - "~>"
         | 
| 46 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 61 | 
             
                    version: '3.0'
         | 
| 48 62 | 
             
              type: :runtime
         | 
| 49 63 | 
             
              prerelease: false
         | 
| 50 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 65 | 
             
                requirements:
         | 
| 52 | 
            -
                - - ~>
         | 
| 66 | 
            +
                - - "~>"
         | 
| 53 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 68 | 
             
                    version: '3.0'
         | 
| 55 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 70 | 
             
              name: thor
         | 
| 57 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 72 | 
             
                requirements:
         | 
| 59 | 
            -
                - - ~>
         | 
| 73 | 
            +
                - - "~>"
         | 
| 60 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 75 | 
             
                    version: '0.18'
         | 
| 62 76 | 
             
              type: :runtime
         | 
| 63 77 | 
             
              prerelease: false
         | 
| 64 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 79 | 
             
                requirements:
         | 
| 66 | 
            -
                - - ~>
         | 
| 80 | 
            +
                - - "~>"
         | 
| 67 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 82 | 
             
                    version: '0.18'
         | 
| 69 83 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -84,70 +98,70 @@ dependencies: | |
| 84 98 | 
             
              name: redcard
         | 
| 85 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 100 | 
             
                requirements:
         | 
| 87 | 
            -
                - -  | 
| 101 | 
            +
                - - ">="
         | 
| 88 102 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 103 | 
             
                    version: '0'
         | 
| 90 104 | 
             
              type: :runtime
         | 
| 91 105 | 
             
              prerelease: false
         | 
| 92 106 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 93 107 | 
             
                requirements:
         | 
| 94 | 
            -
                - -  | 
| 108 | 
            +
                - - ">="
         | 
| 95 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 110 | 
             
                    version: '0'
         | 
| 97 111 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 112 | 
             
              name: rbvmomi
         | 
| 99 113 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 114 | 
             
                requirements:
         | 
| 101 | 
            -
                - -  | 
| 115 | 
            +
                - - ">="
         | 
| 102 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 117 | 
             
                    version: '0'
         | 
| 104 118 | 
             
              type: :runtime
         | 
| 105 119 | 
             
              prerelease: false
         | 
| 106 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 121 | 
             
                requirements:
         | 
| 108 | 
            -
                - -  | 
| 122 | 
            +
                - - ">="
         | 
| 109 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 124 | 
             
                    version: '0'
         | 
| 111 125 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 112 126 | 
             
              name: rake
         | 
| 113 127 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 128 | 
             
                requirements:
         | 
| 115 | 
            -
                - -  | 
| 129 | 
            +
                - - ">="
         | 
| 116 130 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 131 | 
             
                    version: '0'
         | 
| 118 132 | 
             
              type: :development
         | 
| 119 133 | 
             
              prerelease: false
         | 
| 120 134 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 135 | 
             
                requirements:
         | 
| 122 | 
            -
                - -  | 
| 136 | 
            +
                - - ">="
         | 
| 123 137 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 138 | 
             
                    version: '0'
         | 
| 125 139 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 126 140 | 
             
              name: rspec
         | 
| 127 141 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 142 | 
             
                requirements:
         | 
| 129 | 
            -
                - -  | 
| 143 | 
            +
                - - ">="
         | 
| 130 144 | 
             
                  - !ruby/object:Gem::Version
         | 
| 131 145 | 
             
                    version: '0'
         | 
| 132 146 | 
             
              type: :development
         | 
| 133 147 | 
             
              prerelease: false
         | 
| 134 148 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 149 | 
             
                requirements:
         | 
| 136 | 
            -
                - -  | 
| 150 | 
            +
                - - ">="
         | 
| 137 151 | 
             
                  - !ruby/object:Gem::Version
         | 
| 138 152 | 
             
                    version: '0'
         | 
| 139 153 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 140 154 | 
             
              name: fakeweb
         | 
| 141 155 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 142 156 | 
             
                requirements:
         | 
| 143 | 
            -
                - -  | 
| 157 | 
            +
                - - ">="
         | 
| 144 158 | 
             
                  - !ruby/object:Gem::Version
         | 
| 145 159 | 
             
                    version: '0'
         | 
| 146 160 | 
             
              type: :development
         | 
| 147 161 | 
             
              prerelease: false
         | 
| 148 162 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 149 163 | 
             
                requirements:
         | 
| 150 | 
            -
                - -  | 
| 164 | 
            +
                - - ">="
         | 
| 151 165 | 
             
                  - !ruby/object:Gem::Version
         | 
| 152 166 | 
             
                    version: '0'
         | 
| 153 167 | 
             
            description: Bootstrap a micro bosh universe from one CLI
         | 
| @@ -158,9 +172,9 @@ executables: | |
| 158 172 | 
             
            extensions: []
         | 
| 159 173 | 
             
            extra_rdoc_files: []
         | 
| 160 174 | 
             
            files:
         | 
| 161 | 
            -
            - .gitignore
         | 
| 162 | 
            -
            - .rspec
         | 
| 163 | 
            -
            - .travis.yml
         | 
| 175 | 
            +
            - ".gitignore"
         | 
| 176 | 
            +
            - ".rspec"
         | 
| 177 | 
            +
            - ".travis.yml"
         | 
| 164 178 | 
             
            - ChangeLog.md
         | 
| 165 179 | 
             
            - Gemfile
         | 
| 166 180 | 
             
            - Guardfile
         | 
| @@ -237,17 +251,17 @@ require_paths: | |
| 237 251 | 
             
            - lib
         | 
| 238 252 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 239 253 | 
             
              requirements:
         | 
| 240 | 
            -
              - -  | 
| 254 | 
            +
              - - ">="
         | 
| 241 255 | 
             
                - !ruby/object:Gem::Version
         | 
| 242 256 | 
             
                  version: '1.9'
         | 
| 243 257 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 244 258 | 
             
              requirements:
         | 
| 245 | 
            -
              - -  | 
| 259 | 
            +
              - - ">="
         | 
| 246 260 | 
             
                - !ruby/object:Gem::Version
         | 
| 247 261 | 
             
                  version: '0'
         | 
| 248 262 | 
             
            requirements: []
         | 
| 249 263 | 
             
            rubyforge_project: 
         | 
| 250 | 
            -
            rubygems_version: 2. | 
| 264 | 
            +
            rubygems_version: 2.4.4
         | 
| 251 265 | 
             
            signing_key: 
         | 
| 252 266 | 
             
            specification_version: 4
         | 
| 253 267 | 
             
            summary: bosh-bootstrap configures and deploys a microbosh deployed on either AWS
         |