Closed zmitrok closed 8 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?
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.
@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.
@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.
@michaelklishin sorry have not gotten time to look into it. i am targeting it for this week.
@vkhatri thank you!
@vkhatri is this still relevant?
@michaelklishin i have not gotten any time to look into it, but i think so. i will look into it tomorrow.
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
@zmitrok we are happy to support DSE via a different recipe, can you point us at what the differences are?
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?
@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).
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.
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!
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.
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.