michaelklishin / cassandra-chef-cookbook

Chef cookbook for Apache Cassandra, DataStax Enterprise (DSE) and DataStax agent
Apache License 2.0
163 stars 228 forks source link

DSE recipe installs the wrong package #159

Closed zmitrok closed 8 years ago

zmitrok commented 9 years ago

While it may be possible to install dsc20 from a Datastax Enterprise Repo there is no way that the DSE cassandra can be installed and configured using the templates and recipes in this repository. There are no configuration templates for DSE services. The 'DSE' integration test does not try to install the 'dse' package either - it installs the 'dsc20' instead.

Please update the README to clearly state that the Datastax Enterprise distribution of Cassandra is NOT supported so people don't waste time trying to make it work.

willejs commented 9 years ago

I need to roll out DSE very soon, so i may be patching the cookbook to add DSE support. @zmitrok do you have any other comments, how are you now installing and configuring DSE?

zmitrok commented 9 years ago

I ended up adapting and forking https://github.com/target/dse-cookbook as it covers the DSE configuration files. I used the latest version and it was relatively easy to make things work. I know forking cookbooks is bad but cookbook development is not my primary responsibility. DSE can also be deployed using OpsCenter - I did not go down that path.

vkhatri commented 9 years ago

@zmitrok would appreciate if you could highlight the issues, so that someone can take a look. there have been significant changes lately and cookbook might require changes for dse setup.

also please provide details of os platform / version, dse version, java version or any other details you think will be helpful in troubleshooting.

i see you have succeeded using mentioned cookbook.

michaelklishin commented 9 years ago

@vkhatri I see a couple of things mentioned

There are no configuration templates for DSE services. The 'DSE' integration test does not try to install the 'dse' package either - it installs the 'dsc20' instead.

Both should be fairly straightforward. DSE seems to be freely available for development.

vkhatri commented 9 years ago

@michaelklishin sorry have not gotten time to look into it. i am targeting it for this week.

michaelklishin commented 9 years ago

@vkhatri thank you!

michaelklishin commented 9 years ago

@vkhatri is this still relevant?

vkhatri commented 9 years ago

@michaelklishin i have not gotten any time to look into it, but i think so. i will look into it tomorrow.

zmitrok commented 9 years ago

Sorry for a late reply. @vkhatri the main issue for me was that DSE expected a slightly different set of config files in locations different from the open source Cassandra. I have maintained a custom cookbook for both DSE 4.6 and DSE 4.7 and while the config files were mostly the same for both DSE revisions, the configuration parameters were different. With the knowledge of DSE configuration that I have now, I would not even try to cover both open source and enterprise versions of Cassandra with a single recipe. Just my 2c

michaelklishin commented 9 years ago

@zmitrok we are happy to support DSE via a different recipe, can you point us at what the differences are?

zmitrok commented 9 years ago

This https://github.com/target/dse-cookbook/blob/master/spec/default_spec.rb spec is a good place to start. Correct me if I am wrong, but it looks like your cookbook will always install dsc20 or dsc21 package regardless of what repo is chosen, Datastax or public. When people want DSE, they usually want dse-* packages where Cassandra is tightly integrated with, say, SOLR or Spark, or other goodies. And this is where things get complicated. Datastax changed the location of all configuration files, and on top of that, they have a few DSE-specific settings that must be set or else nothing works. Does this help?

michaelklishin commented 9 years ago

@zmitrok your observations are correct for cases with all defaults. You can override package name (and it's pretty much necessary because it has version in the name).

zmitrok commented 9 years ago

So let's say that I override the package name and put 'dse-full-4.7.0' instead of dsc20. I am still left with a problem of the community recipe not putting the configuration files where a dse-full package expects them.

michaelklishin commented 9 years ago

Sure, we understand what the issue is in general and needed a bit more specifics. Which I believe your cookbook's spec suite provides. Thank you!

michaelklishin commented 8 years ago

I think this is addressed by https://github.com/michaelklishin/cassandra-chef-cookbook/commit/8edadfd4e03db6fb6883e0c71ebce7f725ce8cb0 and https://github.com/michaelklishin/cassandra-chef-cookbook/commit/392f80c1a0dd5e02c53e4e6a7adb87e0870cf16c. Let me know if something else is missing, broken or makes no sense.