README 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. Quick start guide.
  2. ==================
  3. CTS: Cluster Test System
  4. The CTS uses a test driver node(TDN) to drive the execution of the test
  5. software. The CTS also uses 2 or more test target nodes(TTN) to run the test
  6. cases. The CTS software requires atleast 3 nodes 1 of which acts as a TDN and
  7. the remaining acting as TTNs.
  8. The dependencies of the TDN include Pacemaker and syslog-ng.
  9. The dependencies of the TTN include syslog-ng.
  10. On the single TDN install syslog-ng.
  11. On the single TDN, it is recommended at this time to install pacemaker from
  12. source so that the CTS from Pacemaker remains compatible with the current
  13. working version of the CTS components within Corosync.
  14. On the 2 or more TTNs install syslog-ng.
  15. 2] ssh access
  16. --------------------------------------------------------------------------------
  17. CTS requires login-less root access to the CNs.
  18. so if my CN is called "node32"
  19. # ssh node32
  20. should not ask for a password and result in a root shell.
  21. To enable this behavior, create a ssh key with the command ssh-keygen. When it
  22. prompts for a password, enter an empty field. It will create a file called
  23. ~/.ssh/id_dsa.pub. Copy that file to the TTNs into /root/.ssh/authorized_keys.
  24. Ensure permissions are 700 on /root/.ssh.
  25. Test ssh into the machine works without a password from the TDN.
  26. 3] Redirect corosync logging from the TTN to the TDN
  27. --------------------------------------------------------------------------------
  28. a) install & enable syslog-ng on the EN and CNs.
  29. b) put the following config into /etc/syslog-ng/syslog-ng.conf
  30. For the below configuration content, substitute the following with your
  31. environment:
  32. Note: obviously change the following to real values:
  33. @THE-LOG-FILE-HERE@ A log file name on the TTN
  34. @EXERCISER-HOSTNAME-HERE@ The host name of the TTN. To avoid DNS issues
  35. IP addresses also work and are more convient.
  36. Place this anywhere in the configuration file of the TDN:
  37. source s_tcp { tcp(port(9191) max-connections(99999)); };
  38. filter f_ha { facility(daemon); };
  39. destination ha_local { file(@THE-LOG-FILE-HERE@ perm(0644)); };
  40. log { source(s_sys); source(s_tcp); filter(f_ha); destination(ha_local); };
  41. Place this anywhere in the configuration file on the TTN:
  42. destination ha_tcp { tcp(@EXERCISER-HOSTNAME-HERE@ port(9191));};
  43. filter f_ha_tcp { facility(daemon); };
  44. log { source(s_sys); filter(f_ha_tcp); destination(ha_tcp); };
  45. c) Test that syslog-ng is working properly by using the logger command
  46. From the TTN:
  47. logger -p daemon.err "Hello from $(hostname)"
  48. Then on the TDN:
  49. tail @THE-LOG-FILE-HERE@
  50. 4] Install augeas on the TTN
  51. --------------------------------------------------------------------------------
  52. yum install augeas
  53. 5] Configuring corosync for CTSs testing
  54. --------------------------------------------------------------------------------
  55. ./configure --enable-testagents --enable-augeas
  56. and then install it on the TTN.
  57. 6] run CTS
  58. --------------------------------------------------------------------------------
  59. cd <your-corosync-src-dir>/cts
  60. python ./CoroLab.py -L @THE-LOG-FILE-HERE@ --at-boot 0 --nodes "n1 n2"