Refactor!: JJB code to comply with updates to v5.x
[ci-management.git] / jjb / akraino-templates / akraino-jjb-kni.yaml
index dbe69aa..a9fc7d9 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-- kni_common: &kni_common
+
+# A builder to ship logs from a bare metal Akraino deploy test node.
+# Similar to lf-infra-ship-logs without python-tools-install.sh and
+# job-cost.sh.
+- builder:
+    name: kni-deploy-ship-logs
+    builders:
+      # Ensure no pre-existing .netrc files are overriding logs config
+      - lf-provide-maven-settings-cleanup
+      - config-file-provider:
+          files:
+            - file-id: "jenkins-log-archives-settings"
+              variable: "SETTINGS_FILE"
+      - lf-infra-create-netrc:
+          server-id: logs
+      - shell: !include-raw:
+          - ../../global-jjb/shell/logs-deploy.sh
+      - shell: !include-raw:
+          - ../../global-jjb/shell/logs-clear-credentials.sh
+      - description-setter:
+          regexp: "(^(Nexus|S3) build logs: .*)"
+
+- _kni_common: &kni_common
     name: kni-common
 
     ######################
     # Default parameters #
     ######################
 
-    build-node: "{build-node}"
+    build-node: ""
     build-days-to-keep: 30
     build-timeout: 60
     submodule-recursive: true
@@ -58,7 +80,7 @@
           submodule-recursive: '{submodule-recursive}'
           submodule-timeout: '{submodule-timeout}'
           submodule-disable: false
-          choosing-strategy: default
+          choosing-strategy: gerrit
 
     gerrit_verify_triggers:
       - patchset-created-event:
     publishers:
       - lf-infra-publish
 
-- kni_common_deploy: &kni_common_deploy
+- _kni_common_deploy: &kni_common_deploy
     name: kni-common-deploy
     <<: *kni_common
     archive-artifacts: >
           submodule-recursive: '{submodule-recursive}'
           submodule-timeout: '{submodule-timeout}'
           submodule-disable: false
-          choosing-strategy: default
+          choosing-strategy: gerrit
           basedir: '{project-name}'
       - akraino-lf-infra-gerrit-scm:
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
           choosing-strategy: default
           basedir: 'installer'
 
+    publishers:
+      - postbuildscript:
+          builders:
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - NOT_BUILT
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - kni-deploy-ship-logs
+          mark-unstable-if-failed: true
+      - workspace-cleanup:
+          exclude:
+            # Do not clean up *.jenkins-trigger files for jobs that use a
+            # properties file as input for triggering another build.
+            - "**/*.jenkins-trigger"
+          fail-build: false
+
 - job-template:
     id: kni-installer-verify-installer
     name: '{project-name}-verify-installer'
           - ../shell/build_kni_installer.sh
 
 - job-template:
-    id: kni-installer-verify-binary
-    name: '{project-name}-verify-binary'
-    <<: *kni_common
-    build-node: centos7-builder-8c-8g
+    id: kni-verify-deploy-aws
+    name: 'kni-{project-name}-verify-deploy-aws'
+    build-node: kni-cloud
+    <<: *kni_common_deploy
 
     gerrit_trigger_file_paths:
       - compare-type: ANT
-        pattern: 'Makefile'
+        pattern: 'profiles/production.aws/**'
       - compare-type: ANT
-        pattern: 'cmd/binary.go'
-
-    triggers:
-      - gerrit:
-          server-name: '{gerrit-server-name}'
-          trigger-on: '{obj:gerrit_verify_triggers}'
-          projects:
-            - project-compare-type: ANT
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: ANT
-                  branch-pattern: '**/{branch}'
-              file-paths: '{obj:gerrit_trigger_file_paths}'
-
-    builders:
-      - lf-infra-pre-build
-      - shell: !include-raw-escape:
-          - ../shell/install_go.sh
-      - shell: !include-raw-escape:
-          - ../shell/build_kni_binary.sh
-
-- job-template:
-    id: kni-installer-publish-openshift-install-libvirt-binary
-    name: '{project-name}-publish-openshift-install-libvirt-binary'
-    <<: *kni_common
-    build-node: centos7-builder-8c-8g
+        pattern: 'sites/testing.aws.edge-sites.net/**'
+      - compare-type: ANT
+        pattern: 'base/**'
 
-    gerrit_trigger_file_paths: []
-    gerrit_build_triggers:
-      - comment-added-contains-event:
-          comment-contains-value: '^build-binary'
     builders:
       - lf-infra-pre-build
+      - config-file-provider:
+          files:
+            - file-id: kni-coreos-pull-secret
+              target: akraino-secrets/coreos-pull-secret
       - shell: !include-raw-escape:
           - ../shell/install_go.sh
-      - shell: !include-raw-escape:
-          - ../shell/build_openshift_install_libvirt_binary.sh
+      - shell: ./installer/ci/kni_deploy_aws.sh
 
 - job-template:
-    id: kni-verify-deploy-aws
-    name: 'kni-{project-name}-verify-deploy-aws'
-    build-node: kni-libvirt
+    id: kni-verify-deploy-gcp
+    name: 'kni-{project-name}-verify-deploy-gcp'
+    site: edge-sites-testing.gcp.devcluster.openshift.com
+    build-node: kni-cloud
     <<: *kni_common_deploy
 
     gerrit_trigger_file_paths:
       - compare-type: ANT
-        pattern: 'profiles/production.aws/**'
+        pattern: 'profiles/production.gcp/**'
       - compare-type: ANT
-        pattern: 'sites/testing.aws.edge-sites.net/**'
+        pattern: 'sites/edge-sites-testing.gcp.devcluster.openshift.com/**'
       - compare-type: ANT
         pattern: 'base/**'
 
               target: akraino-secrets/coreos-pull-secret
       - shell: !include-raw-escape:
           - ../shell/install_go.sh
-      - shell: ./installer/ci/kni_deploy_aws.sh
+      - shell: ./installer/ci/kni_deploy_gcp.sh {site}
 
 - job-template:
-    id: kni-verify-deploy-gcp
+    id: kni-verify-deploy-gcp-hub
     name: 'kni-{project-name}-verify-deploy-gcp'
-    build-node: kni-libvirt
+    site: kni-mgmt-hub.gcp.devcluster.openshift.com
+    build-node: kni-cloud
     <<: *kni_common_deploy
 
     gerrit_trigger_file_paths:
       - compare-type: ANT
         pattern: 'profiles/production.gcp/**'
       - compare-type: ANT
-        pattern: 'sites/testing.gcp.edge-sites.net/**'
+        pattern: 'sites/kni-mgmt-hub.gcp.devcluster.openshift.com/**'
       - compare-type: ANT
         pattern: 'base/**'
 
               target: akraino-secrets/coreos-pull-secret
       - shell: !include-raw-escape:
           - ../shell/install_go.sh
-      - shell: ./installer/ci/kni_deploy_gcp.sh
+      - shell: ./installer/ci/kni_deploy_gcp.sh {site}
 
 - job-template:
-    id: kni-verify-deploy-libvirt
-    name: 'kni-{project-name}-verify-deploy-libvirt'
-    build-node: kni-libvirt
-    build-timeout: 120
+    id: kni-verify-deploy-gcp-ie
+    name: 'kni-{project-name}-verify-deploy-gcp'
+    site: kni-ie.gcp.devcluster.openshift.com
+    build-node: kni-cloud
     <<: *kni_common_deploy
 
     gerrit_trigger_file_paths:
       - compare-type: ANT
-        pattern: 'profiles/testing.libvirt/**'
+        pattern: 'profiles/production.gcp/**'
       - compare-type: ANT
-        pattern: 'sites/testing.virt.edge-sites.net/**'
+        pattern: 'sites/kni-ie.gcp.devcluster.openshift.com/**'
       - compare-type: ANT
         pattern: 'base/**'
 
           files:
             - file-id: kni-coreos-pull-secret
               target: akraino-secrets/coreos-pull-secret
-            - file-id: kni-ssh-pub-key
-              target: akraino-secrets/ssh-pub-key
       - shell: !include-raw-escape:
           - ../shell/install_go.sh
-      - shell: ./installer/ci/kni_deploy_libvirt.sh
+      - shell: ./installer/ci/kni_deploy_gcp.sh {site}
 
 - job-template:
     id: kni-verify-deploy-baremetal
     scm:
       - akraino-lf-infra-gerrit-scm:
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
-          git-url: 'https://github.com/yrobla/testing.baremetal.edge-sites.net'
+          git-url: 'https://gerrit.akraino.org/r/kni/blueprint-pae'
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
           submodule-timeout: '{submodule-timeout}'
           submodule-disable: false
-          choosing-strategy: default
-          basedir: 'testing.baremetal.edge-sites.net'
+          choosing-strategy: gerrit
+          basedir: 'kni-blueprint-pae'
       - akraino-lf-infra-gerrit-scm:
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
           git-url: '{git-url}/kni/installer.git'