diff --git a/tests/azure/azure-pipelines.yml b/tests/azure/azure-pipelines.yml
index 9a6321050ce8496f818f4f69c5185e3c90236027..db3d52f502b012d2ce8836bf7facf191b3664065 100644
--- a/tests/azure/azure-pipelines.yml
+++ b/tests/azure/azure-pipelines.yml
@@ -17,40 +17,48 @@ trigger:
 pool:
   vmImage: 'ubuntu-18.04'
 
-jobs:
-- job: RunLinters
-  displayName: Run Linters
-  steps:
-  - task: UsePythonVersion@0
-    inputs:
-      versionSpec: '3.6'
-
-  - script: python -m pip install --upgrade pip setuptools wheel
-    displayName: Install tools
-
-  - script: pip install pydocstyle flake8
-    displayName: Install dependencies
-
-  - script: flake8 .
-    displayName: Run flake8 checks
-
-  - script: pydocstyle .
-    displayName: Verify docstings
-
-- template: templates/playbook_tests.yml
-  parameters:
-    group_number: 1
-    number_of_groups: 3
-    build_number: $(Build.BuildNumber)
-
-- template: templates/playbook_tests.yml
-  parameters:
-    group_number: 2
-    number_of_groups: 3
-    build_number: $(Build.BuildNumber)
-
-- template: templates/playbook_tests.yml
-  parameters:
-    group_number: 3
-    number_of_groups: 3
-    build_number: $(Build.BuildNumber)
+stages:
+- stage: Linters
+  jobs:
+  - job: RunLinters
+    displayName: Run Linters
+    steps:
+    - task: UsePythonVersion@0
+      inputs:
+        versionSpec: '3.6'
+
+    - script: python -m pip install --upgrade pip setuptools wheel
+      displayName: Install tools
+
+    - script: pip install pydocstyle flake8
+      displayName: Install dependencies
+
+    - script: flake8 .
+      displayName: Run flake8 checks
+
+    - script: pydocstyle .
+      displayName: Verify docstings
+
+- stage: Centos7
+  dependsOn: []
+  jobs:
+  - template: templates/group_tests.yml
+    parameters:
+      build_number: $(Build.BuildNumber)
+      scenario: centos-7
+
+- stage: Centos8
+  dependsOn: []
+  jobs:
+  - template: templates/group_tests.yml
+    parameters:
+      build_number: $(Build.BuildNumber)
+      scenario: centos-8
+
+- stage: FedoraLatest
+  dependsOn: []
+  jobs:
+  - template: templates/group_tests.yml
+    parameters:
+      build_number: $(Build.BuildNumber)
+      scenario: fedora-latest
diff --git a/tests/azure/templates/group_tests.yml b/tests/azure/templates/group_tests.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6fceeae355d88c1697b54f8bd10e08ee83682cc9
--- /dev/null
+++ b/tests/azure/templates/group_tests.yml
@@ -0,0 +1,29 @@
+
+parameters:
+  - name: scenario
+    type: string
+    default: centos-8
+  - name: build_number
+    type: string
+
+jobs:
+- template: playbook_tests.yml
+  parameters:
+    group_number: 1
+    number_of_groups: 3
+    build_number: ${{ parameters.build_number }}
+    scenario: ${{ parameters.scenario }}
+
+- template: playbook_tests.yml
+  parameters:
+    group_number: 2
+    number_of_groups: 3
+    build_number: ${{ parameters.build_number }}
+    scenario: ${{ parameters.scenario }}
+
+- template: playbook_tests.yml
+  parameters:
+    group_number: 3
+    number_of_groups: 3
+    build_number: ${{ parameters.build_number }}
+    scenario: ${{ parameters.scenario }}
diff --git a/tests/azure/templates/playbook_tests.yml b/tests/azure/templates/playbook_tests.yml
index 929f2ffced504871bec0dcdc3d5be0b7a0651081..639fac4e4993eec8b3d1b81d2c36d4a229f613a5 100644
--- a/tests/azure/templates/playbook_tests.yml
+++ b/tests/azure/templates/playbook_tests.yml
@@ -16,10 +16,12 @@ parameters:
     type: string
     default: 3.6
   - name: build_number
+    type: string
+
 
 jobs:
-- job: RunTests${{ parameters.group_number }}
-  displayName: Run tests ${{ parameters.group_number }}/${{ parameters.number_of_groups }}
+- job: Test_Group${{ parameters.group_number }}
+  displayName: Run tests ${{ parameters.scenario }} (${{ parameters.group_number }}/${{ parameters.number_of_groups }})
   steps:
   - task: UsePythonVersion@0
     inputs: