- Notifications
You must be signed in to change notification settings - Fork 90
Update test server node generation for riak 1.4 #106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm running Ubuntu 12.10 and getting the following error when running specs:
#<Errno::ENOENT: No such file or directory - /usr/releases/start_erl.data>I've installed riak with apt-get and the location of start_erl.data file is /usr/lib/riak/releases/start_erl.data.
So, maybe this should be config or ENV variable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will carve out some time shortly to try and reproduce & resolve this; locating this file (and other things) this is part of what the test server was trying to accomplish with all the symlink checking & poking around the riak scripts; something I'm hoping to move away from.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not optionally read the lib/env.sh instead of assuming the basedir will always be the parent of the source?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a reason to read config files for base_dir if we require test code to specify a source. I think we can continue working through the ubuntu differences ; except for the following issue:
TL/DR: I think we may have a few packaging issues that need to be fixed before we can support ubuntu.
Details:
Under ubuntu (upon fixing the start_erl) issue; file permissions of a few things in the lib directory are making it problematic to recuse copy (using FileUtils.cp_r) copy this directory as a regular user. (lib/app_epath.sh) - also (erts-5.9.1/bin/nodetool).
In the case of the erts dir; we can create a local symlink and should be fine; however we can't use that strategy for the lib dir since we have to rewrite env.sh. Without moving the lib dir; the test server can't rewrite the lib/env.sh file which is now needed to set variables for 1.4 to start.
I could not use FileUtils.cp_r and just move parts of lib individually; but my real question is - why are there .sh files in lib at all? If we have to have them; why are the permissions set to 700 instead of 755 like most of the other files in those directories.
| This is working for me on Mac OS X. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this changed to the inverse? The point of "drop" was to wipe data but not modify the cluster, e.g. a development cluster for your specific app that occasionally needs to have its data wiped. You don't want to have to rejoin that cluster when you start it back up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wager that most users of test server are not setting up and retaining a cluster > size 1 as part of a test suite. That is what vagrant, chef, ansible, and other cluster provisioning tools are for. Interestingly; it seems as if the ring gets recreated w/ single node defaults if it is destroyed by drop & test suites I use haven't been negatively impacted by this.
I don't have a strong opinion on this matter; I'm more concerned about the need to support various source directory structures based upon frequently changing platform packaging. Willing to revert this change.
| So I did find a good reason to make test-client work on Ubuntu: travis. |
| Well... we can also refactor the suite so it uses random buckets/keys. But that doesn't fix the test server for other people. |
In addition to making the test server work with riak 1.4; this PR makes the following high level changes: