cluster_chef 3.0.9 → 3.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +10 -0
- data/README.md +8 -5
- data/VERSION +1 -1
- data/cluster_chef.gemspec +7 -6
- data/config/proxy.pac +12 -0
- data/lib/cluster_chef/chef_layer.rb +0 -3
- data/lib/cluster_chef/cloud.rb +31 -28
- data/lib/cluster_chef/facet.rb +1 -1
- data/lib/cluster_chef/fog_layer.rb +17 -4
- data/lib/cluster_chef/role_implications.rb +9 -0
- data/lib/cluster_chef/server_slice.rb +1 -0
- data/spec/cluster_chef/server_spec.rb +3 -3
- metadata +88 -85
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## v3.0.10: Cloud fixes
|
2
|
+
|
3
|
+
* security groups are now created/updated in knife cluster sync. This can't help you apply then to a node afer launch though -- nothing can, the API doesn't allow it.
|
4
|
+
* clusters now all refer to an AMI named `cluster_chef-natty` by default, and to customizable roles `org_base`, `org_final` and `org_users` (where `org_base` has a role_implication for membership in the systemwide `org_base` security group)
|
5
|
+
* default facet instances is now 1 who knows why it wasn't always 1.
|
6
|
+
* minor linting of cluster before launching it
|
7
|
+
* bump to latest versions of oneiric AMIs thx @redbeard
|
8
|
+
* bootstrap fixes, oneiric support, more from @gchpaco
|
9
|
+
|
10
|
+
|
1
11
|
## v3.0.6: schism of cookbooks and tools
|
2
12
|
|
3
13
|
* cookbooks all now live in [their own repo](https://github.com/infochimps-labs/cluster_chef-homebase), organized according to opscode standard.
|
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
# cluster_chef
|
2
2
|
|
3
|
-
|
3
|
+
Infrastructure as code: describe and orchestrate whole clusters of cloud or virtual machines.
|
4
4
|
|
5
|
-
|
5
|
+
## Overview
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
*
|
7
|
+
The cluster_chef toolset takes chef to the next level:
|
8
|
+
|
9
|
+
* `cluster_chef` gem: assembles machines and roles into a working cluster using a clean, expressive domain-specific language.
|
10
|
+
* `cluster_chef-knife` knife plugin: orchestrate clusters of machines, in the cloud or VMs.
|
11
|
+
* `cluster_chef-homebase`: Our collection of industrial-strength, cloud-ready recipes for Hadoop, HBase, Cassandra, Elasticsearch, Zabbix and more.
|
12
|
+
* the `metachef` cookbook: coordinate discovery of services ("list all the machines for `awesome_webapp`, that I might load balance them") and aspects ("
|
10
13
|
|
11
14
|
## Walkthrough
|
12
15
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.10
|
data/cluster_chef.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "cluster_chef"
|
8
|
-
s.version = "3.0.
|
8
|
+
s.version = "3.0.10"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Infochimps"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2012-01-17"
|
13
13
|
s.description = "cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
|
14
14
|
s.email = "coders@infochimps.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
"cluster_chef.gemspec",
|
31
31
|
"clusters/website_demo.rb",
|
32
32
|
"config/client.rb",
|
33
|
+
"config/proxy.pac",
|
33
34
|
"lib/cluster_chef.rb",
|
34
35
|
"lib/cluster_chef/chef_layer.rb",
|
35
36
|
"lib/cluster_chef/cloud.rb",
|
@@ -66,7 +67,7 @@ Gem::Specification.new do |s|
|
|
66
67
|
s.homepage = "http://infochimps.com/labs"
|
67
68
|
s.licenses = ["apachev2"]
|
68
69
|
s.require_paths = ["lib"]
|
69
|
-
s.rubygems_version = "1.8.
|
70
|
+
s.rubygems_version = "1.8.15"
|
70
71
|
s.summary = "cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
|
71
72
|
s.test_files = ["spec/cluster_chef/cluster_spec.rb", "spec/cluster_chef/facet_spec.rb", "spec/cluster_chef/server_slice_spec.rb", "spec/cluster_chef/server_spec.rb", "spec/cluster_chef_spec.rb", "spec/spec_helper/dummy_chef.rb", "spec/spec_helper.rb", "spec/test_config.rb"]
|
72
73
|
|
@@ -83,7 +84,7 @@ Gem::Specification.new do |s|
|
|
83
84
|
s.add_development_dependency(%q<rspec>, ["~> 2.5"])
|
84
85
|
s.add_development_dependency(%q<yard>, ["~> 0.6"])
|
85
86
|
s.add_development_dependency(%q<configliere>, ["~> 0.4.8"])
|
86
|
-
s.add_runtime_dependency(%q<cluster_chef-knife>, ["= 3.0.
|
87
|
+
s.add_runtime_dependency(%q<cluster_chef-knife>, ["= 3.0.10"])
|
87
88
|
else
|
88
89
|
s.add_dependency(%q<chef>, ["~> 0.10.4"])
|
89
90
|
s.add_dependency(%q<fog>, ["~> 1.1.1"])
|
@@ -94,7 +95,7 @@ Gem::Specification.new do |s|
|
|
94
95
|
s.add_dependency(%q<rspec>, ["~> 2.5"])
|
95
96
|
s.add_dependency(%q<yard>, ["~> 0.6"])
|
96
97
|
s.add_dependency(%q<configliere>, ["~> 0.4.8"])
|
97
|
-
s.add_dependency(%q<cluster_chef-knife>, ["= 3.0.
|
98
|
+
s.add_dependency(%q<cluster_chef-knife>, ["= 3.0.10"])
|
98
99
|
end
|
99
100
|
else
|
100
101
|
s.add_dependency(%q<chef>, ["~> 0.10.4"])
|
@@ -106,7 +107,7 @@ Gem::Specification.new do |s|
|
|
106
107
|
s.add_dependency(%q<rspec>, ["~> 2.5"])
|
107
108
|
s.add_dependency(%q<yard>, ["~> 0.6"])
|
108
109
|
s.add_dependency(%q<configliere>, ["~> 0.4.8"])
|
109
|
-
s.add_dependency(%q<cluster_chef-knife>, ["= 3.0.
|
110
|
+
s.add_dependency(%q<cluster_chef-knife>, ["= 3.0.10"])
|
110
111
|
end
|
111
112
|
end
|
112
113
|
|
data/config/proxy.pac
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
function FindProxyForURL(url, host) {
|
2
|
+
if ((shExpMatch(host, "*ec2*.amazonaws.com" )) ||
|
3
|
+
(shExpMatch(host, "*ec2.internal*" )) ||
|
4
|
+
(shExpMatch(host, "*compute-*.amazonaws.com" )) ||
|
5
|
+
(shExpMatch(host, "*compute-*.internal*" )) ||
|
6
|
+
(shExpMatch(host, "*domu*.internal*" )) ||
|
7
|
+
(shExpMatch(host, "10.*" ))
|
8
|
+
) {
|
9
|
+
return "SOCKS5 localhost:6666";
|
10
|
+
}
|
11
|
+
return "DIRECT";
|
12
|
+
}
|
@@ -108,9 +108,6 @@ module ClusterChef
|
|
108
108
|
|
109
109
|
# creates or updates the chef node.
|
110
110
|
#
|
111
|
-
# FIXME: !! this currently doesn't do the right thing for modifications to the
|
112
|
-
# chef node. !!
|
113
|
-
#
|
114
111
|
# See notes at top of file for why all this jiggery-fuckery
|
115
112
|
#
|
116
113
|
# * client exists, node exists: assume client can update, weep later when
|
data/lib/cluster_chef/cloud.rb
CHANGED
@@ -60,7 +60,7 @@ module ClusterChef
|
|
60
60
|
# @returns [Hash] hash of defaults
|
61
61
|
def defaults
|
62
62
|
reverse_merge!({
|
63
|
-
:image_name => '
|
63
|
+
:image_name => 'natty',
|
64
64
|
})
|
65
65
|
end
|
66
66
|
|
@@ -206,7 +206,7 @@ module ClusterChef
|
|
206
206
|
# Utility methods
|
207
207
|
|
208
208
|
def image_info
|
209
|
-
Chef::Config[:ec2_image_info][ [region, bits, backing, image_name] ] or ui.warn "Make sure to define the machine's region, bits, backing and image_name. (Have #{[region, bits, backing, image_name].inspect})"
|
209
|
+
Chef::Config[:ec2_image_info][ [region, bits, backing, image_name] ] or ( ui.warn "Make sure to define the machine's region, bits, backing and image_name. (Have #{[region, bits, backing, image_name].inspect})" ; {} )
|
210
210
|
end
|
211
211
|
|
212
212
|
def list_images
|
@@ -217,12 +217,15 @@ module ClusterChef
|
|
217
217
|
end
|
218
218
|
|
219
219
|
def flavor(val=nil)
|
220
|
-
|
220
|
+
if val && (not FLAVOR_INFO.has_key?(val.to_s))
|
221
|
+
ui.warn("Unknown machine image flavor '#{val}'")
|
222
|
+
list_flavors
|
223
|
+
end
|
221
224
|
set :flavor, val
|
222
225
|
end
|
223
226
|
|
224
227
|
def flavor_info
|
225
|
-
FLAVOR_INFO[flavor] or
|
228
|
+
FLAVOR_INFO[flavor] or ( ui.warn "Please define the machine's flavor: have #{self.inspect}" ; {} )
|
226
229
|
end
|
227
230
|
|
228
231
|
def list_flavors
|
@@ -358,35 +361,35 @@ module ClusterChef
|
|
358
361
|
#
|
359
362
|
# Oneric (Ubuntu 11.10)
|
360
363
|
#
|
361
|
-
%w[ ap-northeast-1 32-bit ebs oneric ] => { :image_id => 'ami-
|
362
|
-
%w[ ap-northeast-1 32-bit instance oneric ] => { :image_id => 'ami-
|
363
|
-
%w[ ap-northeast-1 64-bit ebs oneric ] => { :image_id => 'ami-
|
364
|
-
%w[ ap-northeast-1 64-bit instance oneric ] => { :image_id => 'ami-
|
364
|
+
%w[ ap-northeast-1 32-bit ebs oneric ] => { :image_id => 'ami-84902785', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
365
|
+
%w[ ap-northeast-1 32-bit instance oneric ] => { :image_id => 'ami-5e90275f', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
366
|
+
%w[ ap-northeast-1 64-bit ebs oneric ] => { :image_id => 'ami-88902789', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
367
|
+
%w[ ap-northeast-1 64-bit instance oneric ] => { :image_id => 'ami-7c90277d', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
365
368
|
#
|
366
|
-
%w[ ap-southeast-1 32-bit ebs oneric ] => { :image_id => 'ami-
|
367
|
-
%w[ ap-southeast-1 32-bit instance oneric ] => { :image_id => 'ami-
|
368
|
-
%w[ ap-southeast-1 64-bit ebs oneric ] => { :image_id => 'ami-
|
369
|
-
%w[ ap-southeast-1 64-bit instance oneric ] => { :image_id => 'ami-
|
369
|
+
%w[ ap-southeast-1 32-bit ebs oneric ] => { :image_id => 'ami-0a327758', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
370
|
+
%w[ ap-southeast-1 32-bit instance oneric ] => { :image_id => 'ami-00327752', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
371
|
+
%w[ ap-southeast-1 64-bit ebs oneric ] => { :image_id => 'ami-0832775a', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
372
|
+
%w[ ap-southeast-1 64-bit instance oneric ] => { :image_id => 'ami-04327756', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
370
373
|
#
|
371
|
-
%w[ eu-west-1 32-bit ebs oneric ] => { :image_id => 'ami-
|
372
|
-
%w[ eu-west-1 32-bit instance oneric ] => { :image_id => 'ami-
|
373
|
-
%w[ eu-west-1 64-bit ebs oneric ] => { :image_id => 'ami-
|
374
|
-
%w[ eu-west-1 64-bit instance oneric ] => { :image_id => 'ami-
|
374
|
+
%w[ eu-west-1 32-bit ebs oneric ] => { :image_id => 'ami-11f0cc65', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
375
|
+
%w[ eu-west-1 32-bit instance oneric ] => { :image_id => 'ami-4ff0cc3b', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
376
|
+
%w[ eu-west-1 64-bit ebs oneric ] => { :image_id => 'ami-1df0cc69', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
377
|
+
%w[ eu-west-1 64-bit instance oneric ] => { :image_id => 'ami-23f0cc57', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
375
378
|
#
|
376
|
-
%w[ us-east-1 32-bit ebs oneric ] => { :image_id => 'ami-
|
377
|
-
%w[ us-east-1 32-bit instance oneric ] => { :image_id => 'ami-
|
378
|
-
%w[ us-east-1 64-bit ebs oneric ] => { :image_id => 'ami-
|
379
|
-
%w[ us-east-1 64-bit instance oneric ] => { :image_id => 'ami-
|
379
|
+
%w[ us-east-1 32-bit ebs oneric ] => { :image_id => 'ami-a562a9cc', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
380
|
+
%w[ us-east-1 32-bit instance oneric ] => { :image_id => 'ami-3962a950', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
381
|
+
%w[ us-east-1 64-bit ebs oneric ] => { :image_id => 'ami-bf62a9d6', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
382
|
+
%w[ us-east-1 64-bit instance oneric ] => { :image_id => 'ami-c162a9a8', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
380
383
|
#
|
381
|
-
%w[ us-west-1 32-bit ebs oneric ] => { :image_id => 'ami-
|
382
|
-
%w[ us-west-1 32-bit instance oneric ] => { :image_id => 'ami-
|
383
|
-
%w[ us-west-1 64-bit ebs oneric ] => { :image_id => 'ami-
|
384
|
-
%w[ us-west-1 64-bit instance oneric ] => { :image_id => 'ami-
|
384
|
+
%w[ us-west-1 32-bit ebs oneric ] => { :image_id => 'ami-c9a1fe8c', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
385
|
+
%w[ us-west-1 32-bit instance oneric ] => { :image_id => 'ami-21a1fe64', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
386
|
+
%w[ us-west-1 64-bit ebs oneric ] => { :image_id => 'ami-cba1fe8e', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
387
|
+
%w[ us-west-1 64-bit instance oneric ] => { :image_id => 'ami-3fa1fe7a', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
385
388
|
#
|
386
|
-
%w[ us-west-2 32-bit ebs oneric ] => { :image_id => 'ami-
|
387
|
-
%w[ us-west-2 32-bit instance oneric ] => { :image_id => 'ami-
|
388
|
-
%w[ us-west-2 64-bit ebs oneric ] => { :image_id => 'ami-
|
389
|
-
%w[ us-west-2 64-bit instance oneric ] => { :image_id => 'ami-
|
389
|
+
%w[ us-west-2 32-bit ebs oneric ] => { :image_id => 'ami-ea9a17da', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
390
|
+
%w[ us-west-2 32-bit instance oneric ] => { :image_id => 'ami-f49a17c4', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
391
|
+
%w[ us-west-2 64-bit ebs oneric ] => { :image_id => 'ami-ec9a17dc', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
392
|
+
%w[ us-west-2 64-bit instance oneric ] => { :image_id => 'ami-fe9a17ce', :ssh_user => 'ubuntu', :bootstrap_distro => "ubuntu10.04-gems", },
|
390
393
|
})
|
391
394
|
end
|
392
395
|
|
data/lib/cluster_chef/facet.rb
CHANGED
@@ -6,14 +6,20 @@ module ClusterChef
|
|
6
6
|
|
7
7
|
def fog_create_server
|
8
8
|
step(" creating cloud server", :green)
|
9
|
-
|
10
|
-
|
9
|
+
lint_fog
|
10
|
+
launch_desc = fog_launch_description
|
11
|
+
Chef::Log.debug(JSON.pretty_generate(launch_desc))
|
11
12
|
safely do
|
12
|
-
@fog_server = ClusterChef.fog_connection.servers.create(
|
13
|
+
@fog_server = ClusterChef.fog_connection.servers.create(launch_desc)
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
16
|
-
def
|
17
|
+
def lint_fog
|
18
|
+
unless cloud.image_id then raise "No image ID found: nothing in Chef::Config[:ec2_image_info] for AZ #{self.default_availability_zone} flavor #{cloud.flavor} backing #{cloud.backing} image name #{cloud.image_name}, and cloud.image_id was not set directly. See https://github.com/infochimps/cluster_chef/wiki/machine-image-(AMI)-lookup-by-name - #{cloud.list_images}" end
|
19
|
+
unless cloud.image_id then cloud.list_flavors ; raise "No machine flavor found" ; end
|
20
|
+
end
|
21
|
+
|
22
|
+
def fog_launch_description
|
17
23
|
{
|
18
24
|
:image_id => cloud.image_id,
|
19
25
|
:flavor_id => cloud.flavor,
|
@@ -132,5 +138,12 @@ module ClusterChef
|
|
132
138
|
ClusterChef.fog_keypairs[keypair_name] = keypair_obj
|
133
139
|
end
|
134
140
|
end
|
141
|
+
|
142
|
+
# Create security groups, their dependencies, and synchronize their permissions
|
143
|
+
def sync_security_groups
|
144
|
+
step("ensuring security groups exist and are correct")
|
145
|
+
security_groups.each{|name,group| group.run }
|
146
|
+
end
|
147
|
+
|
135
148
|
end
|
136
149
|
end
|
@@ -1,6 +1,13 @@
|
|
1
1
|
module ClusterChef
|
2
2
|
ComputeBuilder.class_eval do
|
3
3
|
|
4
|
+
# organization-wide security group
|
5
|
+
role_implication "org_base" do
|
6
|
+
self.cloud.security_group "org_base" do
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
# NFS server allows access from nfs_clients
|
4
11
|
role_implication "nfs_server" do
|
5
12
|
self.cloud.security_group "nfs_server" do
|
6
13
|
authorize_group "nfs_client"
|
@@ -11,12 +18,14 @@ module ClusterChef
|
|
11
18
|
self.cloud.security_group "nfs_client"
|
12
19
|
end
|
13
20
|
|
21
|
+
# Opens port 22 to the world
|
14
22
|
role_implication "ssh" do
|
15
23
|
self.cloud.security_group 'ssh' do
|
16
24
|
authorize_port_range 22..22
|
17
25
|
end
|
18
26
|
end
|
19
27
|
|
28
|
+
# Open the Chef server API port (4000) and the webui (4040)
|
20
29
|
role_implication "chef_server" do
|
21
30
|
self.cloud.security_group "chef_server" do
|
22
31
|
authorize_port_range 4000..4000 # chef-server-api
|
@@ -73,10 +73,10 @@ describe ClusterChef::Server do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
describe 'launch' do
|
76
|
-
describe '#
|
76
|
+
describe '#fog_launch_description' do
|
77
77
|
it 'has right attributes' do
|
78
78
|
|
79
|
-
hsh = @server.
|
79
|
+
hsh = @server.fog_launch_description
|
80
80
|
hsh.delete(:user_data)
|
81
81
|
hsh.should == {
|
82
82
|
:image_id => "ami-08f40561",
|
@@ -97,7 +97,7 @@ describe ClusterChef::Server do
|
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'has right user_data' do
|
100
|
-
hsh = @server.
|
100
|
+
hsh = @server.fog_launch_description
|
101
101
|
user_data_hsh = JSON.parse( hsh[:user_data] )
|
102
102
|
user_data_hsh.keys.should == ["chef_server", "validation_client_name", "validation_key", "attributes"]
|
103
103
|
user_data_hsh["attributes"].keys.sort.should == [
|
metadata
CHANGED
@@ -1,136 +1,137 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: cluster_chef
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.9
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 3.0.10
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Infochimps
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2012-01-17 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
15
16
|
name: chef
|
16
|
-
requirement: &
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
|
-
requirements:
|
19
|
+
requirements:
|
19
20
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
+
- !ruby/object:Gem::Version
|
21
22
|
version: 0.10.4
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
- !ruby/object:Gem::Dependency
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
26
27
|
name: fog
|
27
|
-
requirement: &
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
29
|
none: false
|
29
|
-
requirements:
|
30
|
+
requirements:
|
30
31
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
+
- !ruby/object:Gem::Version
|
32
33
|
version: 1.1.1
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
-
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
37
38
|
name: formatador
|
38
|
-
requirement: &
|
39
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
|
-
requirements:
|
41
|
+
requirements:
|
41
42
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
+
- !ruby/object:Gem::Version
|
43
44
|
version: 0.2.1
|
44
45
|
type: :runtime
|
45
46
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
-
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
48
49
|
name: gorillib
|
49
|
-
requirement: &
|
50
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
51
|
none: false
|
51
|
-
requirements:
|
52
|
+
requirements:
|
52
53
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
+
- !ruby/object:Gem::Version
|
54
55
|
version: 0.1.7
|
55
56
|
type: :runtime
|
56
57
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
-
- !ruby/object:Gem::Dependency
|
58
|
+
version_requirements: *id004
|
59
|
+
- !ruby/object:Gem::Dependency
|
59
60
|
name: bundler
|
60
|
-
requirement: &
|
61
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
62
|
none: false
|
62
|
-
requirements:
|
63
|
+
requirements:
|
63
64
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version:
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: "1"
|
66
67
|
type: :development
|
67
68
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
-
- !ruby/object:Gem::Dependency
|
69
|
+
version_requirements: *id005
|
70
|
+
- !ruby/object:Gem::Dependency
|
70
71
|
name: jeweler
|
71
|
-
requirement: &
|
72
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
73
|
-
requirements:
|
74
|
+
requirements:
|
74
75
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version:
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: "1.6"
|
77
78
|
type: :development
|
78
79
|
prerelease: false
|
79
|
-
version_requirements: *
|
80
|
-
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: *id006
|
81
|
+
- !ruby/object:Gem::Dependency
|
81
82
|
name: rspec
|
82
|
-
requirement: &
|
83
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
84
|
none: false
|
84
|
-
requirements:
|
85
|
+
requirements:
|
85
86
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version:
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: "2.5"
|
88
89
|
type: :development
|
89
90
|
prerelease: false
|
90
|
-
version_requirements: *
|
91
|
-
- !ruby/object:Gem::Dependency
|
91
|
+
version_requirements: *id007
|
92
|
+
- !ruby/object:Gem::Dependency
|
92
93
|
name: yard
|
93
|
-
requirement: &
|
94
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
94
95
|
none: false
|
95
|
-
requirements:
|
96
|
+
requirements:
|
96
97
|
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version:
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: "0.6"
|
99
100
|
type: :development
|
100
101
|
prerelease: false
|
101
|
-
version_requirements: *
|
102
|
-
- !ruby/object:Gem::Dependency
|
102
|
+
version_requirements: *id008
|
103
|
+
- !ruby/object:Gem::Dependency
|
103
104
|
name: configliere
|
104
|
-
requirement: &
|
105
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
105
106
|
none: false
|
106
|
-
requirements:
|
107
|
+
requirements:
|
107
108
|
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
+
- !ruby/object:Gem::Version
|
109
110
|
version: 0.4.8
|
110
111
|
type: :development
|
111
112
|
prerelease: false
|
112
|
-
version_requirements: *
|
113
|
-
- !ruby/object:Gem::Dependency
|
113
|
+
version_requirements: *id009
|
114
|
+
- !ruby/object:Gem::Dependency
|
114
115
|
name: cluster_chef-knife
|
115
|
-
requirement: &
|
116
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
116
117
|
none: false
|
117
|
-
requirements:
|
118
|
-
- - =
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 3.0.
|
118
|
+
requirements:
|
119
|
+
- - "="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 3.0.10
|
121
122
|
type: :runtime
|
122
123
|
prerelease: false
|
123
|
-
version_requirements: *
|
124
|
-
description: cluster_chef allows you to orchestrate not just systems but clusters
|
125
|
-
of machines. It includes a powerful layer on top of knife and a collection of cloud
|
126
|
-
cookbooks.
|
124
|
+
version_requirements: *id010
|
125
|
+
description: cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks.
|
127
126
|
email: coders@infochimps.com
|
128
127
|
executables: []
|
128
|
+
|
129
129
|
extensions: []
|
130
|
-
|
130
|
+
|
131
|
+
extra_rdoc_files:
|
131
132
|
- LICENSE
|
132
133
|
- README.md
|
133
|
-
files:
|
134
|
+
files:
|
134
135
|
- .gitignore
|
135
136
|
- .rspec
|
136
137
|
- CHANGELOG.md
|
@@ -144,6 +145,7 @@ files:
|
|
144
145
|
- cluster_chef.gemspec
|
145
146
|
- clusters/website_demo.rb
|
146
147
|
- config/client.rb
|
148
|
+
- config/proxy.pac
|
147
149
|
- lib/cluster_chef.rb
|
148
150
|
- lib/cluster_chef/chef_layer.rb
|
149
151
|
- lib/cluster_chef/cloud.rb
|
@@ -177,35 +179,36 @@ files:
|
|
177
179
|
- tasks/chef_config.rake
|
178
180
|
- tasks/jeweler_use_alt_branch.rake
|
179
181
|
homepage: http://infochimps.com/labs
|
180
|
-
licenses:
|
182
|
+
licenses:
|
181
183
|
- apachev2
|
182
184
|
post_install_message:
|
183
185
|
rdoc_options: []
|
184
|
-
|
186
|
+
|
187
|
+
require_paths:
|
185
188
|
- lib
|
186
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
189
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
187
190
|
none: false
|
188
|
-
requirements:
|
189
|
-
- -
|
190
|
-
- !ruby/object:Gem::Version
|
191
|
-
|
192
|
-
segments:
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
hash: 905624580831723867
|
195
|
+
segments:
|
193
196
|
- 0
|
194
|
-
|
195
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
|
+
version: "0"
|
198
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
199
|
none: false
|
197
|
-
requirements:
|
198
|
-
- -
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version:
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: "0"
|
201
204
|
requirements: []
|
205
|
+
|
202
206
|
rubyforge_project:
|
203
|
-
rubygems_version: 1.8.
|
207
|
+
rubygems_version: 1.8.15
|
204
208
|
signing_key:
|
205
209
|
specification_version: 3
|
206
|
-
summary: cluster_chef allows you to orchestrate not just systems but clusters of machines.
|
207
|
-
|
208
|
-
test_files:
|
210
|
+
summary: cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks.
|
211
|
+
test_files:
|
209
212
|
- spec/cluster_chef/cluster_spec.rb
|
210
213
|
- spec/cluster_chef/facet_spec.rb
|
211
214
|
- spec/cluster_chef/server_slice_spec.rb
|