Merge "Fetch creds according scenario type(os or k8)"
authormei mei <meimei@huawei.com>
Thu, 22 Mar 2018 02:21:26 +0000 (02:21 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Thu, 22 Mar 2018 02:21:26 +0000 (02:21 +0000)
jjb/apex/apex-jjb-renderer.py
jjb/clover/clover-project.yml [new file with mode: 0644]
jjb/container4nfv/container4nfv-project.yml
jjb/dovetail/dovetail-run.sh
jjb/opnfvdocs/project.cfg
jjb/xci/xci-merge-jobs.yml
jjb/xci/xci-verify-jobs.yml

index 6fd83af..b677843 100644 (file)
@@ -12,30 +12,38 @@ import yaml
 from jinja2 import Environment
 from jinja2 import FileSystemLoader
 
-gspathname = dict()
-branch = dict()
-build_slave = dict()
-env = Environment(loader=FileSystemLoader('./'), autoescape=True)
 
-with open('scenarios.yaml.hidden') as _:
-    scenarios = yaml.safe_load(_)
+def render_jjb():
+    """Render JJB output from scenarios.yaml.hidden file and jinja
+    template"""
 
-template = env.get_template('apex.yml.j2')
+    gspathname = dict()
+    branch = dict()
+    build_slave = dict()
+    env = Environment(loader=FileSystemLoader('./'), autoescape=True)
 
-print("Scenarios are: ")
-pprint.pprint(scenarios)
+    with open('scenarios.yaml.hidden') as _:
+        scenarios = yaml.safe_load(_)
 
-for stream in scenarios:
-    if stream == 'master':
-        gspathname['master'] = ''
-        branch[stream] = stream
-    else:
-        gspathname[stream] = '/' + stream
-        branch[stream] = 'stable/' + stream
-    build_slave[stream] = 'apex-baremetal-{}'.format(stream)
+    template = env.get_template('apex.yml.j2')
 
-output = template.render(scenarios=scenarios, gspathname=gspathname,
-                         branch=branch, build_slave=build_slave)
+    print("Scenarios are: ")
+    pprint.pprint(scenarios)
 
-with open('./apex.yml', 'w') as fh:
-    fh.write(output)
+    for stream in scenarios:
+        if stream == 'master':
+            gspathname['master'] = ''
+            branch[stream] = stream
+        else:
+            gspathname[stream] = '/' + stream
+            branch[stream] = 'stable/' + stream
+        build_slave[stream] = 'apex-baremetal-{}'.format(stream)
+
+    output = template.render(scenarios=scenarios, gspathname=gspathname,
+                             branch=branch, build_slave=build_slave)
+
+    with open('./apex.yml', 'w') as fh:
+        fh.write(output)
+
+if __name__ == "__main__":
+    render_jjb()
diff --git a/jjb/clover/clover-project.yml b/jjb/clover/clover-project.yml
new file mode 100644 (file)
index 0000000..b31f3de
--- /dev/null
@@ -0,0 +1,166 @@
+---
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+    name: clover
+
+    project: '{name}'
+
+    jobs:
+      - 'clover-verify-{stream}'
+      - 'clover-daily-upload-{stream}'
+      - 'clover-daily-deploy-{stream}'
+
+    stream:
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+
+- job-template:
+    name: 'clover-verify-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      # yamllint disable rule:line-length
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+      # yamllint enable rule:line-length
+      - 'opnfv-build-ubuntu-defaults'
+
+    scm:
+      - git-scm-gerrit
+
+    triggers:
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: 'false'
+                exclude-trivial-rebase: 'false'
+                exclude-no-code-change: 'false'
+            - draft-published-event
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              disable-strict-forbidden-file-verification: 'true'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: 'docs/**|.gitignore'
+
+    builders:
+      - shell: |
+          cd $WORKSPACE/ci
+          ./verify.sh
+
+- job-template:
+    name: 'clover-daily-upload-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    scm:
+      - git-scm
+
+    triggers:
+      - timed: '0 11 * * *'
+
+    wrappers:
+      - fix-workspace-permissions
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
+      - 'clover-defaults':
+          gs-pathname: '{gs-pathname}'
+
+    builders:
+      - shell: |
+          cd $WORKSPACE/ci
+          ./upload.sh
+
+- job-template:
+    name: 'clover-daily-deploy-{stream}'
+
+    project-type: freestyle
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    properties:
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'clover-daily-deploy-.*?'
+            - 'container4nfv-daily-deploy-.*?'
+          block-level: 'NODE'
+
+    wrappers:
+      - timeout:
+          timeout: 180
+          abort: true
+      - fix-workspace-permissions
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      # yamllint disable rule:line-length
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+      # yamllint enable rule:line-length
+      - node:
+          name: SLAVE_NAME
+          description: 'Slave name on Jenkins'
+          allowed-slaves:
+            - huawei-virtual6
+          default-slaves:
+            - huawei-virtual6
+
+    scm:
+      - git-scm
+
+    triggers:
+      - timed: '0 12 * * *'
+
+    builders:
+      - shell: |
+          cd $WORKSPACE/ci
+          ./deploy.sh
+
+###################
+# parameter macros
+###################
+- parameter:
+    name: 'clover-defaults'
+    parameters:
+      - string:
+          name: GS_URL
+          default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+          description: "URL to Google Storage."
index 03bbb65..1ab50ae 100644 (file)
 
     properties:
       - logrotate-default
+      - throttle:
+          enabled: true
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'clover-daily-deploy-.*?'
+            - 'container4nfv-daily-deploy-.*?'
+          block-level: 'NODE'
 
     wrappers:
+      - timeout:
+          timeout: 240
+          abort: true
       - fix-workspace-permissions
 
     parameters:
index b8c4324..1c53dbe 100755 (executable)
@@ -93,13 +93,24 @@ fi
 cat $OPENRC
 
 if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then
+    compass_repo=${WORKSPACE}/compass4nfv/
+    git clone https://github.com/opnfv/compass4nfv.git ${compass_repo} >/dev/null
+    pip install shyaml
+    scenario_file=${compass_repo}/deploy/conf/hardware_environment/$NODE_NAME/os-nosdn-nofeature-ha.yml
+    ipmiIp=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiIp)
+    ipmiPass=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiPass)
+    ipmiUser=root
+    jumpserver_ip=$(ifconfig | grep -A 5 docker0 | grep "inet addr" | cut -d ':' -f 2 | cut -d ' ' -f 1)
+
     cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
 nodes:
-- {ip: 10.1.0.52, name: node1, password: root, role: controller, user: root}
+- {ip: ${jumpserver_ip}, name: node0, password: root, role: Jumpserver, user: root}
+- {ip: 10.1.0.50, name: node1, password: root, role: controller, user: root,
+   ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
 - {ip: 10.1.0.51, name: node2, password: root, role: controller, user: root}
-- {ip: 10.1.0.50, name: node3, password: root, role: controller, user: root}
-- {ip: 10.1.0.54, name: node4, password: root, role: compute, user: root}
-- {ip: 10.1.0.53, name: node5, password: root, role: compute, user: root}
+- {ip: 10.1.0.52, name: node3, password: root, role: controller, user: root}
+- {ip: 10.1.0.53, name: node4, password: root, role: compute, user: root}
+- {ip: 10.1.0.54, name: node5, password: root, role: compute, user: root}
 
 EOF
 fi
@@ -154,6 +165,7 @@ if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
 fi
 
 if [ -f ${DOVETAIL_CONFIG}/pod.yaml ]; then
+    sudo chown jenkins:jenkins ${DOVETAIL_CONFIG}/pod.yaml
     echo "Adapt process info for $INSTALLER_TYPE ..."
     attack_process='rabbitmq'
     cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
@@ -307,8 +319,9 @@ sudo cp -r ${DOVETAIL_HOME}/results ./
 # PRIMARY_GROUP=$(id -gn $CURRENT_USER)
 # sudo chown -R ${CURRENT_USER}:${PRIMARY_GROUP} ${WORKSPACE}/results
 
-#remove useless workspace from yardstick to save disk space
+#remove useless files to save disk space
 sudo rm -rf ./results/workspace
+sudo rm -f ./results/yardstick.img
 
 echo "Dovetail: done!"
 
index 0722b40..5982697 100644 (file)
@@ -2,6 +2,7 @@ apex
 armband
 availability
 bottlenecks
+clover
 compass4nfv
 copper
 conductor
index df8bbb4..d6442a9 100644 (file)
@@ -9,16 +9,23 @@
     stream:
       - master:
           branch: '{stream}'
+          disabled: false
     # -------------------------------
     # distros
     # -------------------------------
     distro:
       - ubuntu:
           disabled: false
+          kill-phase-on: FAILURE
+          abort-all-job: true
       - centos:
-          disabled: false
+          disabled: true
+          kill-phase-on: NEVER
+          abort-all-job: false
       - opensuse:
           disabled: false
+          kill-phase-on: FAILURE
+          abort-all-job: true
     # -------------------------------
     # postmerge promotion phases
     # -------------------------------
@@ -41,7 +48,7 @@
 
     project-type: multijob
 
-    disabled: false
+    disabled: '{obj:disabled}'
 
     concurrent: false
 
       - label:
           name: SLAVE_LABEL
           default: 'xci-virtual'
+      - string:
+          name: CI_LOOP
+          default: 'merge'
+      - string:
+          name: FUNCTEST_MODE
+          default: 'tier'
+      - string:
+          name: FUNCTEST_SUITE_NAME
+          default: 'healthcheck'
       - string:
           name: DISTRO
           default: 'all'
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                CI_LOOP=$CI_LOOP
+                FUNCTEST_MODE=$FUNCTEST_MODE
+                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
               node-parameters: false
               kill-phase-on: FAILURE
               abort-all-job: true
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                CI_LOOP=$CI_LOOP
+                FUNCTEST_MODE=$FUNCTEST_MODE
+                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
               node-parameters: false
               kill-phase-on: FAILURE
               abort-all-job: true
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                CI_LOOP=$CI_LOOP
+                FUNCTEST_MODE=$FUNCTEST_MODE
+                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
               node-parameters: false
               kill-phase-on: NEVER
               abort-all-job: false
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                CI_LOOP=$CI_LOOP
+                FUNCTEST_MODE=$FUNCTEST_MODE
+                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
               node-parameters: true
               kill-phase-on: NEVER
               abort-all-job: true
 
     project-type: multijob
 
-    disabled: false
+    disabled: '{obj:disabled}'
 
     concurrent: false
 
       - label:
           name: SLAVE_LABEL
           default: 'xci-virtual'
+      - string:
+          name: CI_LOOP
+          default: 'merge'
+      - string:
+          name: FUNCTEST_MODE
+          default: 'tier'
+      - string:
+          name: FUNCTEST_SUITE_NAME
+          default: 'healthcheck'
       - string:
           name: DISTRO
           default: '{distro}'
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
               node-parameters: true
-              kill-phase-on: FAILURE
-              abort-all-job: true
+              kill-phase-on: '{kill-phase-on}'
+              abort-all-job: '{abort-all-job}'
       - multijob:
           name: healthcheck
           condition: SUCCESSFUL
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                FUNCTEST_MODE=tier
-                FUNCTEST_TIER=healthcheck
+                CI_LOOP=$CI_LOOP
+                FUNCTEST_MODE=$FUNCTEST_MODE
+                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
               node-parameters: true
-              kill-phase-on: NEVER
-              abort-all-job: true
+              kill-phase-on: '{kill-phase-on}'
+              abort-all-job: '{abort-all-job}'
 
     publishers:
       - postbuildscript:
       - string:
           name: DISTRO
           default: 'ubuntu'
+      - string:
+          name: CI_LOOP
+          default: 'merge'
       - string:
           name: FUNCTEST_MODE
           default: 'tier'
       - string:
           name: PROJECT
           default: $GERRIT_PROJECT
+      - string:
+          name: CI_LOOP
+          default: 'merge'
+      - string:
+          name: FUNCTEST_MODE
+          default: 'tier'
+      - string:
+          name: FUNCTEST_SUITE_NAME
+          default: 'healthcheck'
       - string:
           name: DISTRO
           default: 'all'
index d78dc82..e5c1a93 100644 (file)
       - string:
           name: CLEAN_DIB_IMAGES
           default: 'true'
+      - string:
+          name: CI_LOOP
+          default: 'verify'
+      - string:
+          name: FUNCTEST_MODE
+          default: 'tier'
+      - string:
+          name: FUNCTEST_SUITE_NAME
+          default: 'healthcheck'
       - string:
           name: GIT_BASE
           default: https://gerrit.opnfv.org/gerrit/$PROJECT
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                CI_LOOP=$CI_LOOP
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: true
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                FUNCTEST_MODE=tier
-                FUNCTEST_TIER=healthcheck
+                CI_LOOP=$CI_LOOP
+                FUNCTEST_MODE=$FUNCTEST_MODE
+                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
               node-parameters: true
               kill-phase-on: NEVER
               abort-all-job: true
       - string:
           name: DISTRO
           default: 'ubuntu'
+      - string:
+          name: CI_LOOP
+          default: 'verify'
       - string:
           name: FUNCTEST_MODE
           default: 'tier'