I expected that --valgrind-tests and --valgrind-procs would enable valgrind for all ctslab tests. Instead, what it actually does is enable a special ValgrindTest. When I rearranged all the python code in ctslab, I failed to add that test, so right now those options don't actually do anything. You can see this test on the 2.0 branch (https://github.com/ClusterLabs/pacemaker/blob/2.0/cts/CTStests.py#L827). The weird thing is that the user still has to log on to all their ctslab nodes and modify /etc/sysconfig/pacemaker to enable valgrind. And then if you dig in further, you see that the test was disabled even then (the __call__ method doesn't do anything).
This doesn't seem very useful to me. If you have to edit things by hand, why is there even a special test? And why doesn't it do anything?
We should at least remove the --valgrind-tests option and investigate whether --valgrind-procs does anything useful. Then edit the documentation in cts/README.md to describe how to run ctslab under valgrind properly. Then test that it actually works.