bosh-cloudfoundry 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +1 -0
- data/ChangeLog.md +12 -0
- data/README.md +2 -1
- data/lib/bosh-cloudfoundry/bosh_release_manager.rb +22 -13
- data/lib/bosh-cloudfoundry/config/common_config.rb +0 -2
- data/lib/bosh-cloudfoundry/config/system_config.rb +4 -0
- data/lib/bosh-cloudfoundry/config_options.rb +20 -6
- data/lib/bosh-cloudfoundry/version.rb +1 -1
- data/lib/bosh/cli/commands/cf.rb +8 -28
- data/spec/unit/bosh_release_manager_spec.rb +29 -2
- data/spec/unit/cf_command_spec.rb +31 -37
- metadata +4 -4
data/.rspec
CHANGED
data/ChangeLog.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## v0.5
|
4
|
+
|
5
|
+
Gerrit is dead. Long live gerrit. This release is for everyone who is getting started or wants to upgrade. Gerrit is dead.
|
6
|
+
|
7
|
+
A few days ago the core Cloud Foundry team shut down the gerrit hosting of cf-release and several patches that we needed to run Cloud Foundry on AWS and/or OpenStack. Fortunately, all the patches have been merged into the staging branch of the cf-release on github. This new release of bosh-cloudfoundry defaults to creating a development (non-final) release of cf-release from its staging branch.
|
8
|
+
|
9
|
+
The `bosh cf upload release` command now has a `--branch BRANCH` for uploading a release based on a different branch. It currently defaults to `staging`.
|
10
|
+
|
11
|
+
In future, when cf-release eventually merges all the required patches into master branch, we will switch to defaulting to `master`.
|
12
|
+
|
13
|
+
And finally, the big requirement for going v1.0, is for all the required patches to be included in a final release of cf-release.
|
14
|
+
|
3
15
|
## v0.4
|
4
16
|
|
5
17
|
Defaults to patched dev release (since a cf-release final release doesn't work).
|
data/README.md
CHANGED
@@ -74,7 +74,8 @@ module Bosh::CloudFoundry::BoshReleaseManager
|
|
74
74
|
File.join(cf_release_dir, "#{release_name}-#{dev_release_number}.yml")
|
75
75
|
end
|
76
76
|
|
77
|
-
def create_and_upload_dev_release
|
77
|
+
def create_and_upload_dev_release
|
78
|
+
release_name = default_dev_release_name
|
78
79
|
chdir(cf_release_dir) do
|
79
80
|
write_dev_config_file(release_name)
|
80
81
|
sh "bosh -n --color create release --with-tarball --force"
|
@@ -94,22 +95,29 @@ module Bosh::CloudFoundry::BoshReleaseManager
|
|
94
95
|
File.open(dev_config_file, "w") { |file| file << dev_config.to_yaml }
|
95
96
|
end
|
96
97
|
|
97
|
-
#
|
98
|
+
# clones or updates cf-release for a specific branch
|
99
|
+
# For all defaults, clones into:
|
100
|
+
# * /var/vcap/store/releases/cf-release/master (cf_release_branch_dir)
|
101
|
+
#
|
102
|
+
# Uses:
|
103
|
+
# * releases_dir (e.g. '/var/vcap/store/releases')
|
104
|
+
# * cf_release_branch (e.g. 'staging')
|
105
|
+
# * cf_release_branch_dir (e.g. '/var/vcap/store/releases/cf-release/staging')
|
98
106
|
def clone_or_update_cf_release
|
99
|
-
|
100
|
-
if File.directory?(
|
101
|
-
chdir(
|
102
|
-
sh "git pull origin
|
107
|
+
raise "invoke #set_cf_release_branch(branch) first" unless cf_release_branch_dir
|
108
|
+
if File.directory?(cf_release_branch_dir)
|
109
|
+
chdir(cf_release_branch_dir) do
|
110
|
+
sh "git pull origin #{cf_release_branch} --no-recurse-submodules" # recursive is below
|
103
111
|
end
|
104
112
|
else
|
105
113
|
chdir(releases_dir) do
|
106
|
-
sh "git clone #{cf_release_git_repo} #{
|
107
|
-
chdir(
|
114
|
+
sh "git clone #{cf_release_git_repo} #{cf_release_branch_dir}"
|
115
|
+
chdir(cf_release_branch_dir) do
|
108
116
|
sh "git update-index --assume-unchanged config/final.yml 2>/dev/null"
|
109
117
|
end
|
110
118
|
end
|
111
119
|
end
|
112
|
-
chdir(
|
120
|
+
chdir(cf_release_branch_dir) do
|
113
121
|
say "Rewriting all git:// & git@ to https:// ..."
|
114
122
|
# Snippet written by Mike Reeves <swampfoxmr@gmail.com> on bosh-users mailing list
|
115
123
|
# Date 2012-12-06
|
@@ -123,12 +131,13 @@ module Bosh::CloudFoundry::BoshReleaseManager
|
|
123
131
|
"appcloud"
|
124
132
|
end
|
125
133
|
|
126
|
-
def default_dev_release_name
|
127
|
-
|
134
|
+
def default_dev_release_name(branch_name=cf_release_branch)
|
135
|
+
suffix = "-#{branch_name || 'dev'}"
|
136
|
+
default_release_name + suffix
|
128
137
|
end
|
129
138
|
|
130
139
|
def switch_to_development_release
|
131
|
-
system_config.release_name = default_dev_release_name
|
140
|
+
system_config.release_name = default_dev_release_name(cf_release_branch)
|
132
141
|
system_config.release_version = "latest"
|
133
142
|
system_config.save
|
134
143
|
end
|
@@ -138,4 +147,4 @@ module Bosh::CloudFoundry::BoshReleaseManager
|
|
138
147
|
system_config.release_version = "latest"
|
139
148
|
system_config.save
|
140
149
|
end
|
141
|
-
end
|
150
|
+
end
|
@@ -10,10 +10,8 @@ module Bosh::CloudFoundry::Config
|
|
10
10
|
[
|
11
11
|
:base_systems_dir, # e.g. /var/vcap/store/systems
|
12
12
|
:target_system, # e.g. /var/vcap/store/systems/production
|
13
|
-
:cf_release_git_repo, # e.g. "git://github.com/cloudfoundry/cf-release.git"
|
14
13
|
:bosh_git_repo, # e.g. "git://github.com/cloudfoundry/bosh.git"
|
15
14
|
:releases_dir, # e.g. /var/vcap/store/releases
|
16
|
-
:cf_release_dir, # e.g. /var/vcap/store/releases/cf-release
|
17
15
|
:stemcells_dir, # e.g. /var/vcap/store/stemcells
|
18
16
|
:repos_dir, # e.g. /var/vcap/store/repos
|
19
17
|
].each do |attr|
|
@@ -25,6 +25,10 @@ class Bosh::CloudFoundry::Config::SystemConfig < Bosh::Cli::Config
|
|
25
25
|
:bosh_provider, # from list 'aws', 'openstack', 'vsphere', 'vcloud'
|
26
26
|
:system_name, # e.g. production
|
27
27
|
:system_dir, # e.g. /var/vcap/store/systems/production
|
28
|
+
:cf_release_git_repo, # e.g. "git://github.com/cloudfoundry/cf-release.git"
|
29
|
+
:cf_release_dir, # e.g. /var/vcap/store/releases/cf-release
|
30
|
+
:cf_release_branch, # e.g. staging
|
31
|
+
:cf_release_branch_dir, # e.g. /var/vcap/store/releases/cf-release/staging
|
28
32
|
:release_name, # e.g. 'appcloud'
|
29
33
|
:release_version, # e.g. 'latest'
|
30
34
|
:gerrit_changes, # e.g. ['84/13084/4', '37/13137/4']
|
@@ -29,7 +29,6 @@ module Bosh::CloudFoundry::ConfigOptions
|
|
29
29
|
@common_config ||= begin
|
30
30
|
config_file = options[:common_config] || DEFAULT_CONFIG_PATH
|
31
31
|
common_config = Bosh::CloudFoundry::Config:: CommonConfig.new(config_file)
|
32
|
-
common_config.cf_release_git_repo ||= DEFAULT_CF_RELEASE_GIT_REPO
|
33
32
|
common_config.bosh_git_repo ||= DEFAULT_BOSH_GIT_REPO
|
34
33
|
common_config.save
|
35
34
|
common_config
|
@@ -47,6 +46,7 @@ module Bosh::CloudFoundry::ConfigOptions
|
|
47
46
|
system_config.bosh_target = options[:bosh_target] || config.target
|
48
47
|
system_config.bosh_target_uuid = options[:bosh_target_uuid] || config.target_uuid
|
49
48
|
system_config.bosh_provider = options[:bosh_provider] || bosh_cpi
|
49
|
+
system_config.cf_release_git_repo ||= DEFAULT_CF_RELEASE_GIT_REPO
|
50
50
|
system_config.release_name ||= DEFAULT_RELEASE_NAME
|
51
51
|
system_config.release_version ||= DEFAULT_RELEASE_VERSION
|
52
52
|
system_config.stemcell_name ||= DEFAULT_STEMCELL_NAME
|
@@ -124,6 +124,13 @@ module Bosh::CloudFoundry::ConfigOptions
|
|
124
124
|
# @return [String] BOSH target director UUID
|
125
125
|
overriddable_config_option :bosh_target_uuid, :system_config
|
126
126
|
|
127
|
+
# @return [String] name of git branch to use to build/upload releases, e.g. "staging"
|
128
|
+
overriddable_config_option :cf_release_branch, :system_config
|
129
|
+
|
130
|
+
# @return [String] path to where git branch is cloned locally
|
131
|
+
# e.g. /var/vcap/store/releases/cf-release/staging
|
132
|
+
overriddable_config_option :cf_release_branch_dir, :system_config
|
133
|
+
|
127
134
|
# @return [String] Name of BOSH release in target BOSH
|
128
135
|
overriddable_config_option :release_name, :system_config
|
129
136
|
|
@@ -159,7 +166,7 @@ module Bosh::CloudFoundry::ConfigOptions
|
|
159
166
|
|
160
167
|
# @return [String] CloudFoundry BOSH release git URI
|
161
168
|
def cf_release_git_repo
|
162
|
-
options[:cf_release_git_repo] ||
|
169
|
+
options[:cf_release_git_repo] || system_config.cf_release_git_repo
|
163
170
|
end
|
164
171
|
|
165
172
|
# @return [String] Path to store BOSH release projects
|
@@ -169,13 +176,20 @@ module Bosh::CloudFoundry::ConfigOptions
|
|
169
176
|
|
170
177
|
# @return [String] Path to cf-release BOSH release
|
171
178
|
def cf_release_dir
|
172
|
-
options[:cf_release_dir] ||
|
173
|
-
|
174
|
-
|
175
|
-
|
179
|
+
options[:cf_release_dir] || system_config.cf_release_dir || begin
|
180
|
+
system_config.cf_release_dir = File.join(releases_dir, "cf-release")
|
181
|
+
system_config.save
|
182
|
+
system_config.cf_release_dir
|
176
183
|
end
|
177
184
|
end
|
178
185
|
|
186
|
+
# Switch to a different branch (and ultimately a different folder)
|
187
|
+
def set_cf_release_branch(branch)
|
188
|
+
system_config.cf_release_branch = branch
|
189
|
+
system_config.cf_release_branch_dir = File.join(cf_release_dir, branch)
|
190
|
+
system_config.save
|
191
|
+
end
|
192
|
+
|
179
193
|
# @return [String] Path to store stemcells locally
|
180
194
|
def stemcells_dir
|
181
195
|
options[:stemcells_dir] || common_config.stemcells_dir || choose_stemcells_dir
|
data/lib/bosh/cli/commands/cf.rb
CHANGED
@@ -127,43 +127,21 @@ module Bosh::Cli::Command
|
|
127
127
|
|
128
128
|
usage "cf upload release"
|
129
129
|
desc "fetch & upload latest public cloudfoundry release to BOSH"
|
130
|
-
|
130
|
+
option "--branch branch", String, "Create development release from branch of cf-release [default: staging]"
|
131
131
|
option "--final", "Upload latest final release from very latest cf-release commits"
|
132
132
|
def upload_release
|
133
|
-
clone_or_update_cf_release
|
134
133
|
if options.delete(:final)
|
134
|
+
clone_or_update_cf_release
|
135
135
|
upload_final_release
|
136
136
|
else
|
137
137
|
# FUTURE once all patches from https://github.com/StarkAndWayne/bosh-cloudfoundry/issues/42
|
138
138
|
# are merged into cf-release, then no more gerrit merging required
|
139
|
-
|
140
|
-
|
141
|
-
# create_and_upload_dev_release
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
usage "cf merge gerrit"
|
146
|
-
desc "create development release including one or more gerrit patches"
|
147
|
-
def merge_gerrit(*gerrit_changes)
|
148
|
-
# gerrit_change might be:
|
149
|
-
# * refs/changes/84/13084/4
|
150
|
-
# * 84/13084/4
|
151
|
-
# * 'git pull http://reviews.cloudfoundry.org/cf-release refs/changes/84/13084/4'
|
152
|
-
gerrit_changes.each do |gerrit_change|
|
153
|
-
if refs_change = extract_refs_change(gerrit_change)
|
154
|
-
add_gerrit_refs_change(refs_change)
|
155
|
-
else
|
156
|
-
say "Please provide the gerrit change information in one of the following formats:".red
|
157
|
-
say " -> bosh cf merge gerrit refs/changes/84/13084/4"
|
158
|
-
say " -> bosh cf merge gerrit 84/13084/4"
|
159
|
-
say " -> bosh cf merge gerrit 'git pull http://reviews.cloudfoundry.org/cf-release refs/changes/84/13084/4'"
|
160
|
-
say ""
|
161
|
-
say "Please re-run the command again with the change reference formatted as above.".red
|
162
|
-
exit 1
|
139
|
+
if new_branch = options.delete(:branch)
|
140
|
+
set_cf_release_branch(new_branch)
|
163
141
|
end
|
142
|
+
clone_or_update_cf_release
|
143
|
+
create_and_upload_dev_release
|
164
144
|
end
|
165
|
-
apply_gerrit_patches
|
166
|
-
create_and_upload_dev_release(release_name)
|
167
145
|
end
|
168
146
|
|
169
147
|
usage "cf deploy"
|
@@ -557,6 +535,8 @@ module Bosh::Cli::Command
|
|
557
535
|
def generate_generatable_options
|
558
536
|
common_password
|
559
537
|
security_group
|
538
|
+
|
539
|
+
set_cf_release_branch("staging")
|
560
540
|
end
|
561
541
|
|
562
542
|
# Renders the +SystemConfig+ model (+system_config+) into the system's
|
@@ -8,24 +8,51 @@ describe Bosh::CloudFoundry::BoshReleaseManager do
|
|
8
8
|
|
9
9
|
attr_reader :system_config
|
10
10
|
|
11
|
+
# accessors provided by config_options.rb
|
12
|
+
attr_accessor :cf_release_dir, :cf_release_branch, :cf_release_branch_dir
|
13
|
+
|
11
14
|
before do
|
12
15
|
@system_dir = File.join(Dir.mktmpdir, "systems", "production")
|
16
|
+
@cf_release_dir = File.join(Dir.mktmpdir, "releases", "cf-release")
|
13
17
|
mkdir_p(@system_dir)
|
14
18
|
@system_config = Bosh::CloudFoundry::Config::SystemConfig.new(@system_dir)
|
15
19
|
end
|
16
20
|
|
21
|
+
it "clone_or_update_cf_release - updates master branch" do
|
22
|
+
self.cf_release_branch = "master"
|
23
|
+
self.cf_release_branch_dir = File.join(cf_release_dir, "master")
|
24
|
+
mkdir_p(cf_release_branch_dir)
|
25
|
+
should_receive(:sh).with("git pull origin master --no-recurse-submodules")
|
26
|
+
should_receive(:sh).with("sed -i 's#git@github.com:#https://github.com/#g' .gitmodules")
|
27
|
+
should_receive(:sh).with("sed -i 's#git://github.com#https://github.com#g' .gitmodules")
|
28
|
+
should_receive(:sh).with("git submodule update --init --recursive")
|
29
|
+
clone_or_update_cf_release
|
30
|
+
end
|
31
|
+
|
32
|
+
it "clone_or_update_cf_release - updates staging branch" do
|
33
|
+
self.cf_release_branch = "staging"
|
34
|
+
self.cf_release_branch_dir = File.join(cf_release_dir, "staging")
|
35
|
+
mkdir_p(cf_release_branch_dir)
|
36
|
+
should_receive(:sh).with("git pull origin staging --no-recurse-submodules")
|
37
|
+
should_receive(:sh).with("sed -i 's#git@github.com:#https://github.com/#g' .gitmodules")
|
38
|
+
should_receive(:sh).with("sed -i 's#git://github.com#https://github.com#g' .gitmodules")
|
39
|
+
should_receive(:sh).with("git submodule update --init --recursive")
|
40
|
+
clone_or_update_cf_release
|
41
|
+
end
|
42
|
+
|
17
43
|
describe "switch release types" do
|
18
44
|
it "from final to dev" do
|
45
|
+
self.cf_release_branch = "staging"
|
19
46
|
@system_config.release_name = "appcloud"
|
20
47
|
@system_config.release_version = "latest"
|
21
48
|
@system_config.save
|
22
49
|
switch_to_development_release
|
23
|
-
@system_config.release_name.should == "appcloud-
|
50
|
+
@system_config.release_name.should == "appcloud-staging"
|
24
51
|
@system_config.release_version.should == "latest"
|
25
52
|
end
|
26
53
|
|
27
54
|
it "from dev to final" do
|
28
|
-
@system_config.release_name = "appcloud-
|
55
|
+
@system_config.release_name = "appcloud-staging"
|
29
56
|
@system_config.release_version = "latest"
|
30
57
|
@system_config.save
|
31
58
|
switch_to_final_release
|
@@ -80,29 +80,32 @@ describe Bosh::Cli::Command::Base do
|
|
80
80
|
@cmd.upload_stemcell
|
81
81
|
end
|
82
82
|
|
83
|
-
it "updates/creates/uploads final cf-release"
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
83
|
+
it "updates/creates/uploads final cf-release"
|
84
|
+
# do
|
85
|
+
# cf_release_dir = File.join(@releases_dir, "cf-release")
|
86
|
+
# FileUtils.mkdir_p(cf_release_dir)
|
87
|
+
# @cmd.system_config.cf_release_dir = cf_release_dir
|
88
|
+
# @cmd.system_config.cf_release_branch = "staging"
|
89
|
+
# @cmd.system_config.cf_release_branch_dir = File.join(cf_release_dir, "staging")
|
90
|
+
#
|
91
|
+
# @cmd.should_receive(:sh).with("git pull origin master")
|
92
|
+
# script = <<-BASH.gsub(/^ /, '')
|
93
|
+
# grep -rI "github.com" * .gitmodules | awk 'BEGIN {FS=":"} { print($1) }' | uniq while read file
|
94
|
+
# do
|
95
|
+
# echo "changing - $file"
|
96
|
+
# sed -i 's#git://github.com#https://github.com#g' $file
|
97
|
+
# sed -i 's#git@github.com:#https://github.com:#g' $file
|
98
|
+
# done
|
99
|
+
# BASH
|
100
|
+
# @cmd.should_receive(:sh).with("sed -i 's#git@github.com:#https://github.com/#g' .gitmodules")
|
101
|
+
# @cmd.should_receive(:sh).with("sed -i 's#git://github.com#https://github.com#g' .gitmodules")
|
102
|
+
# @cmd.should_receive(:sh).with("git submodule update --init --recursive")
|
103
|
+
# @cmd.should_receive(:`).with("tail -n 1 releases/index.yml | awk '{print $2}'").
|
104
|
+
# and_return("126")
|
105
|
+
# @cmd.should_receive(:sh).with("bosh -n --color upload release releases/appcloud-126.yml")
|
106
|
+
# @cmd.add_option(:final, true)
|
107
|
+
# @cmd.upload_release
|
108
|
+
# end
|
106
109
|
|
107
110
|
it "updates/creates/uploads development/edge cf-release (requires system setup)"
|
108
111
|
# TODO turn this into a unit test for the specific methods
|
@@ -124,7 +127,7 @@ describe Bosh::Cli::Command::Base do
|
|
124
127
|
# @cmd.should_receive(:sh).with("sed -i 's#git@github.com:#https://github.com/#g' .gitmodules")
|
125
128
|
# @cmd.should_receive(:sh).with("sed -i 's#git://github.com#https://github.com#g' .gitmodules")
|
126
129
|
# @cmd.should_receive(:sh).with("git submodule update --init --recursive")
|
127
|
-
# @cmd.should_receive(:write_dev_config_file).with("appcloud-
|
130
|
+
# @cmd.should_receive(:write_dev_config_file).with("appcloud-staging")
|
128
131
|
# @cmd.should_receive(:sh).with("bosh create release --with-tarball --force")
|
129
132
|
# @cmd.should_receive(:sh).with("bosh -n --color upload release")
|
130
133
|
# @cmd.upload_release
|
@@ -152,11 +155,11 @@ describe Bosh::Cli::Command::Base do
|
|
152
155
|
if needs_initial_release_uploaded
|
153
156
|
cmd.should_receive(:bosh_releases).exactly(1).times.and_return([])
|
154
157
|
cmd.should_receive(:clone_or_update_cf_release)
|
155
|
-
cmd.should_receive(:
|
158
|
+
cmd.should_receive(:create_and_upload_dev_release)
|
156
159
|
else
|
157
160
|
cmd.should_receive(:bosh_releases).exactly(1).times.and_return([
|
158
161
|
{"name"=>"appcloud", "versions"=>["124", "126"], "in_use"=>[]},
|
159
|
-
{"name"=>"appcloud-
|
162
|
+
{"name"=>"appcloud-staging", "versions"=>["124.1-dev", "126.1-dev"], "in_use"=>[]},
|
160
163
|
])
|
161
164
|
end
|
162
165
|
|
@@ -178,7 +181,7 @@ describe Bosh::Cli::Command::Base do
|
|
178
181
|
cmd.add_option(:core_server_flavor, 'm1.large')
|
179
182
|
cmd.add_option(:admin_emails, ['drnic@starkandwayne.com'])
|
180
183
|
|
181
|
-
cmd.common_config.
|
184
|
+
cmd.common_config.releases_dir = @releases_dir
|
182
185
|
cmd.common_config.stemcells_dir = @stemcells_dir
|
183
186
|
|
184
187
|
cmd.system.should be_nil
|
@@ -196,7 +199,7 @@ describe Bosh::Cli::Command::Base do
|
|
196
199
|
it "temporarily uploads latest stemcell & patched cf-release by default" do
|
197
200
|
generate_new_system(@cmd)
|
198
201
|
File.basename(@cmd.system).should == "production"
|
199
|
-
@cmd.system_config.release_name.should == "appcloud-
|
202
|
+
@cmd.system_config.release_name.should == "appcloud-staging"
|
200
203
|
end
|
201
204
|
|
202
205
|
it "new system has common random password" do
|
@@ -290,15 +293,6 @@ describe Bosh::Cli::Command::Base do
|
|
290
293
|
@cmd.watch_nats
|
291
294
|
end
|
292
295
|
|
293
|
-
it "merges gerrit patches" do
|
294
|
-
generate_new_system
|
295
|
-
@cmd.should_receive(:create_and_change_into_patches_branch)
|
296
|
-
@cmd.should_receive(:sh).
|
297
|
-
with("git pull http://reviews.cloudfoundry.org/cf-release refs/changes/84/13084/4")
|
298
|
-
@cmd.should_receive(:create_and_upload_dev_release)
|
299
|
-
@cmd.merge_gerrit("refs/changes/84/13084/4")
|
300
|
-
end
|
301
|
-
|
302
296
|
it "returns bosh_release_versions" do
|
303
297
|
@cmd.should_receive(:bosh_releases).exactly(3).times.and_return([
|
304
298
|
{"name"=>"appcloud", "versions"=>["124", "126"], "in_use"=>[]},
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bosh-cloudfoundry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bosh_cli
|
@@ -161,7 +161,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
161
|
version: '0'
|
162
162
|
segments:
|
163
163
|
- 0
|
164
|
-
hash:
|
164
|
+
hash: 3552248026887533179
|
165
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
166
|
none: false
|
167
167
|
requirements:
|
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
170
|
version: '0'
|
171
171
|
segments:
|
172
172
|
- 0
|
173
|
-
hash:
|
173
|
+
hash: 3552248026887533179
|
174
174
|
requirements: []
|
175
175
|
rubyforge_project:
|
176
176
|
rubygems_version: 1.8.24
|