879855c Azure: Allow to run integration tests

10 files Authored by slev 4 years ago, Committed by abbra 4 years ago,
    Azure: Allow to run integration tests
    
    Azure provides Microsoft-hosted agents having tasty resources [0].
    For now (Feb 2020),
    - (Linux only) Run steps in a cgroup that offers 6 GB of physical memory and
    13 GB of total memory
    - Provide at least 10 GB of storage for your source and build outputs.
    
    This is enough to set up IPA environments consisted of not only master but also
    replicas and clients and thus, run IPA integration tests.
    
    New Azure IPA tests workflow:
    
    + 1) Azure generate jobs using Matrix strategy
      2) each job is run in parallel (up to 10) within its own VM (Ubuntu-18.04):
        a) downloads prepared Docker container image (artifact) from Azure cloud
           (built on Build Job) and loads the received image into local pool
      + b) docker-compose creates the Docker environment having a required number
           of replicas and/or clients
      + c) setup_containers.py script does the needed container's changes (DNS,
           SSH, etc.)
      + d) launch IPA tests on tests' controller
        e) publish tests results in JUnit format to provide a comprehensive test
           reporting and analytics experience via Azure WebUI [1]
        f) publish regular system logs as artifacts
    
    [0] https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops
    [1] https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-test-results?view=azure-devops&tabs=yaml
    
    Fixes: https://pagure.io/freeipa/issue/8202
    Signed-off-by: Stanislav Levin <slev@altlinux.org>
    Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
    
        
file modified
+1 -0