Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate msperf #31

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Integrate msperf #31

wants to merge 12 commits into from

Conversation

pmauduit
Copy link
Contributor

It seems that my colleagues had access to the QGis 4 server in the past, so that they were able to integrate the C2C msperfs benchmarking tool.

This PR aims to integrate the tools in the same idea as the other ones from the ansible subdirectory, trying to avoid polluting the host system, and keeping most of the things into docker compositions / docker containers.

The playbook will take care of:

  • Getting the necessary git repositories (https://github.com/pmauduit/docker-osm initially from pvalsecc, forked from Gustry, and https://github.com/camptocamp/ms_perfs for the actual testsuite)
  • loading data from switzerland into a first compo (docker_osm)
  • preparing the second docker-compo from the ms_perfs repository (which actually takes care of launching the testsuite and gathering the results)
  • Configuring a cronjob (launched once a week, I guess that it what was done before)
  • Configuring a nginx vhost on the 8084 port so that the reports can be served

Tests: Tested in the previously introduced vagrant box.
Note: I am not a specialist of what does exactly the testsuite, my work has been to integrate it properly into the current ansible recipe, questions more in the details about it shall go to @yvesjacolin.

* we need ansible 8 to have postgresql_query
* adding a nginx configuration on 8084 to get the results
* reworked the "has the data been loaded ?" logic
TODO: check if the unprivileged user can use it without having issues
with permissions.
* ansible 2.8 was necessary before switching strategy to ensure data
  were loaded in the underlying docker composition (which was making use
  of postgresql* ansible modules only available in 2.7)

* Due to the previous point, I was in the need of libpq-dev because of
  the use of the postgresql modules.
@pblottiere
Copy link
Member

Hi @pmauduit,

First, thanks for your PR 👍! But we have some things to take care of before merging :).

It seems that my colleagues had access to the QGis 4 server in the past, so that they were able to integrate the C2C msperfs benchmarking tool.

qgis4 server is pretty new and I don't think that C2C had access in the past. msperfs was run on another server.

Configuring a cronjob (launched once a week, I guess that it what was done before)

Actually there are already performances tests at the same time, so we have to shift msperfs tests. BTW, cron minute/hour/weekday are defined in qgis4/ansible/vars.yml to keep a complete picture of the qgis4 schedule, so we should do the same in this case.

Moreover, to avoid any interferences with msperfs tests, other services have to be shutdown. To do that, we have to follow the same approach than for graffiti:

  • clean.sh script is called at midnight in order to clean the environment by stopping/removing services running in docker containers.
  • graffiti perfsuite starts at 1 AM
  • certifsuite starts at 5 AM
  • certification service starts at 6 M
  • QWC2 service restarts at 6 AM

So, we have to start msperf after graffiti/certifsuite but before certification/QWC2 services. We could easily shift these services, but we need to know the maximum time to allott to msperf. Do you have a rough idea about that?

Configuring a nginx vhost on the 8084 port so that the reports can be served

We don't have to do that. Actually, reports are pushed on another server thanks to a scp command. You can take a look to roles/certifsuite/templates/certifsuite-ci.sh.

@pmauduit
Copy link
Contributor Author

pmauduit commented Oct 9, 2019

qgis4 server is pretty new and I don't think that C2C had access in the past. msperfs was run on another server.

Ok, nevermind

So, we have to start msperf after graffiti/certifsuite but before certification/QWC2 services. We could easily shift these services, but we need to know the maximum time to allott to msperf. Do you have a rough idea about that?

I'm leaving the question to @yjacolin, as when I tried on my setup, tests were taking a different amount of time at each tries.

We don't have to do that. Actually, reports are pushed on another server thanks to a scp command. You can take a look to roles/certifsuite/templates/certifsuite-ci.sh.

Ok, I can remove it.

@pblottiere
Copy link
Member

BTW ping @elemoine

@yjacolin
Copy link
Member

yjacolin commented Oct 9, 2019

duration of ms_perfs is quiet long but we remove QGIS2 and we can remove other QGIS3-trust if it worth of it. Duration should be around 6hours in my minds but, well I am not sure of that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants