Skip to content

Conversation

@randysecrist
Copy link
Contributor

In addition to making the test server work with riak 1.4; this PR makes the following high level changes:

  • Simplify the generation by coping everything except the data directory.
  • Remove support for a symlinked basedir.
  • Depend less on the control script.
  • Add support for the env script.
  • Move protobuf config to riak_api for 1.4 only
  • Make backward compatible with riak 1.3.
Copy link

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?

Copy link
Contributor Author

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.

Copy link
Contributor

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?

Copy link
Contributor Author

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.

@bkerley
Copy link
Contributor

bkerley commented Aug 14, 2013

This is working for me on Mac OS X.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

@bkerley bkerley merged commit 08d91de into master Aug 16, 2013
@bkerley
Copy link
Contributor

bkerley commented Aug 17, 2013

So I did find a good reason to make test-client work on Ubuntu: travis.

@seancribbs
Copy link
Contributor

Well... we can also refactor the suite so it uses random buckets/keys. But that doesn't fix the test server for other people.

@bkerley bkerley deleted the rs_test_server branch October 4, 2013 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants