From: Aric Gardner Date: Thu, 7 Sep 2017 15:31:42 +0000 (+0000) Subject: Merge "armband: Enable docker build/push for yardstick" X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=a6bc65d1efa18f56183c67035a77b616737212ec;hp=cf3a6716465d1694b5c73bb651f49be6a69f3303;p=releng.git Merge "armband: Enable docker build/push for yardstick" --- diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index bdce67a44..9ccf8e39d 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -230,17 +230,15 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' file-paths: - compare-type: ANT - pattern: 'ci/**' - - compare-type: ANT - pattern: 'build/**' - - compare-type: ANT - pattern: 'lib/**' + pattern: '**' + forbidden-file-paths: - compare-type: ANT - pattern: 'config/**' + pattern: 'apex/tests/**' - compare-type: ANT - pattern: 'apex/**' + pattern: 'docs/**' properties: - logrotate-default diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index 514dd49bf..c878fe6af 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -142,17 +142,15 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' file-paths: - compare-type: ANT - pattern: 'ci/**' - - compare-type: ANT - pattern: 'build/**' - - compare-type: ANT - pattern: 'lib/**' + pattern: '**' + forbidden-file-paths: - compare-type: ANT - pattern: 'config/**' + pattern: 'apex/tests/**' - compare-type: ANT - pattern: 'apex/**' + pattern: 'docs/**' properties: - logrotate-default diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index b27b053a4..faa5971e1 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -50,7 +50,7 @@ # HA scenarios - 'os-nosdn-nofeature-ha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' - - 'os-odl_l3-nofeature-ha': + - 'os-odl-nofeature-ha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' # NOHA scenarios @@ -82,6 +82,7 @@ use-build-blocker: true blocking-jobs: - '{installer}-os-.*?-{pod}-daily-.*' + - 'armband-verify-.*' block-level: 'NODE' wrappers: @@ -95,14 +96,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: '{scenario}' - - armband-ci-parameter: - gs-pathname: '{gs-pathname}' builders: - trigger-builds: @@ -139,10 +139,10 @@ # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn) # 4.not used for release criteria or compliance, # only to debug the dovetail tool bugs with arm pods - # 5.only run against scenario os-(nosdn|odl_l3)-(nofeature-bgpvpn)-ha + # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha - conditional-step: condition-kind: regex-match - regex: os-(nosdn|odl|odl_l3)-(nofeature|bgpvpn)-ha + regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha label: '{scenario}' steps: - trigger-builds: @@ -180,14 +180,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l3-nofeature-ha' - - armband-ci-parameter: - gs-pathname: '{gs-pathname}' + default: 'os-odl-nofeature-ha' scm: - git-scm @@ -205,21 +204,6 @@ recipients: armband@enea.com - email-jenkins-admins-on-failure -######################## -# parameter macros -######################## -- parameter: - name: armband-ci-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." - - string: - name: SSH_KEY - default: "/tmp/mcp.rsa" - description: "Path to private SSH key to access environment nodes. For MCP deployments only." - ######################## # trigger macros ######################## @@ -230,15 +214,15 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 1 * * *' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 16 * * *' #---------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against euphrates branch #---------------------------------------------------------------------- @@ -251,7 +235,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger' triggers: - timed: '' #--------------------------------------------------------------- @@ -266,7 +250,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger' triggers: - timed: '' #-------------------------------------------------------------------- @@ -281,6 +265,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger' triggers: - - timed: '' \ No newline at end of file + - timed: '' diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index 56f70d68b..c43dc7f82 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -21,11 +21,11 @@ ##################################### phase: - 'basic': - slave-label: 'opnfv-build-enea' + slave-label: 'armband-virtual' - 'deploy-virtual': - slave-label: 'opnfv-build-enea' + slave-label: 'armband-virtual' - 'smoke-test': - slave-label: 'opnfv-build-enea' + slave-label: 'armband-virtual' ##################################### # jobs ##################################### @@ -50,6 +50,11 @@ enabled: true max-total: 4 option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'fuel-os-.*?-virtual-daily-.*' + block-level: 'NODE' scm: - git-scm-gerrit @@ -94,8 +99,9 @@ - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-enea-defaults' - - 'armband-verify-defaults': + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -155,7 +161,8 @@ - logrotate-default - throttle: enabled: true - max-total: 6 + max-total: 2 + max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true @@ -177,8 +184,9 @@ project: '{project}' branch: '{branch}' - '{slave-label}-defaults' - - '{installer}-defaults' - - 'armband-verify-defaults': + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -199,10 +207,8 @@ - builder: name: 'armband-verify-deploy-virtual-macro' builders: - - shell: | - #!/bin/bash - - echo "Not activated!" + - shell: + !include-raw: ../fuel/fuel-deploy.sh - builder: name: 'armband-verify-smoke-test-macro' @@ -211,13 +217,3 @@ #!/bin/bash echo "Not activated!" -##################################### -# parameter macros -##################################### -- parameter: - name: 'armband-verify-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml index fd0da7928..09b0bc2e1 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ b/jjb/daisy4nfv/daisy-project-jobs.yml @@ -54,6 +54,8 @@ use-build-blocker: true blocking-jobs: - '{installer}-daily-.*' + - 'daisy4nfv-merge-build-.*' + - 'daisy4nfv-verify-build-.*' block-level: 'NODE' scm: diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml index 561ffbe24..f7a6c1363 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -154,6 +154,7 @@ use-build-blocker: true blocking-jobs: - '{alias}-merge-{phase}-.*' + - '{installer}-daily-.*' block-level: 'NODE' scm: diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml index dff0ff0a4..6f6ab0fb0 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml @@ -50,7 +50,7 @@ - build-blocker: use-build-blocker: true blocking-jobs: - - '{installer}-merge-build-.*' + - '{alias}-merge-build-.*' block-level: 'NODE' scm: @@ -147,8 +147,9 @@ - build-blocker: use-build-blocker: true blocking-jobs: - - '{installer}-merge-build-.*' + - '{alias}-merge-build-.*' - '{alias}-verify-build-.*' + - '{installer}-daily-.*' block-level: 'NODE' scm: diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index 488505edf..c30cfed72 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -68,18 +68,12 @@ # HA scenarios - 'os-nosdn-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l3-nofeature-ha': + - 'os-odl-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-onos-sfc-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-onos-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-sfc-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-bgpvpn-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-kvm-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-ha': @@ -93,18 +87,12 @@ # NOHA scenarios - 'os-nosdn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-nofeature-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l3-nofeature-noha': + - 'os-odl-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-onos-sfc-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-onos-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-sfc-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-bgpvpn-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-kvm-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-noha': @@ -140,6 +128,7 @@ blocking-jobs: - 'fuel-os-.*?-{pod}-daily-.*' - 'fuel-os-.*?-{pod}-weekly-.*' + - 'fuel-verify-.*' block-level: 'NODE' wrappers: @@ -153,14 +142,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: '{scenario}' - - fuel-ci-parameter: - gs-pathname: '{gs-pathname}' builders: - description-setter: @@ -199,11 +187,11 @@ # 3.only debug testsuite here(refstack, ha, ipv6, bgpvpn) # 4.not used for release criteria or compliance, # only to debug the dovetail tool bugs with bgpvpn and nosdn-nofeature - # 5.only run against scenario os-odl_l2-bgpvpn-ha(regex used here, can extend to more scenarios future) - # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl_l2-bgpvpn-ha, run against danube + # 5.only run against scenario os-odl-bgpvpn-ha(regex used here, can extend to more scenarios future) + # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube - conditional-step: condition-kind: regex-match - regex: os-(nosdn-nofeature|odl_l2-bgpvpn)-ha + regex: os-(nosdn-nofeature|odl-bgpvpn)-ha label: '{scenario}' steps: - trigger-builds: @@ -250,14 +238,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - fuel-ci-parameter: - gs-pathname: '{gs-pathname}' + default: 'os-odl-nofeature-ha' - string: name: DEPLOY_TIMEOUT default: '150' @@ -284,20 +271,6 @@ - email-jenkins-admins-on-failure ######################## -# parameter macros -######################## -- parameter: - name: fuel-ci-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." - - string: - name: SSH_KEY - default: "/tmp/mcp.rsa" - description: "Path to private SSH key to access environment nodes. For MCP deployments only." -######################## # trigger macros ######################## #----------------------------------------------- @@ -309,11 +282,7 @@ triggers: - timed: '5 20 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 23 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-baremetal-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '5 2 * * *' - trigger: @@ -328,14 +297,6 @@ name: 'fuel-os-onos-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '' # '5 8 * * *' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 11 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 14 * * *' - trigger: name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger' triggers: @@ -354,11 +315,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-baremetal-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: @@ -369,14 +326,6 @@ name: 'fuel-os-onos-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' triggers: @@ -402,11 +351,7 @@ triggers: - timed: '' # '0 20 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' # '0 23 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-baremetal-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger' triggers: - timed: '' # '0 2 * * *' - trigger: @@ -417,14 +362,6 @@ name: 'fuel-os-onos-nofeature-ha-baremetal-daily-euphrates-trigger' triggers: - timed: '' # '0 8 * * *' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' # '0 11 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' # '0 14 * * *' - trigger: name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-euphrates-trigger' triggers: @@ -447,11 +384,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-baremetal-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -462,14 +395,6 @@ name: 'fuel-os-onos-nofeature-noha-baremetal-daily-euphrates-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-euphrates-trigger' triggers: @@ -494,11 +419,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-virtual-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: @@ -509,14 +430,6 @@ name: 'fuel-os-onos-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-virtual-daily-master-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger' triggers: @@ -539,11 +452,7 @@ triggers: - timed: '5 13 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '35 15 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-virtual-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '5 18 * * *' - trigger: @@ -554,14 +463,6 @@ name: 'fuel-os-onos-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '' # '5 23 * * *' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '35 1 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '5 4 * * *' - trigger: name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' triggers: @@ -586,11 +487,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-virtual-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-virtual-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -601,14 +498,6 @@ name: 'fuel-os-onos-nofeature-ha-virtual-daily-euphrates-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-virtual-daily-euphrates-trigger' triggers: @@ -631,11 +520,7 @@ triggers: - timed: '' # '0 13 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' # '30 15 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-virtual-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-virtual-daily-euphrates-trigger' triggers: - timed: '' # '0 18 * * *' - trigger: @@ -646,14 +531,6 @@ name: 'fuel-os-onos-nofeature-noha-virtual-daily-euphrates-trigger' triggers: - timed: '' # '0 23 * * *' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' # '30 1 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' # '0 4 * * *' - trigger: name: 'fuel-os-nosdn-kvm-noha-virtual-daily-euphrates-trigger' triggers: @@ -678,11 +555,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '0 10 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: @@ -693,14 +566,6 @@ name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-master-trigger' triggers: @@ -723,11 +588,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod1-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: @@ -738,14 +599,6 @@ name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' triggers: @@ -770,11 +623,7 @@ triggers: - timed: '0 10 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod3-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-master-trigger' triggers: - timed: '' - trigger: @@ -785,14 +634,6 @@ name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-master-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger' triggers: @@ -815,11 +656,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod3-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-master-trigger' triggers: - timed: '' - trigger: @@ -830,14 +667,6 @@ name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-master-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-master-trigger' triggers: @@ -862,11 +691,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' # '0 2 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -877,14 +702,6 @@ name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-euphrates-trigger' triggers: @@ -907,11 +724,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod1-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -922,14 +735,6 @@ name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-euphrates-trigger' triggers: @@ -954,11 +759,7 @@ triggers: - timed: '' # '0 18 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod3-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -969,14 +770,6 @@ name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-euphrates-trigger' triggers: @@ -999,11 +792,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod3-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -1014,14 +803,6 @@ name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-euphrates-trigger' triggers: @@ -1046,11 +827,7 @@ triggers: - timed: '0 2 * * 6' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-danube-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-danube-trigger' triggers: - timed: '' - trigger: @@ -1061,14 +838,6 @@ name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-danube-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '0 2 * * 1,3,5' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-danube-trigger' triggers: @@ -1091,11 +860,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod1-daily-danube-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-danube-trigger' triggers: - timed: '' - trigger: @@ -1106,14 +871,6 @@ name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-danube-trigger' triggers: - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' - trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-danube-trigger' triggers: diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index ddaebc94a..18b2fd730 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -12,7 +12,7 @@ set -o pipefail export TERM="vt220" -if [[ "$BRANCH" != 'master' ]]; then +if [[ "$BRANCH" =~ 'danube' ]]; then # source the file so we get OPNFV vars source latest.properties @@ -21,11 +21,11 @@ if [[ "$BRANCH" != 'master' ]]; then fi # shellcheck disable=SC2153 -if [[ "${JOB_NAME}" =~ "merge" ]]; then - # set simplest scenario for virtual deploys to run for merges +if [[ "${JOB_NAME}" =~ 'verify' ]]; then + # set simplest scenario for virtual deploys to run for verify DEPLOY_SCENARIO="os-nosdn-nofeature-ha" -elif [[ "${BRANCH}" != 'master' ]]; then - # for none-merge deployments +elif [[ "${BRANCH}" =~ 'danube' ]]; then + # for Danube deployments (no artifact for current master or newer branches) # checkout the commit that was used for building the downloaded artifact # to make sure the ISO and deployment mechanism uses same versions echo "Checking out ${OPNFV_GIT_SHA1}" diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh index fa0c88b5d..02ca10305 100755 --- a/jjb/fuel/fuel-download-artifact.sh +++ b/jjb/fuel/fuel-download-artifact.sh @@ -16,15 +16,9 @@ set -o pipefail # use proxy url to replace the normal URL, or googleusercontent.com will be blocked randomly [[ "$NODE_NAME" =~ (zte) ]] && GS_URL=${GS_BASE_PROXY%%/*}/$GS_URL -if [[ "$JOB_NAME" =~ "merge" ]]; then - echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties" - # get the properties file for the Fuel ISO built for a merged change - curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties -else - # get the latest.properties file in order to get info regarding latest artifact - echo "Downloading http://$GS_URL/latest.properties" - curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties -fi +# get the latest.properties file in order to get info regarding latest artifact +echo "Downloading http://$GS_URL/latest.properties" +curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties # check if we got the file [[ -f $WORKSPACE/latest.properties ]] || exit 1 @@ -36,21 +30,18 @@ source $WORKSPACE/latest.properties OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} echo "Using $OPNFV_ARTIFACT for deployment" -# using ISOs for verify & merge jobs from local storage will be enabled later -if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then - # check if we already have the ISO to avoid redownload - ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}" - if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then - echo "ISO exists locally. Skipping the download and using the file from ISO store" - ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso - echo "--------------------------------------------------------" - echo - ls -al $WORKSPACE/opnfv.iso - echo - echo "--------------------------------------------------------" - echo "Done!" - exit 0 - fi +# check if we already have the ISO to avoid redownload +ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}" +if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then + echo "ISO exists locally. Skipping the download and using the file from ISO store" + ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso + echo "--------------------------------------------------------" + echo + ls -al $WORKSPACE/opnfv.iso + echo + echo "--------------------------------------------------------" + echo "Done!" + exit 0 fi [[ "$NODE_NAME" =~ (zte) ]] && OPNFV_ARTIFACT_URL=${GS_BASE_PROXY%%/*}/$OPNFV_ARTIFACT_URL diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index e850a0acb..cfcbf3695 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -19,83 +19,11 @@ disabled: true jobs: - - 'fuel-merge-deploy-virtual-{stream}' - 'fuel-deploy-generic-daily-{stream}' ######################## # job templates ######################## -- job-template: - name: 'fuel-merge-deploy-virtual-{stream}' - - disabled: true - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 2 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'fuel-os-.*?-virtual-daily-.*' - - 'fuel-merge-deploy-virtual-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'fuel-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults' - - fuel-project-parameter: - gs-pathname: '{gs-pathname}' - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: 'ci/**' - - compare-type: ANT - pattern: 'mcp/**' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - dependency-jobs: 'fuel-merge-build-{stream}' - - builders: - - shell: - !include-raw-escape: ./fuel-deploy.sh - - shell: - !include-raw-escape: ./fuel-workspace-cleanup.sh - - publishers: - - email: - recipients: fzhadaev@mirantis.com - - email-jenkins-admins-on-failure - - job-template: name: 'fuel-deploy-generic-daily-{stream}' @@ -120,14 +48,15 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' + default: 'os-odl-nofeature-ha' - node: name: SLAVE_NAME description: 'Slave name on Jenkins' @@ -137,8 +66,6 @@ - ericsson-pod1 default-slaves: - ericsson-pod2 - - fuel-project-parameter: - gs-pathname: '{gs-pathname}' scm: - git-scm @@ -150,14 +77,3 @@ builders: - shell: !include-raw-escape: ./fuel-deploy.sh - -######################## -# parameter macros -######################## -- parameter: - name: fuel-project-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml index 899be9a4a..45197fc4e 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yml @@ -21,11 +21,11 @@ ##################################### phase: - 'basic': - slave-label: 'opnfv-build-ubuntu' + slave-label: 'fuel-virtual' - 'deploy-virtual': - slave-label: 'opnfv-build-ubuntu' + slave-label: 'fuel-virtual' - 'smoke-test': - slave-label: 'opnfv-build-ubuntu' + slave-label: 'fuel-virtual' ##################################### # jobs ##################################### @@ -50,6 +50,11 @@ enabled: true max-total: 4 option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'fuel-os-.*?-virtual-daily-.*' + block-level: 'NODE' scm: - git-scm-gerrit @@ -94,8 +99,9 @@ - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'fuel-verify-defaults': + - 'fuel-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -155,7 +161,8 @@ - logrotate-default - throttle: enabled: true - max-total: 6 + max-total: 2 + max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true @@ -177,8 +184,9 @@ project: '{project}' branch: '{branch}' - '{slave-label}-defaults' - - '{installer}-defaults' - - 'fuel-verify-defaults': + - 'fuel-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -199,10 +207,8 @@ - builder: name: 'fuel-verify-deploy-virtual-macro' builders: - - shell: | - #!/bin/bash - - echo "Not activated!" + - shell: + !include-raw: ./fuel-deploy.sh - builder: name: 'fuel-verify-smoke-test-macro' @@ -211,13 +217,3 @@ #!/bin/bash echo "Not activated!" -##################################### -# parameter macros -##################################### -- parameter: - name: 'fuel-verify-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml index c681c6252..e1563ea38 100644 --- a/jjb/fuel/fuel-weekly-jobs.yml +++ b/jjb/fuel/fuel-weekly-jobs.yml @@ -72,6 +72,7 @@ blocking-jobs: - 'fuel-os-.*?-{pod}-daily-.*' - 'fuel-os-.*?-{pod}-weekly-.*' + - 'fuel-verify-.*' block-level: 'NODE' wrappers: @@ -85,14 +86,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: '{scenario}' - - fuel-weekly-parameter: - gs-pathname: '{gs-pathname}' builders: - description-setter: @@ -148,14 +148,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - fuel-weekly-parameter: - gs-pathname: '{gs-pathname}' + default: 'os-odl-nofeature-ha' - string: name: DEPLOY_TIMEOUT default: '150' @@ -180,16 +179,6 @@ - email-jenkins-admins-on-failure ######################## -# parameter macros -######################## -- parameter: - name: fuel-weekly-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." -######################## # trigger macros ######################## #----------------------------------------------- diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh index f0e08e171..cee302699 100644 --- a/jjb/functest/functest-alpine.sh +++ b/jjb/functest/functest-alpine.sh @@ -70,7 +70,7 @@ set +e tiers=(healthcheck smoke features vnf) for tier in ${tiers[@]}; do - FUNCTEST_IMAGE=ollivier/functest-${tier} + FUNCTEST_IMAGE=opnfv/functest-${tier} echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..." docker pull ${FUNCTEST_IMAGE}>/dev/null cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE}" diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml index 02da04f30..c25e4ab4a 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yml @@ -35,17 +35,21 @@ disabled: '{obj:disabled}' + project-type: 'multijob' + parameters: - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-defaults' + - 'opnfv-build-ubuntu-defaults' scm: - git-scm-gerrit triggers: - - 'functest-verify-triggers-macro' + - 'functest-verify-triggers-macro': + project: '{project}' + branch: '{branch}' builders: - shell: | @@ -98,6 +102,11 @@ disabled: '{obj:disabled}' + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + parameters: - project-parameter: project: '{project}' @@ -128,7 +137,9 @@ - git-scm triggers: - - 'functest-docs-upload-triggers-macro' + - 'functest-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' builders: - functest-upload-doc-artifact diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml index 10afd6f8c..ecef6d3b7 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -44,7 +44,7 @@ description: 'IP of the salt master (for mcp deployments)' - string: name: SSH_KEY - default: '/tmp/mcp.rsa' + default: "$HOME/opnfv/mcp.rsa" description: 'Path to private SSH key to access environment nodes' - string: name: INSTALLER_TYPE @@ -58,6 +58,10 @@ name: BRIDGE default: 'pxebr' description: 'Bridge(s) to be used by salt master' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." - parameter: name: 'joid-defaults' diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 75c4323e6..a4ee4d9f1 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -363,21 +363,6 @@ ##################################################### # Parameters for build slaves ##################################################### -- parameter: - name: 'opnfv-build-enea-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build-enea' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - - parameter: name: 'opnfv-build-centos-defaults' parameters: diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml index 39bdb8fc9..61d25585c 100644 --- a/jjb/xci/xci-verify-jobs.yml +++ b/jjb/xci/xci-verify-jobs.yml @@ -87,15 +87,16 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: 'xci/**' - disable-strict-forbidden-file-verification: 'true' + disable-strict-forbidden-file-verification: 'false' forbidden-file-paths: - compare-type: ANT pattern: 'bifrost/**' - compare-type: ANT - pattern: 'README.rst' + pattern: 'prototypes/**' + - compare-type: ANT + pattern: 'upstream/**' + - compare-type: ANT + pattern: '**/README.rst' readable-message: true parameters: diff --git a/utils/test/testapi/etc/config.ini b/utils/test/testapi/etc/config.ini index a7d8da622..8d0bde20b 100644 --- a/utils/test/testapi/etc/config.ini +++ b/utils/test/testapi/etc/config.ini @@ -27,3 +27,5 @@ static_path = /usr/local/share/opnfv_testapi [lfid] # Linux Foundation cas URL cas_url = https://identity.linuxfoundation.org/cas/ +#service url used to authenticate to cas +signin_return = api/v1/auth/signin_return diff --git a/utils/test/testapi/opnfv_testapi/common/check.py b/utils/test/testapi/opnfv_testapi/common/check.py index 009d3d46c..24ba876a9 100644 --- a/utils/test/testapi/opnfv_testapi/common/check.py +++ b/utils/test/testapi/opnfv_testapi/common/check.py @@ -8,49 +8,14 @@ ############################################################################## import functools -import cas from tornado import gen from tornado import web -from opnfv_testapi.common import constants from opnfv_testapi.common import message from opnfv_testapi.common import raises -from opnfv_testapi.common.config import CONF from opnfv_testapi.db import api as dbapi -def login(method): - @web.asynchronous - @gen.coroutine - @functools.wraps(method) - def wrapper(self, *args, **kwargs): - ticket = self.get_query_argument('ticket', default=None) - if ticket: - client = cas.CASClient(version='2', - server_url=CONF.lfid_cas_url, - service_url=CONF.ui_url) - (user, attrs, _) = client.verify_ticket(ticket=ticket) - print 'login user: {}'.format(user) - login_user = { - 'user': user, - 'email': attrs.get('mail'), - 'fullname': attrs.get('field_lf_full_name'), - 'groups': constants.TESTAPI_USERS + attrs.get('group', []) - } - q_user = {'user': user} - db_user = yield dbapi.db_find_one(constants.USER_TABLE, q_user) - if not db_user: - dbapi.db_save(constants.USER_TABLE, login_user) - else: - dbapi.db_update(constants.USER_TABLE, q_user, login_user) - - self.clear_cookie(constants.TESTAPI_ID) - self.set_secure_cookie(constants.TESTAPI_ID, user) - ret = yield gen.coroutine(method)(self, *args, **kwargs) - raise gen.Return(ret) - return wrapper - - def authenticate(method): @web.asynchronous @gen.coroutine diff --git a/utils/test/testapi/opnfv_testapi/common/constants.py b/utils/test/testapi/opnfv_testapi/common/constants.py index b37ebb3d6..70c922383 100644 --- a/utils/test/testapi/opnfv_testapi/common/constants.py +++ b/utils/test/testapi/opnfv_testapi/common/constants.py @@ -2,4 +2,3 @@ TESTAPI_ID = 'testapi_id' CSRF_TOKEN = 'csrf_token' ROLE = 'role' TESTAPI_USERS = ['opnfv-testapi-users'] -USER_TABLE = 'users' diff --git a/utils/test/testapi/opnfv_testapi/router/url_mappings.py b/utils/test/testapi/opnfv_testapi/router/url_mappings.py index c038e88cc..ce0a3eeb3 100644 --- a/utils/test/testapi/opnfv_testapi/router/url_mappings.py +++ b/utils/test/testapi/opnfv_testapi/router/url_mappings.py @@ -76,6 +76,7 @@ mappings = [ (r'/', root.RootHandler), (r'/api/v1/auth/signin', sign.SigninHandler), + (r'/{}'.format(CONF.lfid_signin_return), sign.SigninReturnHandler), (r'/api/v1/auth/signout', sign.SignoutHandler), (r'/api/v1/profile', user.UserHandler), diff --git a/utils/test/testapi/opnfv_testapi/ui/auth/sign.py b/utils/test/testapi/opnfv_testapi/ui/auth/sign.py index 01cd0f7c3..318473ea2 100644 --- a/utils/test/testapi/opnfv_testapi/ui/auth/sign.py +++ b/utils/test/testapi/opnfv_testapi/ui/auth/sign.py @@ -1,22 +1,59 @@ from cas import CASClient +from tornado import gen +from tornado import web from opnfv_testapi.common import constants from opnfv_testapi.common.config import CONF +from opnfv_testapi.db import api as dbapi from opnfv_testapi.resources import handlers -class SigninHandler(handlers.GenericApiHandler): +class SignBaseHandler(handlers.GenericApiHandler): + def __init__(self, application, request, **kwargs): + super(SignBaseHandler, self).__init__(application, request, **kwargs) + self.table = 'users' + self.cas_client = CASClient(version='2', + server_url=CONF.lfid_cas_url, + service_url='{}/{}'.format( + CONF.ui_url, + CONF.lfid_signin_return)) + + +class SigninHandler(SignBaseHandler): + def get(self): + self.redirect(url=(self.cas_client.get_login_url())) + + +class SigninReturnHandler(SignBaseHandler): + + @web.asynchronous + @gen.coroutine def get(self): - client = CASClient(version='2', - server_url=CONF.lfid_cas_url, - service_url=CONF.ui_url) - self.redirect(url=(client.get_login_url())) + ticket = self.get_query_argument('ticket', default=None) + if ticket: + (user, attrs, _) = self.cas_client.verify_ticket(ticket=ticket) + login_user = { + 'user': user, + 'email': attrs.get('mail'), + 'fullname': attrs.get('field_lf_full_name'), + 'groups': constants.TESTAPI_USERS + attrs.get('group', []) + } + q_user = {'user': user} + db_user = yield dbapi.db_find_one(self.table, q_user) + if not db_user: + dbapi.db_save(self.table, login_user) + else: + dbapi.db_update(self.table, q_user, login_user) + + self.clear_cookie(constants.TESTAPI_ID) + self.set_secure_cookie(constants.TESTAPI_ID, user) + + self.redirect(url=CONF.ui_url) -class SignoutHandler(handlers.GenericApiHandler): +class SignoutHandler(SignBaseHandler): def get(self): """Handle signout request.""" self.clear_cookie(constants.TESTAPI_ID) - client = CASClient(version='2', - server_url=CONF.lfid_cas_url) - self.redirect(url=(client.get_logout_url(redirect_url=CONF.ui_url))) + logout_url = self.cas_client.get_logout_url(redirect_url=CONF.ui_url) + self.redirect(url=logout_url) diff --git a/utils/test/testapi/opnfv_testapi/ui/root.py b/utils/test/testapi/opnfv_testapi/ui/root.py index 576cbddcf..286a6b097 100644 --- a/utils/test/testapi/opnfv_testapi/ui/root.py +++ b/utils/test/testapi/opnfv_testapi/ui/root.py @@ -1,4 +1,3 @@ -from opnfv_testapi.common import check from opnfv_testapi.common.config import CONF from opnfv_testapi.resources import handlers @@ -7,6 +6,5 @@ class RootHandler(handlers.GenericApiHandler): def get_template_path(self): return CONF.ui_static_path - @check.login def get(self): self.render('testapi-ui/index.html')