riptano / ComboAMI

The AMI takes a set of input parameters via the EC2 user-data to install, RAID, ring, and launch a DataStax Enterprise/Community cluster.
69 stars 59 forks source link

Pre-2.5 branch locked down to a DSE version? #40

Closed jiminoc closed 10 years ago

jiminoc commented 10 years ago

I've been fighting a bug all day and I think it turns out you just pushed DSE4.0 to your debian repo since now it's trying to install DSE4.0 on the 2.4 branch but it also installs java 6 so there's a version mismatch there and everything fails to start.

should the apt-get install command be locked down to a target version for the branches? 2.4 in ds2_configure.py would have: sudo apt-get install -y dse-full=3.2.5-1

joaquincasares commented 10 years ago

What user-data were you sending? When DSE 4.0 is installed, it should automatically install Java 7 as well since Java 6 is already installed but DSE 4.0 needs Java 7.

No, that's not what's intended. The DataStax AMIs are intended to always install the newest version, by default. However, if you ever want to install another version of DSE or C* you can use the --release flag on either AMI.

The idea behind that is to have the newest releases always readily available at release time.

Hope that information helps.

jiminoc commented 10 years ago

thanks Joaquin... looks like the release tag is just enterprise/community not a specific release version of enterprise. Seems like another flag should be included like --releaseversion . Essentially what happens is you'll have a dse32/cass 1.2 cluster up, you're under load launch a new box and wow, to your surprise a dse4/cass 2 box comes in the cluster and isn't playing nicely with others.

if --releaseversion is passed in then it would at least lock you into a version until you're ready to bump up. I could submit something for that if so. thoughts?

Option that allows for a release version of Enterprise or Community

parser.add_option("--release", action="store", type="string", dest="release")
joaquincasares commented 10 years ago

The wording is funny, but when compared to that of --version, hopefully it's clearer. Rely on the README for the clearest information here, since that's typically where I focus external efforts.

--release is a specific version, like you were suggesting. --version will only be "Enterprise" or "Community".

Hope that clears things up.

jiminoc commented 10 years ago

gotcha that does, yes... and I took a look through the code. It looks like it will need to support to lock to a 4.0 release. Do you want me to update this issue ticket or start a new one?

ds2_configure.py should include support for locking down to a 4.0 release elif conf.get_config("AMI", "Type") == "Enterprise": elif options.release.startswith('3'):

3 is the highest it currently goes up to.

joaquincasares commented 10 years ago

Oh yes, that does need to be updated. I'll have to launch a node without dse installed, setup the repo and keys, then check all packages that have been added for the 4.0 release.

Feel free to create a new ticket and/or pull request. Hopefully I'll get to it at some point next week since DSE 4.0 is still supported via launches without the --release flag.

joaquincasares commented 10 years ago

Closing this ticket now that the option has been tested and is now live.