cassandralauncher
cassandralauncher copied to clipboard
All source does not exist
When working with the ami provided, I'd like to be able to change the way some versions initialize in our system. I can do this by launching the default AMI, edititng the python, then creating my own ami from this image. However, this source file is not present in the ami.
ds2_configure.pyc
Only the compiled code is. Could you please update this so that I can configure the ami to meet our configuration?
OR
As an alternative solution, we want to be able to configure vnodes as well as the amount of heap used. I can't seem to find any documentation on which configuration options can be passed in the "user_data" value. Can these be set from the client when starting the instance?
Thanks, Todd
Do note that this issue has been incorrectly filed against the cassandralauncher
project as this relates to the ComboAMI
project. The cassandralauncher merely ensures the EC2 environment is properly setup, options are properly chosen, and the user_data is properly formatted. Then the user_data is submitted to a fresh AMI that does the install, setup, and provisioning.
If you wish to create your own AMI, I've included full instructions here: https://github.com/riptano/ComboAMI/blob/2.4/presetup/setup.md
ds2.py actually removes itself on as soon as it starts running. The idea is to let the user know it's a one time only setup. That way they'd know that after launch, the AMI does very little on restart. https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L999
You can't update the AMI locally because even if you do add ds2 back, there are settings in the ami.conf that are relied on for code path purposes. If you wanted to modify your own AMI, you'd have to bake your own AMI first, then push to github. On first launch your AMI will ping github and pull down the latest code before continuing (ds0.py).
But ideally, I would suggest applying your changes to the public AMI to benefit the rest of the community that may in fact want this as well. I'll leave this ticket open to get around to this soon, but pull requests are highly welcome.
Here are the places where you'd want to add your code: https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L189 https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L503 https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L635
If you do a pull request, I'd have to ask that you make your pull request against the dev
branch. If you'd like, you can send your account id to my email (as found on my github profile) and I can give you access to the dev AMI for you to test on. (https://portal.aws.amazon.com/gp/aws/manageYourAccount. Example: xxxx-xxxx-xxxx) Once you've added the options you'd like, I'll simply test a few launches and merge your changes onto the 2.4
branch, which the AMI relies on.
Also, I'd like to add that heapsize is already handled on the AMI via a "community" option. We didn't want to burden first-time users with an array of options, but someone has already requested this options so we've silently added it. Let me know if it doesn't work for you. https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L179 https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L649
Also, vnodes should already be enabled if you're on a Community install that's newer than 1.2. It isn't enabled with DSE installs because of issues with Analytics compatibility. https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L349 https://github.com/riptano/ComboAMI/blob/2.4/ds2_configure.py#L555
Cheers, Joaquin