cluster_chef-knife 3.0.10 → 3.0.11
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 +14 -0
- data/TODO.md +8 -0
- data/VERSION +1 -1
- data/cluster_chef-knife.gemspec +2 -2
- data/lib/chef/knife/cluster_launch.rb +5 -14
- data/lib/chef/knife/cluster_proxy.rb +1 -1
- data/lib/chef/knife/cluster_sync.rb +1 -0
- data/lib/chef/knife/knife_common.rb +1 -1
- metadata +3 -3
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## v3.0.11: We Raid at Dawn
|
2
|
+
|
3
|
+
* You can now assemble raid groups in the cluster definition:
|
4
|
+
- node metadata instructing the volumes recipe to build the raid volume
|
5
|
+
- marks the component volumes as non-mountable, in the appropriate raid group, etc
|
6
|
+
* Changed the order of `cluster_role` and `facet_role` in the run list. It now goes:
|
7
|
+
- `:first` roles (cluster then facet)
|
8
|
+
- `:normal` roles (cluster then facet)
|
9
|
+
- special roles: `cluster_role` then `facet_role`
|
10
|
+
- `:last` roles (cluster then facet)
|
11
|
+
* knife cluster launch uses ClusterBootstrap, not knife's vanilla bootstrap.
|
12
|
+
* can now do group('group_that_wants').authorized_by_group('group_that_grants') so that in cluster A I can request access to cluster B without gaining its group myself.
|
13
|
+
* push the organization (if set) into the node metadata
|
14
|
+
|
1
15
|
## v3.0.10: Cloud fixes
|
2
16
|
|
3
17
|
* 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.
|
data/TODO.md
CHANGED
@@ -6,3 +6,11 @@
|
|
6
6
|
* knife cluster kick fails if service isn't running
|
7
7
|
* make clear directions for installing `cluster_chef` and its initial use.
|
8
8
|
* knife cluster launch should fail differently if you give it a facet that doesn't exist
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
### ssh_user, ssh_identity_file, keypair, template should be set by cluster except when they shouldn't
|
13
|
+
|
14
|
+
### Organization-specific homebase files
|
15
|
+
|
16
|
+
The current organization of the homebase needs to better scope organization-specific customizations
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.11
|
data/cluster_chef-knife.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "cluster_chef-knife"
|
8
|
-
s.version = "3.0.
|
8
|
+
s.version = "3.0.11"
|
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 = "2012-01-
|
12
|
+
s.date = "2012-01-24"
|
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 = [
|
@@ -17,6 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require File.expand_path(File.dirname(__FILE__)+"/knife_common.rb")
|
20
|
+
require File.expand_path(File.dirname(__FILE__)+"/cluster_bootstrap.rb")
|
20
21
|
|
21
22
|
class Chef
|
22
23
|
class Knife
|
@@ -26,15 +27,15 @@ class Chef
|
|
26
27
|
deps do
|
27
28
|
require 'time'
|
28
29
|
require 'socket'
|
29
|
-
|
30
|
-
Chef::Knife::Bootstrap.load_deps
|
30
|
+
Chef::Knife::ClusterBootstrap.load_deps
|
31
31
|
end
|
32
32
|
|
33
33
|
banner "knife cluster launch CLUSTER_NAME [FACET_NAME [INDEXES]] (options)"
|
34
34
|
[ :ssh_port, :ssh_password, :identity_file, :use_sudo,
|
35
|
-
:prerelease, :bootstrap_version, :template_file, :distro
|
35
|
+
:prerelease, :bootstrap_version, :template_file, :distro,
|
36
|
+
:bootstrap_runs_chef_client, :host_key_verify
|
36
37
|
].each do |name|
|
37
|
-
option name, Chef::Knife::
|
38
|
+
option name, Chef::Knife::ClusterBootstrap.options[name]
|
38
39
|
end
|
39
40
|
|
40
41
|
option :dry_run,
|
@@ -53,16 +54,6 @@ class Chef
|
|
53
54
|
:description => "Also bootstrap the launched node (default is NOT to bootstrap)",
|
54
55
|
:boolean => true,
|
55
56
|
:default => false
|
56
|
-
option :bootstrap_runs_chef_client,
|
57
|
-
:long => "--[no-]bootstrap-runs-chef-client",
|
58
|
-
:description => "If bootstrap is invoked, the bootstrap script causes an initial run of chef-client (default true).",
|
59
|
-
:boolean => true,
|
60
|
-
:default => true
|
61
|
-
option :host_key_verify,
|
62
|
-
:long => "--[no-]host-key-verify",
|
63
|
-
:description => "Verify host key, enabled by default.",
|
64
|
-
:boolean => true,
|
65
|
-
:default => true
|
66
57
|
|
67
58
|
def run
|
68
59
|
load_cluster_chef
|
@@ -97,7 +97,7 @@ class Chef
|
|
97
97
|
#
|
98
98
|
def dump_proxy_pac
|
99
99
|
pac_filename = File.expand_path(File.join('/tmp', "cluster_chef_proxy-#{ENV['USER']}.pac"))
|
100
|
-
ui.info("point your browser at PAC (automatic proxy config file)
|
100
|
+
ui.info("point your browser at PAC (automatic proxy config file) file://#{pac_filename}")
|
101
101
|
File.open(pac_filename, 'w') do |f|
|
102
102
|
f.print %Q{function FindProxyForURL(url, host) {
|
103
103
|
if ((shExpMatch(host, "*ec2*.amazonaws.com" )) ||
|
@@ -121,7 +121,7 @@ module ClusterChef
|
|
121
121
|
bootstrap.config[:distro] = config[:distro] || server.cloud.bootstrap_distro
|
122
122
|
bootstrap.config[:use_sudo] = true unless config[:use_sudo] == false
|
123
123
|
bootstrap.config[:chef_node_name] = server.fullname
|
124
|
-
bootstrap.config[:client_key] = server.client_key.body
|
124
|
+
bootstrap.config[:client_key] = server.client_key.body if server.client_key.body
|
125
125
|
|
126
126
|
bootstrap
|
127
127
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: cluster_chef-knife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 3.0.
|
5
|
+
version: 3.0.11
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Infochimps
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-01-
|
13
|
+
date: 2012-01-24 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: chef
|
@@ -176,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
176
|
requirements:
|
177
177
|
- - ">="
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
hash:
|
179
|
+
hash: 2883280125648369733
|
180
180
|
segments:
|
181
181
|
- 0
|
182
182
|
version: "0"
|