X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fakraino-templates%2Fakraino-jjb-kni.yaml;h=7edb45c6003b2955fe500d0bd0971acd5514581a;hp=2be29527bd4886823cf09da8f8781d5b6f8b04fb;hb=HEAD;hpb=2f004195aa71e593290d00152460d42e3ddefe36 diff --git a/jjb/akraino-templates/akraino-jjb-kni.yaml b/jjb/akraino-templates/akraino-jjb-kni.yaml index 2be2952..91e1a54 100644 --- a/jjb/akraino-templates/akraino-jjb-kni.yaml +++ b/jjb/akraino-templates/akraino-jjb-kni.yaml @@ -14,56 +14,73 @@ # See the License for the specific language governing permissions and # limitations under the License. # -- job-template: - id: kni-installer-verify-installer - name: '{project-name}-verify-installer' + +# 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-escape: + - ../../global-jjb/shell/logs-deploy.sh + - shell: !include-raw-escape: + - ../../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: centos7-builder-2c-1g + build-node: "" build-days-to-keep: 30 build-timeout: 60 submodule-recursive: true + gerrit_trigger_file_paths: "{obj:gerrit_trigger_file_paths}" ##################### # Job Configuration # ##################### project-type: freestyle - node: '{build-node}' - + node: "{build-node}" properties: - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' + build-days-to-keep: "{build-days-to-keep}" parameters: - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' + project: "{project}" + branch: "{branch}" + stream: "{stream}" + lftools-version: "{lftools-version}" wrappers: - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - - gerrit_trigger_file_paths: - - compare-type: ANT - pattern: '**' + build-timeout: "{build-timeout}" + jenkins-ssh-credential: "{jenkins-ssh-credential}" scm: - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/{project}.git" + refspec: "$GERRIT_REFSPEC" + branch: "$GERRIT_BRANCH" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" submodule-disable: false - choosing-strategy: default + choosing-strategy: gerrit gerrit_verify_triggers: - patchset-created-event: @@ -76,206 +93,114 @@ triggers: - gerrit: - server-name: '{gerrit-server-name}' - trigger-on: '{obj:gerrit_verify_triggers}' + server-name: "{gerrit-server-name}" + trigger-on: "{obj:gerrit_verify_triggers}" projects: - project-compare-type: ANT - project-pattern: '{project}' + 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_installer.sh - + branch-pattern: "**/{branch}" + file-paths: "{obj:gerrit_trigger_file_paths}" publishers: - lf-infra-publish -- job-template: - id: kni-installer-verify-binary - name: '{project-name}-verify-binary' - - ###################### - # Default parameters # - ###################### - - build-days-to-keep: 30 - build-timeout: 60 - build-node: centos7-builder-8c-8g - submodule-recursive: true - - ##################### - # Job Configuration # - ##################### - - project-type: freestyle - node: '{build-node}' - - properties: - - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' +- _kni_common_deploy: &kni_common_deploy + name: kni-common-deploy + <<: *kni_common + archive-artifacts: > + **/*.log parameters: - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' + project: "{project}" + branch: "{branch}" + stream: "{stream}" + lftools-version: "{lftools-version}" + - string: + name: ARCHIVE_ARTIFACTS + default: "{archive-artifacts}" + description: Artifacts to archive to the logs server. wrappers: - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - - gerrit_trigger_file_paths: - - compare-type: ANT - pattern: 'Makefile' - - compare-type: ANT - pattern: 'cmd/binary.go' - - gerrit_verify_triggers: - - patchset-created-event: - execlude-drafts: true - exclude-trivial-rebase: false - exclude-no-code-change: false - - draft-published-event - - comment-added-contains-event: - comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' - + build-timeout: "{build-timeout}" + jenkins-ssh-credential: "{jenkins-ssh-credential}" + - credentials-binding: + - ssh-user-private-key: + credential-id: kni-secrets + key-file-variable: KNI_KEY_PATH scm: - - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/{project}.git" + refspec: "$GERRIT_REFSPEC" + branch: "$GERRIT_BRANCH" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" + submodule-disable: false + choosing-strategy: gerrit + basedir: "{project-name}" + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/kni/installer.git" + refspec: "refs/heads/master" + branch: "master" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" submodule-disable: false choosing-strategy: default + basedir: "installer" - 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}' + 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" + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "**" + <<: *kni_common + build-node: centos7-builder-2c-1g builders: - lf-infra-pre-build - shell: !include-raw-escape: - ../shell/install_go.sh - shell: !include-raw-escape: - - ../shell/build_kni_binary.sh - - publishers: - - lf-infra-publish + - ../shell/build_kni_installer.sh - job-template: id: kni-verify-deploy-aws - name: 'kni-{project-name}-verify-deploy-aws' - - ###################### - # Default parameters # - ###################### - - build-days-to-keep: 30 - build-timeout: 60 - build-node: kni-libvirt - submodule-recursive: true - - ##################### - # Job Configuration # - ##################### - - project-type: freestyle - node: '{build-node}' - - properties: - - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' - - archive-artifacts: > - **/*.log - - parameters: - - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' - - string: - name: ARCHIVE_ARTIFACTS - default: '{archive-artifacts}' - description: Artifacts to archive to the logs server. - - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - - credentials-binding: - - ssh-user-private-key: - credential-id: kni-secrets - key-file-variable: KNI_KEY_PATH + name: "kni-{project-name}-verify-deploy-aws" + build-node: kni-cloud + <<: *kni_common_deploy gerrit_trigger_file_paths: - compare-type: ANT - pattern: 'profiles/production.aws/**' + pattern: "profiles/production.aws/**" - compare-type: ANT - pattern: 'sites/testing.aws.edge-sites.net/**' + pattern: "sites/testing.aws.edge-sites.net/**" - compare-type: ANT - pattern: 'base/**' - - gerrit_verify_triggers: - - patchset-created-event: - exclude-drafts: true - exclude-trivial-rebase: false - exclude-no-code-change: false - - draft-published-event - - comment-added-contains-event: - comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' - - scm: - - akraino-lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - basedir: '{project-name}' - - akraino-lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/kni/installer.git' - refspec: 'refs/heads/master' - branch: 'master' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - basedir: 'installer' - 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}' + pattern: "base/**" builders: - lf-infra-pre-build @@ -287,189 +212,124 @@ - ../shell/install_go.sh - shell: ./installer/ci/kni_deploy_aws.sh - publishers: - - lf-infra-publish - - job-template: - id: kni-verify-deploy-libvirt - name: 'kni-{project-name}-verify-deploy-libvirt' - - ###################### - # Default parameters # - ###################### - - build-days-to-keep: 30 - build-timeout: 60 - build-node: kni-libvirt - submodule-recursive: true - - ##################### - # Job Configuration # - ##################### - - project-type: freestyle - node: '{build-node}' - - properties: - - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' - - parameters: - - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' - - string: - name: ARCHIVE_ARTIFACTS - default: '{archive-artifacts}' - description: Artifacts to archive to the logs server. - - archive-artifacts: > - **/*.log - - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - - credentials-binding: - - ssh-user-private-key: - credential-id: kni-secrets - key-file-variable: KNI_KEY_PATH + 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/testing.libvirt/**' + pattern: "profiles/production.gcp/**" - compare-type: ANT - pattern: 'sites/testing.virt.edge-sites.net/**' + pattern: "sites/edge-sites-testing.gcp.devcluster.openshift.com/**" - compare-type: ANT - pattern: 'base/**' - - gerrit_verify_triggers: - - patchset-created-event: - exclude-drafts: true - exclude-trivial-rebase: false - exclude-no-code-change: false - - draft-published-event - - comment-added-contains-event: - comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' - - 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}' + pattern: "base/**" - scm: - - akraino-lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - basedir: '{project-name}' - - akraino-lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/kni/installer.git' - refspec: 'refs/heads/master' - branch: 'master' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - basedir: 'installer' builders: - lf-infra-pre-build - config-file-provider: 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 - - publishers: - - lf-infra-publish + - shell: ./installer/ci/kni_deploy_gcp.sh {site} - job-template: - id: kni-installer-publish-openshift-install-libvirt-binary - name: '{project-name}-publish-openshift-install-libvirt-binary' + id: kni-verify-deploy-gcp-hub + name: "kni-{project-name}-verify-deploy-gcp" + site: kni-mgmt-hub.gcp.devcluster.openshift.com + build-node: kni-cloud + <<: *kni_common_deploy - ###################### - # Default parameters # - ###################### - - build-days-to-keep: 200 - build-timeout: 60 - build-node: centos7-builder-8c-8g - submodule-recursive: true + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.gcp/**" + - compare-type: ANT + pattern: "sites/kni-mgmt-hub.gcp.devcluster.openshift.com/**" + - compare-type: ANT + pattern: "base/**" - ##################### - # Job Configuration # - ##################### + 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: ./installer/ci/kni_deploy_gcp.sh {site} - project-type: freestyle - node: '{build-node}' +- job-template: + 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 - properties: - - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.gcp/**" + - compare-type: ANT + pattern: "sites/kni-ie.gcp.devcluster.openshift.com/**" + - compare-type: ANT + pattern: "base/**" - parameters: - - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - lftools-version: '{lftools-version}' + 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: ./installer/ci/kni_deploy_gcp.sh {site} - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' +- job-template: + id: kni-verify-deploy-baremetal + name: "kni-{project-name}-verify-deploy-baremetal" + <<: *kni_common_deploy + build-timeout: 120 + build-node: kni-baremetal - gerrit_build_triggers: - - comment-added-contains-event: - comment-contains-value: '^build-binary' + gerrit_trigger_file_paths: + - compare-type: ANT + pattern: "profiles/production.baremetal/**" + - compare-type: ANT + pattern: "sites/testing.baremetal.edge-sites.net/**" + - compare-type: ANT + pattern: "base/**" scm: - - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '$GERRIT_REFSPEC' - branch: '$GERRIT_BRANCH' - submodule-recursive: '{submodule-recursive}' - submodule-timeout: '{submodule-timeout}' + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + 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: gerrit + basedir: "kni-blueprint-pae" + - akraino-lf-infra-gerrit-scm: + jenkins-ssh-credential: "{jenkins-ssh-credential}" + git-url: "{git-url}/kni/installer.git" + refspec: "refs/heads/master" + branch: "master" + submodule-recursive: "{submodule-recursive}" + submodule-timeout: "{submodule-timeout}" submodule-disable: false choosing-strategy: default - - triggers: - - gerrit: - server-name: '{gerrit-server-name}' - trigger-on: '{obj:gerrit_build_triggers}' - projects: - - project-compare-type: ANT - project-pattern: '{project}' - branches: - - branch-compare-type: ANT - branch-pattern: '**/{branch}' + basedir: "installer" builders: - lf-infra-pre-build - - shell: !include-raw-escape: - - ../shell/install_go.sh - - shell: !include-raw-escape: - - ../shell/build_openshift_install_libvirt_binary.sh - - publishers: - - lf-infra-publish + - config-file-provider: + 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: sudo -E ./installer/ci/kni_deploy_baremetal.sh