From: Eric Ball Date: Wed, 27 Nov 2019 22:33:35 +0000 (+0000) Subject: Merge "Change owner of results folder and its files" X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=commitdiff_plain;h=91fe4572895623fe32ac0e2a243bc33ba8db4d00;hp=d76c874c576a81f072fce80e9e981a386c71f760 Merge "Change owner of results folder and its files" --- diff --git a/jjb/akraino-templates/akraino-validation-macros.yaml b/jjb/akraino-templates/akraino-validation-macros.yaml new file mode 100644 index 0000000..844cfbe --- /dev/null +++ b/jjb/akraino-templates/akraino-validation-macros.yaml @@ -0,0 +1,45 @@ +--- +####### +# SCM # +####### +- scm: + # Enhanced version of the global-jjb + name: validation-infra-gerrit-scm + scm: + - git: + credentials-id: '{jenkins-ssh-credential}' + url: '{git-url}' + refspec: '{refspec}' + branches: + - 'refs/{refs_tag}/{stream}' + skip-tag: false + wipe-workspace: true + submodule: + recursive: '{submodule-recursive}' + timeout: '{submodule-timeout}' + choosing-strategy: '{choosing-strategy}' + +############## +# PARAMETERS # +############## +- parameter: + name: validation-job-parameters + parameters: + - lf-infra-parameters: + project: '{project}' + stream: '{stream}' + branch: '{branch}' + +############ +# SETTINGS # +############ +# settings for jobs run in multijob phases +- docker-build-job-settings: &docker-build-job-settings + name: docker_build_job_settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false diff --git a/jjb/akraino-templates/akraino-validation-templates.yaml b/jjb/akraino-templates/akraino-validation-templates.yaml new file mode 100644 index 0000000..e8c96b4 --- /dev/null +++ b/jjb/akraino-templates/akraino-validation-templates.yaml @@ -0,0 +1,157 @@ +--- +- job-template: + id: akraino-validation-docker-multiarch + name: 'validation-{stream}-docker' + project-type: multijob + disabled: '{obj:disabled}' + node: 'centos7-builder-2c-1g' + build-timeout: 90 + + parameters: + - validation-job-parameters: + project: '{project}' + branch: '{branch}' + stream: '{stream}' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'validation-docker-.*' + blocking-level: 'NODE' + scm: + - validation-infra-gerrit-scm: + jenkins-ssh-credential: '{jenkins-ssh-credential}' + git-url: '{git-url}/{project}.git' + refspec: '' + refs_tag: '{refs_tag}' + stream: '{stream}' + submodule-recursive: false + submodule-timeout: '{submodule-timeout}' + submodule-disable: false + choosing-strategy: default + + triggers: + # Build nigtly at 12:10 AM + - timed: '10 0 * * *' + + builders: + - multijob: + name: 'build validation images' + execution-type: PARALLEL + projects: + - name: 'validation-docker-build-amd64-{stream}' + <<: *docker-build-job-settings + - name: 'validation-docker-build-arm64-{stream}' + <<: *docker-build-job-settings + - multijob: + name: 'publish validation manifests' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'validation-docker-manifest-{stream}' + <<: *docker-build-job-settings + + publishers: + - email: + recipients: 'cristina.pauna@enea.com' + +- job-template: + id: akraino-validation-docker-specific-arch + name: 'validation-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + node: '{slave_label}' + build-timeout: 75 + + parameters: + - validation-job-parameters: + project: '{project}' + branch: '{branch}' + stream: '{stream}' + arch_tag: '{arch_tag}' + + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'validation-docker-build-.*' + blocking-level: 'NODE' + scm: + - validation-infra-gerrit-scm: + jenkins-ssh-credential: '{jenkins-ssh-credential}' + git-url: '{git-url}/{project}.git' + refspec: '' + refs_tag: '{refs_tag}' + stream: '{stream}' + submodule-recursive: false + submodule-timeout: '{submodule-timeout}' + submodule-disable: false + choosing-strategy: default + + builders: + - lf-infra-docker-login: + global-settings-file: global-settings + settings-file: '{mvn-settings}' + - conditional-step: + condition-kind: regex-match + regex: '^tags$' + label: '{refs_tag}' + steps: + - shell: | + #!/bin/bash -ex + echo "export TAG_VER=$STREAM" >> tag_version.sh + - shell: | + #!/bin/bash -ex + if [ -f tag_version.sh ]; then source tag_version.sh; fi + make -k -C docker push-all + rm -f tag_version.sh + - shell: | + #!/bin/bash -ex + docker system prune -af + +- job-template: + id: akraino-validation-docker-manifest + name: 'validation-docker-manifest-{stream}' + node: 'ubuntu1604-docker-8c-8g' + build-timeout: 15 + + parameters: + - validation-job-parameters: + project: '{project}' + branch: '{branch}' + stream: '{stream}' + + disabled: '{obj:disabled}' + + scm: + - validation-infra-gerrit-scm: + jenkins-ssh-credential: '{jenkins-ssh-credential}' + git-url: '{git-url}/{project}.git' + refspec: '' + refs_tag: '{refs_tag}' + stream: '{stream}' + submodule-recursive: false + submodule-timeout: '{submodule-timeout}' + submodule-disable: false + choosing-strategy: default + + builders: + - lf-infra-docker-login: + global-settings-file: global-settings + settings-file: '{mvn-settings}' + - conditional-step: + condition-kind: regex-match + regex: '^tags$' + label: '{refs_tag}' + steps: + - shell: | + #!/bin/bash -ex + echo "export TAG_VER=$STREAM" >> tag_version.sh + - shell: | + #!/bin/bash -ex + if [ -f tag_version.sh ]; then source tag_version.sh; fi + for sd in docker/*/.; do make -k -C $sd .push_manifest; done + rm -f tag_version.sh diff --git a/jjb/iec/iec.yaml b/jjb/iec/iec.yaml index 622c88a..79d16d9 100644 --- a/jjb/iec/iec.yaml +++ b/jjb/iec/iec.yaml @@ -30,7 +30,14 @@ - ubuntu1604 - ubuntu1804 - centos7 - + #-------------------------------- + # IEC TYPE DEFINITINONS + # type1 Mcbin embeded board + # type2 Arm Server + # ------------------------------- + iecType: + - type1 + - type2 # ------------------------------- # DEPLOY TYPE DEFINITIONS # ------------------------------- @@ -50,6 +57,8 @@ os: centos7 - installer: compass os: ubuntu1804 + - iecType: type1 + installer: fuel # ------------------------------- # USECASE DEFINITIONS @@ -60,10 +69,10 @@ scenario: 'k8-calico-iec-noha' jobs: - - 'iec-{installer}-{deploy_type}-{os}-daily-{stream}' - - 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' - - 'iec-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' - - 'iec-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}' ############## # PARAMETERS # @@ -145,7 +154,7 @@ # job templates ######################## - job-template: - name: 'iec-{installer}-{deploy_type}-{os}-daily-{stream}' + name: 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}' disabled: '{obj:disabled}' concurrent: false node: '{slave-label}' @@ -164,10 +173,10 @@ wrappers: - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE' triggers: - - 'iec-{installer}-{deploy_type}-{os}-daily-{stream}-trigger' + - 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}-trigger' parameters: - lf-infra-parameters: @@ -179,10 +188,13 @@ - string: name: DEPLOY_SCENARIO default: '{scenario}' + - string: + name: IEC_TYPE + default: '{iecType}' builders: - trigger-builds: - - project: 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' + - project: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' current-parameters: true predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -200,7 +212,7 @@ - project: !j2: | {%- for uc in usecase -%} - iec-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-{{ os }}-daily-{{ stream }} + iec-{{ iecType }}-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-{{ os }}-daily-{{ stream }} {%- if not loop.last -%},{%- endif -%} {%- endfor %} current-parameters: true @@ -210,15 +222,16 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' - - project: 'iec-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' + - project: 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} + IEC_TYPE='{iecType}' same-node: true block: true - job-template: - name: 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' + name: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' concurrent: true node: '{slave-label}' properties: &properties @@ -230,9 +243,9 @@ - build-blocker: use-build-blocker: true blocking-jobs: - - '.*-deploy-{installer}-{deploy_type}-.*' - - '.*-destroy-{installer}-{deploy_type}-.*' - - '.*-install-.*-{installer}-{deploy_type}-.*' + - '.*-{iecType}-deploy-{installer}-{deploy_type}-.*' + - '.*-{iecType}-destroy-{installer}-{deploy_type}-.*' + - '.*-{iecType}-install-.*-{installer}-{deploy_type}-.*' blocking-level: 'NODE' parameters: @@ -241,16 +254,20 @@ stream: '{stream}' branch: '{branch}' - '{project}-defaults' + - '{installer}-{os}-defaults' - string: name: DEPLOY_SCENARIO default: '{scenario}' + - string: + name: IEC_TYPE + default: '{iecType}' - string: name: EXTRA_ARGS default: '-o {os}' wrappers: &wrappers - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE' scm: &scm - git: @@ -295,7 +312,7 @@ - lf-infra-publish - job-template: - name: 'iec-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' + name: 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' concurrent: true node: '{slave-label}' properties: *properties @@ -305,9 +322,13 @@ stream: '{stream}' branch: '{branch}' - '{project}-defaults' + - '{installer}-{os}-defaults' - string: name: DEPLOY_SCENARIO default: '{scenario}' + - string: + name: IEC_TYPE + default: '{iecType}' - string: name: EXTRA_ARGS default: '-EEE -o {os}' @@ -324,7 +345,7 @@ publishers: *publishers - job-template: - name: 'iec-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}' + name: 'iec-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}' concurrent: true node: '{slave-label}' properties: *properties @@ -335,6 +356,7 @@ stream: '{stream}' branch: '{branch}' - '{project}-defaults' + - '{installer}-{os}-defaults' wrappers: - build-name: @@ -356,30 +378,34 @@ # Akraino IEC CI Baremetal Triggers running against master branch # ---------------------------------------------------------------- - trigger: - name: 'iec-fuel-virtual-ubuntu1604-daily-master-trigger' + name: 'iec-type2-fuel-virtual-ubuntu1604-daily-master-trigger' triggers: - timed: '0 1 * * 1,3,5' - trigger: - name: 'iec-fuel-baremetal-ubuntu1604-daily-master-trigger' + name: 'iec-type2-fuel-baremetal-ubuntu1604-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'iec-compass-virtual-ubuntu1604-daily-master-trigger' + name: 'iec-type2-compass-virtual-ubuntu1604-daily-master-trigger' triggers: - timed: '0 13 * * *' - trigger: - name: 'iec-fuel-virtual-ubuntu1804-daily-master-trigger' + name: 'iec-type2-fuel-virtual-ubuntu1804-daily-master-trigger' triggers: - timed: '0 1 * * 2,6' - trigger: - name: 'iec-fuel-baremetal-ubuntu1804-daily-master-trigger' + name: 'iec-type2-fuel-baremetal-ubuntu1804-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'iec-fuel-virtual-centos7-daily-master-trigger' + name: 'iec-type2-fuel-virtual-centos7-daily-master-trigger' triggers: - timed: '0 1 * * 4,7' - trigger: - name: 'iec-fuel-baremetal-centos7-daily-master-trigger' + name: 'iec-type2-fuel-baremetal-centos7-daily-master-trigger' triggers: - timed: '' +- trigger: + name: 'iec-type1-compass-virtual-ubuntu1604-daily-master-trigger' + triggers: + - timed: '0 19 * * *' diff --git a/jjb/shell/ta-iso-deploy.sh b/jjb/shell/ta-iso-deploy.sh index c9d5559..1ec4731 100644 --- a/jjb/shell/ta-iso-deploy.sh +++ b/jjb/shell/ta-iso-deploy.sh @@ -27,10 +27,12 @@ nexus_repo_url="$NEXUS_URL/content/repositories/$NEXUS_REPO" mkdir -p "$upload_dir1" mkdir -p "$upload_dir2" -if [ "$(uname -m)" != 'x86_64' ]; then +platform_arch=$(uname -m) +if [ "${platform_arch}" != 'x86_64' ]; then # On non-x86 architecture, rename the artifacts appropiately pushd "$WORKSPACE/work/results/images/" - rename "s/\./.$(uname -m)./" *.* + rename "s/\./.${platform_arch}./" *.* + sed -i "s/\./.${platform_arch}./" *."${platform_arch}".iso.* popd fi diff --git a/jjb/ta/ci-build.yaml b/jjb/ta/ci-build.yaml index dab1436..7b87a8a 100644 --- a/jjb/ta/ci-build.yaml +++ b/jjb/ta/ci-build.yaml @@ -14,6 +14,6 @@ project-name: none build-node: aarch64_dev stream: master - build-timeout: 120 + build-timeout: 180 jobs: - akraino-project-release-ta-build diff --git a/jjb/validation/validation-docker.yaml b/jjb/validation/validation-docker.yaml index 481aa59..14aac1c 100644 --- a/jjb/validation/validation-docker.yaml +++ b/jjb/validation/validation-docker.yaml @@ -6,6 +6,11 @@ stream: - master: branch: '{stream}' + refs_tag: 'heads' + disabled: false + - 2.0.0: + branch: 'master' + refs_tag: 'tags' disabled: false arch_tag: @@ -14,160 +19,7 @@ - 'arm64': slave_label: 'aarch64_dev' - # settings for jobs run in multijob phases - docker-build-job-settings: &docker-build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - jobs: - - "validation-{stream}-docker" - - "validation-docker-build-{arch_tag}-{stream}" - - "validation-docker-manifest-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'validation-{stream}-docker' - project-type: multijob - disabled: '{obj:disabled}' - node: 'centos7-builder-2c-1g' - build-timeout: 90 - - parameters: - - validation-job-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'validation-docker-.*' - blocking-level: 'NODE' - scm: - - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '' - branch: '{branch}' - submodule-recursive: false - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - - triggers: - # Build nigtly at 12:10 AM - - timed: '10 0 * * *' - - builders: - - multijob: - name: 'build validation images' - execution-type: PARALLEL - projects: - - name: 'validation-docker-build-amd64-{stream}' - <<: *docker-build-job-settings - - name: 'validation-docker-build-arm64-{stream}' - <<: *docker-build-job-settings - - multijob: - name: 'publish validation manifests' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'validation-docker-manifest-{stream}' - <<: *docker-build-job-settings - - publishers: - - email: - recipients: 'cristina.pauna@enea.com' - -- job-template: - name: 'validation-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - node: '{slave_label}' - build-timeout: 75 - - parameters: - - validation-job-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - arch_tag: '{arch_tag}' - - properties: - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'validation-docker-build-.*' - blocking-level: 'NODE' - scm: - - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '' - branch: '{branch}' - submodule-recursive: false - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: global-settings - settings-file: '{mvn-settings}' - - shell: | - #!/bin/bash -ex - make -k -C docker push-all - - shell: | - #!/bin/bash -ex - docker system prune -af - -- job-template: - name: 'validation-docker-manifest-{stream}' - node: 'ubuntu1604-docker-8c-8g' - build-timeout: 15 - - parameters: - - validation-job-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' - - disabled: '{obj:disabled}' - - scm: - - lf-infra-gerrit-scm: - jenkins-ssh-credential: '{jenkins-ssh-credential}' - git-url: '{git-url}/{project}.git' - refspec: '' - branch: '{branch}' - submodule-recursive: false - submodule-timeout: '{submodule-timeout}' - submodule-disable: false - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: global-settings - settings-file: '{mvn-settings}' - - shell: | - #!/bin/bash -ex - for sd in docker/*/.; do make -k -C $sd .push_manifest; done - -# parameter macro -- parameter: - name: validation-job-parameters - parameters: - - lf-infra-parameters: - project: '{project}' - stream: '{stream}' - branch: '{branch}' + - akraino-validation-docker-multiarch + - akraino-validation-docker-specific-arch + - akraino-validation-docker-manifest