Project: datamanagement
Issue DM-5864: Improve Qserv CI using multinode tests
Here's some tracks: 1. Run multinode integration tests during qserv_distrib CI build. In order to do that we could create a qserv_testmultinodes repository containing a build script which would launch multinode tests (for example see travis.yml) I can do this on my side but i'll require a recent version of Docker on the build machine. 2. I'll need your help to do next step: Each time command below succeed: {code:bash} rebuild qserv_distrib {code} publish this build to eups web repository and docker hub by running: {code:bash} # bXXX is the build id and is available at the bottom of rebuild command standard output publish -b bXXX -t qserv-dev qserv_distrib # then create and publish to docker hub image "qserv/qserv:dev" # which embed current build products and is used for all Qserv deployment # (bare-metal, openstack, travis, developper machines) $QSERV_DIR/admin/tools/docker/2_build-dev-image.sh {code} As a TODO list, here's what could be done in an additional ticket, in the long term: - run multinode integration test inside Jenkins instead of Travis? * Travis/Gitub integration is very good, so I'm not sure this feature is still an active concern? * on the other hand Travis has to download qserv/qserv:dev at each build, and if there's a timeout here, the build sometime fails. I don't know if this image can be cached in Travis free version? * current procedure doesn't support yet tickets branch accross multiple repositories, (like qserv+xrootd+qserv_testdata for example). Do you think this feature would be easier to implement in Jenkins?
Story points: 10