Skip to content

Commit

Permalink
Dumping old issues triage into TODO
Browse files Browse the repository at this point in the history
  • Loading branch information
temujin9 committed Apr 12, 2012
1 parent 18d2261 commit 2974ad0
Showing 1 changed file with 113 additions and 0 deletions.
113 changes: 113 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,116 @@ New homes:
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






# Old Issues Triage
From https://github.com/infochimps-labs/ironfan/issues/102 with love. Deleted ownership, and everything that was done or has its own issue.

## Must Do
* merge volumes into silverware. merge ebs_volumes into ec2 cookbook
* Basic CI testing of cookbooks
* RSpecs for silverback (lib and knife tools)
* RSpecs for silverware are mostly in place -- ensure they are.
* push cookbooks to community.opscode.com
* refine and explain updated git workflow

## Docco
Use the [opscode EC2 fast start](http://wiki.opscode.com/display/chef/EC2+Bootstrap+Fast+Start+Guide) as a guide -- our getting started should start at the same place, and cover the same detail as the EC2 bootstrap guide.

* Clear description of metadiscovery
* make sure README files in cookbooks aren’t wildly inaccurate
* Carry out setup directions, ensure they work:
- cluster_chef if you’re using our homebase
- cluster_chef if you’re using opscode’s homebase
* local vagrant environment
* hadoop cluster bootstrapping

## Piddly Shit

* standardize the `zabbix` cookbook (no more /opt, etc -- more in the TODO)
* volumes don't deep merge -- eg you have to mount_ephemerals in the facet if you modify htem
* kill_old_service should disable services (may be leaving /etc/rc.d cruft).
* kill old service doesn't go the first time. why?
* chef client/server cookbook: set chef user UID / GID; client can set log directory
* apt has a dashboard at http://{hostname}:3142/report
* can use knife ssh as me@ or as ubuntu@
* knife command to set/remove permanent on a node + disableApiTermination on box. knife cluster kill refuses to delete nodes with permanent set. knife cluster sync sets permanent on if permanent(true), removes if permanent(false), ignores if permanent nil or unset.
* style-guide alignment (prefix_root becomes prefix)

## Really Want

* unify the hashlike underpinning to be same across silverware & cluster_chef. Make sure we love (or accept) all the differences between it and Gorrillib’s, and between it and Chef’s.
* Keys are transmitted in databags, using a helper, and not in node attributes
* easy to create a dummy node (load balancer, external resource, etc)
* components can have arbitrary attributes (kinda. they take an `:info` param, behavior which may change later)
* All cookbooks have nice detailed announcements
* full roll out of log_integration, monitoring
* Git deploy abstraction similar to `install_from`

## Cookbook checklist:
* Validate all the cookbooks against checklist -- see notes/README-checklist.md

| flip fixed | temujin9 checked |
+------------+------------------+
cassandra | | |
ec2 | | |
elasticsearch | | |
firewall | | |
flume | | |
ganglia | | |
graphite | | |
hadoop_cluster | | |
hbase | | |
hive | | |
jenkins | | |
jruby | | |
nfs | | |
nodejs | | |
papertrail | | |
pig | | |
redis | | |
resque | | |
Rstats | | |
statsd | | |
zookeeper | | |
# meta:
install_from | | |
motd | | |
mountable_volumes | | |
provides_service | | |
# Need thinkin':
big_package | | |
cluster_chef | | |


## Things that are probably straightforward to fix as soon as we know how

* announcements should probably be published very early, but they need to know lots about the machine YUK
* split between clusters / roles / integration cookbooks
* inheritance of clusters

## Things We Hate But Might Have to Continue Hating

* Cluster refactor -- clusters / stacks / components, not clusters / roles / cookbooks
* move cluster discovery to cloud class.
* Server#normalize! doesn’t imprint object (ie. server attributes poke through to the facet & cluster, rather than being *set* on the object)
* The fact you can only see one cluster at a time is stupid.
* security group pairing is sucky.
* ubuntu home drive bullshit
* Finer-grained security group control (eg nfs server only opens a couple ports, not all)
* nfs recipe uses discovery right (thus allowing more than one NFS share to exist in the universe)
* roles UGGGHHHHAERWSDFKHSBLAH

## Ponies!
* sync cookbooks up/down to `infochimps-cookbooks/` 
  - note: infochimps-cookbooks the org will be dereferenced in favor of ironfan-lib the single repo; it's unclear which pull requesters will prefer. We will do at least one push so that names and URLs are current, and we're not removing anything, but infochimps-cookbooks has an unclear future.
* foodcritic compatibility
* build out cookbook munger, make it less spike-y
* spot pricing
* rackspace compatibility
* cookbook munger reads comments in attributes file to populate metadata.rb
* `gem install ironfan; ironfan install` checks everything out

0 comments on commit 2974ad0

Please sign in to comment.