aboutsummaryrefslogtreecommitdiff
path: root/bigtop-test-framework/README
diff options
context:
space:
mode:
Diffstat (limited to 'bigtop-test-framework/README')
-rw-r--r--bigtop-test-framework/README40
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