cluster_chef 3.0.9 → 3.0.10
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/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
|