Testing - michaelsevilla/mantle-popper GitHub Wiki
Testing
We use the ceph-qa-suite. First, make sure you have a sane environment by setting up the virtual environment as specified in the vstart runner (here). You need to make 2 adjustments:
-
Install packages into the Python virtual environment:
cd /home/msevilla/teuthology mkdir virtualenv virtualenv virtualenv source virtualenv/bin/activate pip install -U setuptools manhole python-dateutil --upgrade pytz apache-libcloud apt-get update -y; apt-get install -y libffi-dev pip install gevent paramiko cryptography cffi pyaml configobj requests netaddr pexpect pip install -U cffi -
You should run everything as the root user (since ceph-fuse will only mount if you are the superuser) but must make one small change for this to work:
diff --git a/tasks/cephfs/vstart_runner.py b/tasks/cephfs/vstart_runner.py index 3d0c7da..1fa05b9 100644 --- a/tasks/cephfs/vstart_runner.py +++ b/tasks/cephfs/vstart_runner.py @@ -257,7 +257,7 @@ class LocalDaemon(object): Return PID as an integer or None if not found """ ps_txt = self.controller.run( - args=["ps", "-xwwu"+str(os.getuid())] + args=["ps", "-xwwu1"] ).stdout.getvalue().strip() lines = ps_txt.split("\n")[1:]
After that you should be able to do everything from the vstart_runner.py script:
sudo su root
cd /home/msevilla/mantle/src
OSD=3 MON=1 MDS=2 ./vstart.sh -n
PYTHONPATH=/home/msevilla/teuthology/:/home/msevilla/ceph-qa-suite/ python /home/msevilla/ceph-qa-suite/tasks/cephfs/vstart_runner.py tasks.cephfs.test_mantle
PYTHONPATH=/home/msevilla/teuthology/:/ceph/qa/ python /ceph/qa/tasks/vstart_runner.py tasks.cephfs.test_mantle
I did NOT test:
-
invalid balancer log
-
loading lua state
-
loading lua string
-
Script invalid Lua or does not return array
-
Script not in RADOS
-
Script not set ("")