diff --git a/tests/azure/pr-pipeline.yml b/tests/azure/pr-pipeline.yml index 2345347db4a07ad19d7a63a48daa7d41b246f7d2..40d78a9b10429cf19d14d8d7c79a4bffa6cae15d 100644 --- a/tests/azure/pr-pipeline.yml +++ b/tests/azure/pr-pipeline.yml @@ -15,8 +15,8 @@ stages: - template: templates/fast_tests.yml parameters: build_number: $(Build.BuildNumber) - scenario: fedora-latest - ansible_version: "-core >=2.14,<2.15" + distro: fedora-latest + ansible_version: "-core >=2.15,<2.16" # Galaxy on Fedora @@ -26,8 +26,8 @@ stages: - template: templates/fast_tests.yml parameters: build_number: $(Build.BuildNumber) - scenario: fedora-latest - ansible_version: "-core >=2.14,<2.15" + distro: fedora-latest + ansible_version: "-core >=2.15,<2.16" # CentOS 9 Stream @@ -37,8 +37,8 @@ stages: - template: templates/fast_tests.yml parameters: build_number: $(Build.BuildNumber) - scenario: c9s - ansible_version: "-core >=2.14,<2.15" + distro: c9s + ansible_version: "-core >=2.15,<2.16" # CentOS 8 Stream @@ -48,19 +48,23 @@ stages: - template: templates/fast_tests.yml parameters: build_number: $(Build.BuildNumber) - scenario: c8s - ansible_version: "-core >=2.14,<2.15" + distro: c8s + ansible_version: "-core >=2.15,<2.16" + target_python: "/usr/libexec/platform-python" +# CentOS 7 cannot be used with current systemd +# # CentOS 7 - -- stage: CentOS_7 - dependsOn: [] - jobs: - - template: templates/fast_tests.yml - parameters: - build_number: $(Build.BuildNumber) - scenario: centos-7 - ansible_version: "-core >=2.14,<2.15" +# +# - stage: CentOS_7 +# dependsOn: [] +# jobs: +# - template: templates/fast_tests.yml +# parameters: +# build_number: $(Build.BuildNumber) +# distro: centos-7 +# ansible_version: "-core >=2.15,<2.16" +# target_python: "/usr/bin/python2" # Rawhide @@ -70,5 +74,5 @@ stages: - template: templates/fast_tests.yml parameters: build_number: $(Build.BuildNumber) - scenario: fedora-rawhide - ansible_version: "-core >=2.14,<2.15" + distro: fedora-rawhide + ansible_version: "-core >=2.15,<2.16" diff --git a/tests/azure/templates/fast_tests.yml b/tests/azure/templates/fast_tests.yml index fdb1ea0d130a2ca083e426f33ccf326a7049308b..ac26ce8f0bb19ee5ffd1af63771174ad273e0004 100644 --- a/tests/azure/templates/fast_tests.yml +++ b/tests/azure/templates/fast_tests.yml @@ -1,6 +1,6 @@ --- parameters: - - name: scenario + - name: distro type: string default: fedora-latest - name: build_number @@ -8,6 +8,9 @@ parameters: - name: ansible_version type: string default: "" + - name: target_python + type: string + default: "/usr/bin/python3" jobs: - template: playbook_fast.yml @@ -15,13 +18,14 @@ jobs: group_number: 1 number_of_groups: 1 build_number: ${{ parameters.build_number }} - scenario: ${{ parameters.scenario }} + distro: ${{ parameters.distro }} ansible_version: ${{ parameters.ansible_version }} python_version: '< 3.12' + target_python: ${{ parameters.target_python }} # - template: pytest_tests.yml # parameters: # build_number: ${{ parameters.build_number }} -# scenario: ${{ parameters.scenario }} +# distro: ${{ parameters.distro }} # ansible_version: ${{ parameters.ansible_version }} # python_version: '< 3.12' diff --git a/tests/azure/templates/playbook_fast.yml b/tests/azure/templates/playbook_fast.yml index a01d2c348f5395a8583892df529769d03b63721d..a00a7875dca1ef99ff1d4e8a8fcbbe6e891e3bfd 100644 --- a/tests/azure/templates/playbook_fast.yml +++ b/tests/azure/templates/playbook_fast.yml @@ -6,7 +6,7 @@ parameters: - name: number_of_groups type: number default: 1 - - name: scenario + - name: distro type: string default: fedora-latest - name: ansible_version @@ -17,28 +17,28 @@ parameters: default: 3.x - name: build_number type: string + - name: target_python + type: string + default: "/usr/bin/python3" jobs: - job: Test_Group${{ parameters.group_number }} - displayName: Run playbook tests ${{ parameters.scenario }} (${{ parameters.group_number }}/${{ parameters.number_of_groups }}) + displayName: Run playbook tests ${{ parameters.distro }} (${{ parameters.group_number }}/${{ parameters.number_of_groups }}) timeoutInMinutes: 360 variables: - template: variables.yaml - - template: variables_${{ parameters.scenario }}.yaml + - template: variables_${{ parameters.distro }}.yaml steps: - task: UsePythonVersion@0 inputs: versionSpec: '${{ parameters.python_version }}' - script: | - pip install \ - "molecule-plugins[docker]" \ - "requests<2.29" \ - "ansible${{ parameters.ansible_version }}" + pip install "ansible${{ parameters.ansible_version }}" retryCountOnTaskFailure: 5 - displayName: Install molecule and Ansible + displayName: Install Ansible - - script: ansible-galaxy collection install community.docker ansible.posix + - script: ansible-galaxy collection install containers.podman retryCountOnTaskFailure: 5 displayName: Install Ansible collections @@ -47,43 +47,35 @@ jobs: displayName: Install dependencies - script: | - rm -rf ~/ansible - mkdir -p ~/.ansible/roles ~/.ansible/library ~/.ansible/module_utils - cp -a roles/* ~/.ansible/roles - cp -a plugins/modules/* ~/.ansible/library - cp -a plugins/module_utils/* ~/.ansible/module_utils - molecule create -s ${{ parameters.scenario }} - retryCountOnTaskFailure: 5 - displayName: Setup test container - env: - ANSIBLE_LIBRARY: ./molecule + . utils/set_test_modules + python3 utils/check_test_configuration.py ${{ parameters.distro }} + displayName: Check test configuration - script: | - . utils/set_test_modules - python utils/check_test_configuration.py ${{ parameters.scenario }} - displayName: Check scenario test configuration + utils/setup_test_container.sh \ + -e podman \ + -a \ + -m 4 \ + -n "ipaserver.test.local" \ + -p ${{ parameters.target_python }} \ + -i ${{ parameters.distro }}-server \ + ${{ parameters.distro }}-test + displayName: Setup target container - script: | . utils/set_test_modules - if ! pytest \ - -m "playbook" \ - --verbose \ - --color=yes \ - --suppress-no-test-exit-code \ - --splits=${{ parameters.number_of_groups }} \ - --group=${{ parameters.group_number }} \ - --randomly-seed=$(date "+%Y%m%d") \ - --junit-xml=TEST-results-group-${{ parameters.group_number }}.xml - then - [ $? -eq 5 ] && true || false - fi + pytest -m "playbook" --verbose --color=yes --suppress-no-test-exit-code --junit-xml=TEST-results-pr-check.xml displayName: Run playbook tests env: - IPA_SERVER_HOST: ${{ parameters.scenario }} - RUN_TESTS_IN_DOCKER: true + ANSIBLE_ROLES_PATH: "${PWD}/roles" + ANSIBLE_LIBRARY: "${PWD}/plugins" + ANSIBLE_MODULE_UTILS: "${PWD}/plugins/module_utils" + IPA_SERVER_HOST: ${{ parameters.distro }}-test + RUN_TESTS_IN_DOCKER: podman IPA_DISABLED_MODULES: ${{ variables.ipa_disabled_modules }} IPA_DISABLED_TESTS: ${{ variables.ipa_disabled_tests }} IPA_VERBOSITY: "-vvv" + IPA_PYTHON_PATH: ${{ parameters.target_python }} - task: PublishTestResults@2 inputs: