Skip to content
Browse files

CHANGELOG, notice of name change, enabling fix to Rakefile

  • Loading branch information...
1 parent f989ef4 commit 2c9a8a94b762c0716b83b4adb8aac4b1d757a1eb Philip (flip) Kromer committed
View
24 CHANGELOG.md
@@ -1,3 +1,27 @@
+## v3.0.14:
+
+Big important change:
+
+# ClusterChef is now Ironfan
+
+Due to a polite request from outside, we are changing this project's name to not include the word 'Chef'.
+
+It's now 'Ironfan', after Princess Iron Fan from the legend of Sun Wukong (Voyage to the West). The monkey hero Sun Wukong could not reach his destination without the help of the Princess's Iron Fan. The project helps you fan out across big iron in the sky -- and "You Can't Do B.I. without a Big Ironfan".
+
+This weekend (2/18) everything in the cluster_chef family of everything will get regex-replaced as ironfan. We'll track both gems for the next push or so, but new versions of the gem will not be released after Feb 2012.
+
+Other improvements/fixes:
+
+* knife cluster proxy now accepts additional hosts to direct to proxy -- set Chef::Config[:cluster_proxy_patterns] to an array of additional glob-style strings. Use this with the route53 support for fun and profit - if your machines look like foo-server-0-internal.whatupchimpy.com, add Chef::Config[:cluster_proxy_patterns] = '*internal.whatupchimpy.com*' to your knife-org.rb -- now you can browse securely to the private interface of any machine your target can.
+* FIX #76 -- `knife cluster kick` runs chef-client if the service is stopped. Fixes #76 . Also knife ssh will at its end show a bright red list of machines whose commands exited with a non-zero exit code -- useful when 1 out of 30 machines fails a knife cluster kick.
+* A limited number of commands (ssh, show, kill) now run with no requirement of cloud anything (Relates to #28). Also worked around an annoying incompatibility with chef 0.10.8 (clients have a 'name') vs 0.10.40-and-prev (clients have a 'clientname'.
+* examples all live in `ironfan-homebase` now.
+* When you `knife cluster stop` a node, it sets `node[:state]` to
+* the cookbook linter now has its own project: [ironfan-scrubby](https://github.com/infochimps-labs/ironfan-scrubby). Along the way,
+ - some ability to cycle comments from the attributes file into node attribute docs in the `metadata.rb`.
+ - added helpful links to the `README.md` template
+* minor fix to the new `authorized_by` calls
+
## v3.0.11: We Raid at Dawn
* You can now assemble raid groups in the cluster definition:
View
4 Rakefile
@@ -18,6 +18,8 @@
# limitations under the License.
#
+DEPRECATED_NAME = "!! This gem has been renamed 'ironfan' (from cluster_chef). \n It will not be updated after Feb. 2012. \n Sorry for the inconvenience."
+
require 'rubygems' unless defined?(Gem)
require 'bundler'
begin
@@ -64,8 +66,10 @@ gems_to_release.each do |gem_name|
if gem.name == 'cluster_chef'
gem.files.reject!{|f| f =~ %r{^(cluster_chef-knife.gemspec|lib/chef/knife/)} }
gem.add_runtime_dependency 'cluster_chef-knife', "= #{File.read('VERSION').strip}"
+ gem.post_install_message = DEPRECATED_NAME
elsif gem.name == 'cluster_chef-knife'
gem.files.reject!{|f| f =~ %r{^(cluster_chef.gemspec|lib/cluster_chef)} }
+ gem.post_install_message = DEPRECATED_NAME
elsif gem.name == 'ironfan'
true # pass
else
View
8 cluster_chef-knife.gemspec
@@ -7,12 +7,10 @@ Gem::Specification.new do |s|
s.name = "cluster_chef-knife"
s.version = "3.0.14"
- puts "Note: cluster_chef is now named 'ironfan'. New versions of the cluster_chef gem will not be pushed after March 2012. Sorry for the inconvenience..."
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Infochimps"]
s.date = "2012-02-15"
- 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."
+ s.description = "cluster_chef-knife 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."
s.email = "coders@infochimps.com"
s.extra_rdoc_files = [
"LICENSE",
@@ -65,9 +63,10 @@ Gem::Specification.new do |s|
]
s.homepage = "http://infochimps.com/labs"
s.licenses = ["apachev2"]
+ s.post_install_message = "!! This gem has been renamed 'ironfan' (from cluster_chef). \n It will not be updated after Feb. 2012. \n Sorry for the inconvenience."
s.require_paths = ["lib"]
s.rubygems_version = "1.8.15"
- 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."
+ s.summary = "cluster_chef-knife 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."
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"]
if s.respond_to? :specification_version then
@@ -106,3 +105,4 @@ Gem::Specification.new do |s|
s.add_dependency(%q<configliere>, ["~> 0.4.8"])
end
end
+
View
4 cluster_chef.gemspec
@@ -7,8 +7,6 @@ Gem::Specification.new do |s|
s.name = "cluster_chef"
s.version = "3.0.14"
- puts "Note: cluster_chef is now named 'ironfan'. New versions of the cluster_chef gem will not be pushed after March 2012. Sorry for the inconvenience..."
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Infochimps"]
s.date = "2012-02-15"
@@ -66,6 +64,7 @@ Gem::Specification.new do |s|
]
s.homepage = "http://infochimps.com/labs"
s.licenses = ["apachev2"]
+ s.post_install_message = "!! This gem has been renamed 'ironfan' (from cluster_chef). \n It will not be updated after Feb. 2012. \n Sorry for the inconvenience."
s.require_paths = ["lib"]
s.rubygems_version = "1.8.15"
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."
@@ -110,3 +109,4 @@ Gem::Specification.new do |s|
s.add_dependency(%q<cluster_chef-knife>, ["= 3.0.14"])
end
end
+
View
8 lib/chef/knife/cluster_start.rb
@@ -27,6 +27,14 @@ class ClusterStart < ClusterChef::Script
def relevant?(server)
server.startable?
end
+
+ def perform_execution(target)
+ section("Starting machines")
+ super(target)
+ section("Announcing Chef nodes as started")
+ target.send(:delegate_to_servers, :announce_as_started)
+ end
+
end
end
end
View
2 lib/cluster_chef/chef_layer.rb
@@ -150,7 +150,7 @@ def chef_client_script_content
end
def announce_state state
- @chef_node.override[:state] = state
+ @chef_node.set[:state] = state
end
protected
View
12 lib/cluster_chef/server.rb
@@ -263,11 +263,19 @@ def block_device_mapping
composite_volumes.values.map(&:block_device_mapping).compact
end
+ # ugh. non-dry below.
+
+ def announce_as_started
+ return unless chef_node
+ announce_state('start')
+ chef_node.save
+ end
+
def announce_as_stopped
return unless chef_node
- announce_state('stopped')
+ announce_state('stop')
chef_node.save
end
-
+
end
end

0 comments on commit 2c9a8a9

Please sign in to comment.
Something went wrong with that request. Please try again.