cms-PdmV / cmsPdmV

CERN CMS McM repository
4 stars 10 forks source link

Allow the testing environment to perform request injection on ReqMgr2 #1143

Closed ggonzr closed 2 months ago

ggonzr commented 2 months ago

Related to: #1124

This enhances the testing environment to allow submissions to ReqMgr2 for integrating the test cases that involve injecting requests there. Some of the updates are summarized below:

  1. Update the action.sh script to deploy an environment also for local development purposes, not relying only on the GitHub Action runners.
    • In case some of the containers fail to start, this retrieves its log.
  2. Retrieve all required credentials for opening SSH sessions from the environment. Also, mount certificates to authenticate requests to CMS Web services as secrets.
  3. Allow the deployment of two versions, one for Python 2 and another for Python 3 to perform regression testing.
    • Take the source from Dockerfile definitions directly from Git. Details here.
    • Patch the CouchDB Lucene configuration file so that the Apache CouchDB source is not fixed.
    • Provide the McM base URL dynamically, this is required to also integrate the wmcontrol module for injections.
  4. Remove the dependency on AFS mounted in the deployment host. Use SSH sessions to prepare the working folder in AFS for submitting requests.
  5. Remove the dependency on sendmail, and configure the SMTP session so that it can send emails on its own.
  6. Remove duplicated code related to the initial test plan, and use directly the new version of the McM REST client by just installing the package.
  7. Decrease the log level for some records to avoid flooding the log files.

Current working versions for Python 2 and Python 3 are available: migration/current-python2, migration/current-python3. After this PR is merged, I will rebase their content and push them into the upstream repository.