]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
ceph-ansible-pipeline: update pipeline matrix 1199/head
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 8 Nov 2018 14:08:25 +0000 (15:08 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 8 Nov 2018 15:22:48 +0000 (16:22 +0100)
We must test corresponding ceph release for each stable branch of
ceph-ansible.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
ceph-ansible-pipeline/config/definitions/ceph-ansible-pipeline.yml

index ebab63293da3053ab91525778ab6bcc6ef0d0ab8..9364548685492a8bb84191a2f3d0c2a460f3e8a4 100644 (file)
           condition-command: |
             #!/bin/bash
             set -x
-            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/add-osd'
-          on-evaluation-failure: dont-run
+            # if the target branch is stable-3.2 we RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'infrastructure-playbooks/add-osd|tests/functional/centos/7/add-osds'
+          on-evaluation-failure: run
           steps:
             - multijob:
-                name: 'ceph-ansible purge playbook testing'
+                name: 'ceph-ansible add_osds playbook testing'
                 condition: SUCCESSFUL
                 execution-type: PARALLEL
                 projects:
           condition-command: |
             #!/bin/bash
             set -x
-            # if the current branch is master then we don't run these tests
+            # if the target branch is stable-3.2 we RUN these tests.
+            if [[ "$ghprbTargetBranch" == "stable-3.2" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'infrastructure-playbooks/add-osd|tests/functional/centos/7/add-osds'
+          on-evaluation-failure: run
+          steps:
+            - multijob:
+                name: 'ceph-ansible add_osds playbook testing'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-add_osds'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-add_osds_container'
+                    current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            # if the target branch is master then we DON'T RUN these tests.
             if [[ "$ghprbTargetBranch" == "master" ]]; then
               exit 1
             fi
           condition-command: |
             #!/bin/bash
             set -x
-            # if the current branch is stable-3.0 or stable-3.1 then we don't run these tests
-            if [[ "$ghprbTargetBranch" == "stable-3.1" ]] || [[ "$ghprbTargetBranch" == "stable-3.0" ]]; then
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
               exit 1
             fi
             git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/purge'
           condition-command: |
             #!/bin/bash
             set -x
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
+              exit 1
+            fi
             git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/rolling_update'
           on-evaluation-failure: dont-run
           steps:
           condition-command: |
             #!/bin/bash
             set -x
+            # if the target branch is master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/rolling_update'
+          on-evaluation-failure: dont-run
+          steps:
+            - multijob:
+                name: 'ceph-ansible rolling_update playbook testing'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-update_cluster'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-update_docker_cluster'
+                    current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
+              exit 1
+            fi
             git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/shrink-mon'
           on-evaluation-failure: dont-run
           steps:
           condition-command: |
             #!/bin/bash
             set -x
-            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/shrink-osd'
+            # if the target branch is master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/shrink-mon'
+          on-evaluation-failure: dont-run
+          steps:
+            - multijob:
+                name: 'ceph-ansible shrink_mon playbook testing'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-shrink_mon'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-shrink_mon_container'
+                    current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'infrastructure-playbooks/shrink-osd|tests/functional/centos/7/shrink_osd'
           on-evaluation-failure: dont-run
           steps:
             - multijob:
           condition-command: |
             #!/bin/bash
             set -x
+            # if the target branch is master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'infrastructure-playbooks/shrink-osd|tests/functional/centos/7/shrink_osd'
+          on-evaluation-failure: dont-run
+          steps:
+            - multijob:
+                name: 'ceph-ansible shrink_osd playbook testing'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-shrink_osd'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-shrink_osd_container'
+                    current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
+              exit 1
+            fi
             git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons'
           on-evaluation-failure: dont-run
           steps:
           condition-command: |
             #!/bin/bash
             set -x
-            # if the current branch is master then we don't run these tests
+            # if the target branch is master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep 'infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons'
+          on-evaluation-failure: dont-run
+          steps:
+            - multijob:
+                name: 'ceph-ansible switch_to_containers playbook testing'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-switch_to_containers'
+                    current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            # if the target branch is master then we DON'T RUN these tests
             if [[ "$ghprbTargetBranch" == "master" ]]; then
               exit 1
             fi
                     current-parameters: true
                   - name: 'ceph-ansible-prs-luminous-filestore_osds_non_container'
                     current-parameters: true
-                  - name: 'ceph-ansible-prs-dev-lvm_osds'
-                    current-parameters: true
-
       - conditional-step:
           condition-kind: shell
           condition-command: |
             #!/bin/bash
             set -x
-            # if the current branch is stable-3.0 or stable-3.1 then we don't run these tests
-            if [[ "$ghprbTargetBranch" == "stable-3.1" ]] || [[ "$ghprbTargetBranch" == "stable-3.0" ]]; then
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
               exit 1
             fi
             git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'roles/ceph-defaults/tasks/facts.yml|roles/ceph-osd|ceph-validate|library/ceph_volume.py'
                     current-parameters: true
                   - name: 'ceph-ansible-prs-dev-lvm_batch_container'
                     current-parameters: true
-
       - conditional-step:
           condition-kind: shell
           condition-command: |
             #!/bin/bash
             set -x
-            # if the current branch is stable-3.0 or stable-3.1 then we don't run these tests
-            if [[ "$ghprbTargetBranch" == "stable-3.1" ]] || [[ "$ghprbTargetBranch" == "stable-3.0" ]]; then
+            # if the target branch is stable-3.2 then we RUN these tests.
+            if [[ "$ghprbTargetBranch" == "stable-3.2" ]]; then
               exit 1
             fi
-            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'roles/ceph-rgw/tasks/multisite'
-          on-evaluation-failure: dont-run
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'roles/ceph-rgw/tasks/multisite|tests/functional/centos/7/rgw-multisite'
+          on-evaluation-failure: run
+          steps:
+            - multijob:
+                name: 'ceph-ansible rgw multisite scenarios playbook testing'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-rgw_multisite'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-rgw_multisite_container'
+                    current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            # if the target branch is master then we RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'roles/ceph-rgw/tasks/multisite|tests/functional/centos/7/rgw-multisite'
+          on-evaluation-failure: run
           steps:
             - multijob:
                 name: 'ceph-ansible rgw multisite scenarios playbook testing'
                     current-parameters: true
                   - name: 'ceph-ansible-prs-dev-rgw_multisite_container'
                     current-parameters: true
-
       - conditional-step:
           condition-kind: shell
           condition-command: |
               echo "ceph-osd role modified, nothing to test, the ceph-osd role test is handled by another pipeline job."
               exit 1
             fi
+            # if the target branch is not master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" != "master" ]]; then
+              exit 1
+            fi
           on-evaluation-failure: dont-run
           steps:
             - multijob:
                     current-parameters: true
                   - name: 'ceph-ansible-prs-dev-ooo_collocation'
                     current-parameters: true
+      - conditional-step:
+          condition-kind: shell
+          condition-command: |
+            #!/bin/bash
+            set -x
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -v 'infrastructure-playbooks'
+            if [ $? -eq 1 ]; then
+              echo "Infra playbooks modified.  Not testing remaining scenarios."
+              exit 1
+            fi
+            # do not run if roles/ceph-osd has been touched since the task above play osds already
+            git diff --name-only $(git show HEAD | grep Merge | head -n 1 | cut -d ':' -f2) | grep -E 'roles/ceph-osd'
+            if [ $? -eq 0 ]; then
+              echo "ceph-osd role modified, nothing to test, the ceph-osd role test is handled by another pipeline job."
+              exit 1
+            fi
+            # if the target branch is master then we DON'T RUN these tests.
+            if [[ "$ghprbTargetBranch" == "master" ]]; then
+              exit 1
+            fi
+          on-evaluation-failure: dont-run
+          steps:
+            - multijob:
+                name: 'ceph-ansible basic cluster testing phase'
+                condition: SUCCESSFUL
+                execution-type: PARALLEL
+                projects:
+                  - name: 'ceph-ansible-prs-luminous-centos7_cluster'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-docker_cluster'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-docker_cluster_collocation'
+                    current-parameters: true
+                  - name: 'ceph-ansible-prs-luminous-ooo_collocation'
+                    current-parameters: true
     scm:
       - git:
           url: https://github.com/ceph/ceph-ansible.git