diff options
Diffstat (limited to 'bigtop-test-framework/README')
-rw-r--r-- | bigtop-test-framework/README | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/bigtop-test-framework/README b/bigtop-test-framework/README index 009972ce..0980a6a8 100644 --- a/bigtop-test-framework/README +++ b/bigtop-test-framework/README @@ -25,3 +25,43 @@ tasks via specific adapters: This project contains the experimental foundation of JarRunner and a meta-service utilizing it to perform tests execution. These two components might be joined together later. + +New cluster failures injection capabilities for smoke tests (see BIGTOP-1192 for details) +imposed certain additional requirements. Smoke tests running cluster failures against real clusters +expect the following preconditions to be satistied: + - For all hosts in the cluster being smoke-tested there's a dedicated user(like "jenkins" or "bigtop"), + which has password-less SSH access to those hosts and permissions to execute certain sudo commands + (see below) without password + - 2 new environment variable are set: + * BIGTOP_SMOKES_USER should contain username of user which will be used to run SSH commands + * BIGTOP_SMOKES_CLUSTER_IDENTITY_FILE should point to a file with private key for password-less SSH. + +To be able to run new itest framework internal test (see ClusterFailuresTest.groovy), the following change +is needed on the machine with Bigtop workspace: + - if your current user doesn't have password-less sude, then run 'visudo' and: + * add line in /etc/sudoers at the end of file like: (for Redhat): + myusername localhost = NOPASSWD:/usr/sbin/service,/usr/bin/pkill,/usr/sbin/iptables + +To be able to run real module smoke tests again real cluster, more complex setup is needed +on the machine with Bigtop workspace: + - make sure sshd is all nodes in the cluster + - check the following in /etc/ssh/sshd_config: + * PubkeyAuthentication yes + * PasswordAuthentication yes + - add new user, for example, "bigtop", on local machine AND on each cluster node, set some password, + make sure default shell is set + - on local machine, su bigtop, do ssh-keygen with empty passphrase + - run 'ssh-copy-id bigtop@<each cluster node>' + - log back in on your local machine as your regular user which you use to work with your workspace, copy the generated private + key for bigtop user somewhere, do chown and make sure it has right permissions (like 600) + - export BIGTOP_SMOKES_CLUSTER_IDENTITY_FILE=/full/path/to/private/key + - export BIGTOP_SMOKES_USER=bigtop + - on each remote node, run 'visudo' and + * add line in /etc/sudoers at the end of file like: (for Redhat): + bigtop localhost = NOPASSWD:/usr/sbin/service,/usr/bin/pkill,/usr/sbin/iptables + * Comment out line 'Defaults requiretty', otherwise sudo may complain like + "Sorry, you must have a tty to run sudo" + + - run following sample commands from your local machine to verify your setup: + * ssh -i /test_bigtop_ssh_key bigtop@<some cluster node> sudo service crond stop + * ssh -i /test_bigtop_ssh_key bigtop@<some cluster node> sudo service crond start |