From b7feef6a6f138981b22d234197b1a8527111d3b0 Mon Sep 17 00:00:00 2001 From: Nathaniel Eliot Date: Wed, 18 Apr 2012 11:12:13 -0500 Subject: [PATCH 1/4] Make ironfan work with string (in addition to array) for cluster_path, to conform to chef semantics (fixes #130) --- lib/ironfan.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ironfan.rb b/lib/ironfan.rb index 538b29dc..698f7826 100644 --- a/lib/ironfan.rb +++ b/lib/ironfan.rb @@ -29,7 +29,7 @@ module Ironfan # path to search for cluster definition files def self.cluster_path - return Chef::Config[:cluster_path] if Chef::Config[:cluster_path] + return Array(Chef::Config[:cluster_path]) if Chef::Config[:cluster_path] raise "Holy smokes, you have no cookbook_path or cluster_path set up. Follow chef's directions for creating a knife.rb." if Chef::Config[:cookbook_path].blank? cl_path = Chef::Config[:cookbook_path].map{|dir| File.expand_path('../clusters', dir) }.uniq ui.warn "No cluster path set. Taking a wild guess that #{cl_path.inspect} is \nreasonable based on your cookbook_path -- but please set cluster_path in your knife.rb" From ae1e5cb4bf44f7f327f926d530dbb251bd48e4d4 Mon Sep 17 00:00:00 2001 From: Nathaniel Eliot Date: Thu, 19 Apr 2012 14:24:28 -0500 Subject: [PATCH 2/4] From conversation with Flip: the remainder of #81 should be a TODO item, not an issue --- TODO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TODO.md b/TODO.md index ed92f94e..48117c24 100644 --- a/TODO.md +++ b/TODO.md @@ -1,3 +1,5 @@ +* refactor standard dirs and volume_dirs into a single, more coherent resource + * We should use the `Fog::Compute::AWS::FLAVORS` constant that [fog defines](http://rubydoc.info/github/fog/fog/master/Fog/Compute/AWS) in the cloud code (instead of the one we put there) * All over the place there is the following construct (absolutely necessary, absolutely horrid): From f92a59f4769f3fe85fe7743dd805e2e5355e5b6a Mon Sep 17 00:00:00 2001 From: Nathaniel Eliot Date: Thu, 19 Apr 2012 14:25:22 -0500 Subject: [PATCH 3/4] Removing completed TODO item --- TODO.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/TODO.md b/TODO.md index 48117c24..39b5ecfd 100644 --- a/TODO.md +++ b/TODO.md @@ -39,9 +39,6 @@ ### Knife commands -* knife cluster launch should fail differently if you give it a facet that doesn't exist - - * reify notion of 'homebase'; cluster commands work off it * move away from referring to Chef::Config everywhere; From 474f99c28a29f6cacee3bc1493f5a8a23fd6dc13 Mon Sep 17 00:00:00 2001 From: Nathaniel Eliot Date: Thu, 19 Apr 2012 14:26:41 -0500 Subject: [PATCH 4/4] Removing completed TODO items related to Cluster Chef -> Ironfan rename --- TODO.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/TODO.md b/TODO.md index 39b5ecfd..8a7f1cd9 100644 --- a/TODO.md +++ b/TODO.md @@ -43,44 +43,6 @@ * move away from referring to Chef::Config everywhere; -__________________________________________________________________________ - -Rename completed, - -New homes: - -* **http://github.com/infochimps-labs/ironfan** -- the primary destination, and the home of the knife tools (pretty much what's here in `infochimps/cluster_chef`) -* **http://github.com/infochimps-labs/ironfan-pantry** -- collection of public cookbooks, roles and demo clusters -* **http://github.com/infochimps-labs/ironfan-homebase** -- skeleton homebase (looks a lot like the current cluster_chef-homebase) -* **http://github.com/infochimps-labs/ironfan-ci** -- continuous integration stuff (homebase/vagrants) -* **http://github.com/infochimps-labs/ironfan-scrubby** -- de-linter/simulator (`cluster_chef/lib/cluster_chef/cookbook_munger*`) -* **http://github.com/infochimps-labs/opscode-cookbooks** -- our fork of the opscode cookbooks repo - -## Phase 1: Regex Replace - -0. DONE warn about the name change. Since the `version_3` branch is left pre-namechange, decision was made to do a pull request when things are pull-able, not spam people before. -1. DONE Make a branch in each repo (`cluster_chef` and `*-homebase`) called `before_rename`, holding the current state of the code. Make another branch `ironfan`, where the renames will occur. That branch will be deleted as soon as the merge lands, hopefully before anyone even notices. -2. DONE Make sure `el_ridiculoso` is up to date and that it fully converges in the vagrant and cloud environments. -3. DONE Ensure all infochimps devs have push-pulled to various repos. make a tarball of the repos (.git and everything) and put them somewhere safe. -4. DONE rename the `vendor/infochimps/metachef` cookbook as vendor/infochimps/silverware. -5. DONE Bump the *minor* version number on all cookbooks (so 3.0.x => 3.1.x). Commit. -6. DONE regex-replace `ClusterChef` => `Ironfan`, `cluster_chef` to `ironfan` and `[Mm]etachef` => `[Ss]ilverware`. Do this in `cluster_chef` and `infochimps-labs/ironfan-homebase` only. Get chef-client to complete on el_ridiculoso using an emptied-and-reloaded local chef server. Run knife cluster sync on all clusters in all homebases against local chef server. -7. ... -12. DONE once the name is updated in the gemspec, release the `ironfan` gem. @temujin9 and I agree that it should be a single combined gem now that we won't have the stupid `_chef` gem name conflict. - -## Phase 2: Repo migration - -1. DONE back up the repo and put it somewhere safe. -2. DONE Transfer ownership of `infochimps/cluster_chef` to `infochimps-labs/cluster_chef`. Do whatever is necessary/possible to migrate issues over. -3. DONE Change name of `infochimps-labs/cluster_chef` to `infochimps-labs/ironfan`. Created new repo `infochimps-labs/ironfan-homebase`. 4. DONE Create new repo `infochimps/cluster_chef` with helpful link to new repo. I don't think we need a placeholder at `infochimps-labs/cluster_chef-homebase`. -5. DONE Rename master branch of old cluster chef to be `version_2`, and freeze the `version_3`. Both now carry a deprecation warning pointing you to ironfan. -6. IN PROGRESS Update any remaining documentation links, etc to point to new home. -7. IN PROGRESS Have all devs edit their .git/config to point at right place. - -so here is the dev-level worksforme -- @temujin9 will close once he's given it the sysadmin-level worksforme - - -