michaelklishin/cassandra-chef-cookbook — pull request #79 by vkhatri (2014-07-15 18:31:34+00:00)
Title: Multiple Major Changes

- added `node.cassandra..source_dir` which is extracted directory, tar extracted directory name is kept unchanged

- install method changed from actual source tar directory to link. now old version C* configs remains same and Chef will setup new version gets setup during upgrades. `node.cassandra.installation_dir` is now a link to `node.cassandra..source_dir`

- using ulimit cookbook for ulimits, added node.cassandra.limits.nproc

- moved `cassandra::jna` recipe inside main recipe and configurable by an attribute

- using `node.cassandra.service_name` as a reference for service & init.d template resource in `cassandra::tarball` recipe

- moved cassandra user setup to `user` recipe and made user setup configurable by attribute `node.cassandra.setup_user`

- added `node.cassandra.group` attribute as a C* group, current recipe uses node.cassandra.user for group ownership, now using `node.cassandra.group`

- template location changed for init.d script resource, now auto configurable by `node.platform_family`

- added RHEL platform_family init.d script

- updated tar download, extract and setup flow in remote_file and bash resource. now tar file gets downloaded one time depending on source directory and extraction location changed from `node.cassandra.installation_dir` to `node.cassandra..source_dir`

- `node.cassandra.installation_dir` is now linked to `node.cassandra..source_dir`

- tar extracted package `node.cassandra..source_dir` default permissions set to 0755, one time permission set during extraction

- set attribute `node.cassandra.cluster_name` to nil, it could/would create problem if node is accidentally provisioned without correct cluster_name, though default cluster is not meant for production. But for production node provisioning one would have to spend extra time to flush the new node and would be a problem if dont know the steps (saying from experience)

- added check for `node.cassandra.cluster_name` attribute

I have tested new changes on Amazon instance to setup a new cluster and tested successfully.

Changes needs to be tested on Ubuntu machine, unfortunately i do not have Ubuntu machine at the moment to perform the testing.

Note: Existing Cluster could/would require to bring down the service on node as `node.cassandra.installation_dir` will get changed to `node.cassandra.source_dir`. I have not testing this scenario yet on Amazon instance, would update issue # 78 once have.

My apologies in advance if have made any bad change or have missed any change detail in PR.

Cheers