Merge "Build functest-patrole in Functest multijob"
authorMorgan Richomme <morgan.richomme@orange.com>
Tue, 6 Mar 2018 13:32:20 +0000 (13:32 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Tue, 6 Mar 2018 13:32:20 +0000 (13:32 +0000)
12 files changed:
jjb/armband/armband-ci-jobs.yml
jjb/container4nfv/arm64/compass-deploy.sh
jjb/container4nfv/container4nfv-arm64.yml
jjb/fuel/fuel-daily-jobs.yml
jjb/global/installer-report.sh
jjb/global/releng-macros.yml
jjb/pharos/check-jinja2.yml
jjb/releng/compass4nfv-docker.yml
jjb/releng/opnfv-docker.yml
jjb/xci/osa-periodic-jobs.yml
jjb/xci/xci-start-new-vm.sh
utils/jenkins-jnlp-connect.sh

index 339c3cc..1661fc3 100644 (file)
@@ -62,6 +62,8 @@
           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
       - 'os-odl-nofeature-ha':
           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+      - 'os-ovn-nofeature-ha':
+          auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
       - 'os-nosdn-ovs-ha':
           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
 
       - 'os-nosdn-nofeature-noha':
           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
 
+    exclude:
+      - scenario: os-ovn-nofeature-ha
+        stream: euphrates
+
     jobs:
       - '{installer}-{scenario}-{pod}-daily-{stream}'
       - '{installer}-deploy-{pod}-daily-{stream}'
     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
     triggers:
       - timed: '0 1 * * 2,5,7'
+- trigger:
+    name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger'
+    triggers:
+      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger'
     triggers:
     name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
     triggers:
       - timed: ''
+- trigger:
+    name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger'
+    triggers:
+      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger'
     triggers:
index bbbf3f4..a22af09 100755 (executable)
@@ -5,9 +5,14 @@ cd compass4nfv
 
 export ADAPTER_OS_PATTERN='(?i)CentOS-7.*arm.*'
 export OS_VERSION="centos7"
-export KUBERNETES_VERSION="v1.7.3"
-export DHA="deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml"
-export NETWORK="deploy/conf/vm_environment/network.yml"
-export VIRT_NUMBER=2 VIRT_CPUS=4 VIRT_MEM=8192 VIRT_DISK=50G
+export KUBERNETES_VERSION="v1.7.5"
+if [[ "$NODE_NAME" =~ "-virtual" ]]; then
+    export DHA="deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml"
+    export NETWORK="deploy/conf/vm_environment/network.yml"
+    export VIRT_NUMBER=2 VIRT_CPUS=4 VIRT_MEM=8192 VIRT_DISK=50G
+else
+    export DHA="deploy/conf/hardware_environment/huawei-pod8/k8-nosdn-nofeature-noha.yml"
+    export NETWORK="deploy/conf/hardware_environment/huawei-pod8/network.yml"
+fi
 
 ./deploy.sh
index b69c214..3246243 100644 (file)
@@ -9,15 +9,20 @@
           disabled: false
       - 'k8-sriov-nofeature-noha':
           disabled: false
+    pod:
+      - virtual:
+          slave-label: arm-packet01
+      - baremetal:
+          slave-label: compass-baremetal-arm
     jobs:
-      - 'container4nfv-{scenario}-virtual-daily-master'
+      - 'container4nfv-{scenario}-{pod}-daily-master'
 
 
 - job-template:
-    name: 'container4nfv-{scenario}-virtual-daily-master'
+    name: 'container4nfv-{scenario}-{pod}-daily-master'
     disabled: '{obj:disabled}'
     concurrent: false
-    node: arm-packet01
+    node: '{slave-label}'
 
     scm:
       - git:
@@ -28,7 +33,7 @@
           wipe-workspace: true
 
     triggers:
-      - 'trigger-{scenario}-virtual'
+      - 'trigger-{scenario}-{pod}'
 
     wrappers:
       - timeout:
@@ -46,6 +51,7 @@
             same-node: true
             block: false
 
+
 - trigger:
     name: 'trigger-k8-multus-nofeature-noha-virtual'
     triggers:
     name: 'trigger-k8-sriov-nofeature-noha-virtual'
     triggers:
       - timed: '0 16 * * *'
+
+- trigger:
+    name: 'trigger-k8-multus-nofeature-noha-baremetal'
+    triggers:
+      - timed: '0 16 * * *'
+- trigger:
+    name: 'trigger-k8-sriov-nofeature-noha-baremetal'
+    triggers:
+      - timed: '0 20 * * *'
index a214a56..d4f225a 100644 (file)
@@ -63,6 +63,8 @@
           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
       - 'os-onos-nofeature-ha':
           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+      - 'os-ovn-nofeature-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':
         stream: master
       - scenario: os-odl_l2-bgpvpn-ha
         stream: euphrates
+      - scenario: os-ovn-nofeature-noha
+        stream: danube
+      - scenario: os-ovn-nofeature-noha
+        stream: euphrates
+      - scenario: os-ovn-nofeature-ha
+        stream: danube
+      - scenario: os-ovn-nofeature-ha
+        stream: euphrates
 
     jobs:
       - 'fuel-{scenario}-{pod}-daily-{stream}'
     name: 'fuel-os-onos-nofeature-ha-baremetal-daily-master-trigger'
     triggers:
       - timed: ''  # '5 8 * * *'
+- trigger:
+    name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger'
+    triggers:
+      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger'
     triggers:
     name: 'fuel-os-onos-nofeature-noha-baremetal-daily-euphrates-trigger'
     triggers:
       - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-euphrates-trigger'
-    triggers:
-      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-euphrates-trigger'
     triggers:
     name: 'fuel-os-onos-nofeature-ha-virtual-daily-master-trigger'
     triggers:
       - timed: ''
+- trigger:
+    name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger'
+    triggers:
+      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger'
     triggers:
     name: 'fuel-os-onos-nofeature-noha-virtual-daily-euphrates-trigger'
     triggers:
       - timed: ''  # '0 23 * * *'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-virtual-daily-euphrates-trigger'
-    triggers:
-      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-kvm-noha-virtual-daily-euphrates-trigger'
     triggers:
     name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-master-trigger'
     triggers:
       - timed: ''
+- trigger:
+    name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger'
+    triggers:
+      - timed: ''
 - trigger:
     name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-master-trigger'
     triggers:
index e2fcfd6..c9c7305 100755 (executable)
@@ -8,18 +8,29 @@
 ##############################################################################
 
 source $WORKSPACE/installer_track.sh
-echo """
-    INSTALLER: $INSTALLER
-    INSTALLER_VERSION: $INSTALLER_VERSION
-    JOB_NAME: $JOB_NAME
-    BUILD_ID: $BUILD_ID
-    SENARIO: $DEPLOY_SCENARIO
-    UPSTREAM_JOB_NAME: $UPSTREAM_JOB_NAME:
-    UPSTREAM_BUILD_ID: $UPSTREAM_BUILD_ID
-    PROVISION_RESULT: $PROVISION_RESULT
-    TIMESTAMP_START: $TIMESTAMP_START
-    TIMESTAMP_END: `date '+%Y-%m-%d %H:%M:%S.%3N'`
-    POD_NAME: $NODE_NAME
-"""
 
-# TODO call TestAPI to report installer provisoin result when API is ready
+gen_content()
+{
+    cat <<EOF
+{
+    "installer": "$INSTALLER",
+    "version": "$INSTALLER_VERSION",
+    "pod_name": "$POD_NAME",
+    "job_name": "$JOB_NAME",
+    "build_id": "$BUILD_ID",
+    "scenario": "$SCENARIO",
+    "upstream_job_name": "$UPSTREAM_JOB_NAME",
+    "upstream_build_id":"$UPSTREAM_BUILD_ID",
+    "criteria": "$PROVISION_RESULT",
+    "start_date": "$TIMESTAMP_START",
+    "stop_date": "$TIMESTAMP_END",
+    "details":""
+}
+EOF
+}
+
+echo "Installer: $INSTALLER provision result: $PROVISION_RESULT"
+echo $(gen_content)
+
+set -o xtrace
+curl -H "Content-Type: application/json" -X POST -v -d "$(gen_content)" $TESTAPI_URL/deployresults
index 3433cee..91f2848 100644 (file)
           name: GERRIT_REFSPEC
           default: 'refs/heads/{branch}'
           description: "Default refspec needed for manually triggering."
+      - string:
+          name: TESTAPI_URL
+          default: 'http://testresults.opnfv.org/test/api/v1'
+          description: "Default TestAPI URL, currently using v1"
 
 - property:
     name: logrotate-default
           script-only-if-succeeded: true
           builders:
             - shell: |
-                echo "export PROVISION_RESULT=SUCCEED" >> $WORKSPACE/installer_track.sh
+                echo "export PROVISION_RESULT=PASS" >> $WORKSPACE/installer_track.sh
                 echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
             - shell:
                 !include-raw-escape: installer-report.sh
index 7251d3f..3ef2f04 100644 (file)
                 - compare-type: ANT
                   pattern: '**/*.yaml'
                 - compare-type: ANT
-                  pattern: 'config/installers/**/*.j2'
+                  pattern: 'config/utils/*.py'
                 - compare-type: ANT
-                  pattern: 'check-jinja2.sh'
+                  pattern: 'config/installers/**/*.j2'
                 - compare-type: ANT
-                  pattern: 'check-schema.sh'
+                  pattern: 'check-*.sh'
           skip-vote:
             successful: false
             failed: false
index 7f14224..5fbb37c 100644 (file)
@@ -27,6 +27,8 @@
       - 'db'
       - 'deck'
       - 'tasks-base'
+      - 'tasks-k8s'
+      - 'tasks-osa'
 
     # settings for jobs run in multijob phases
     build-job-settings: &build-job-settings
               <<: *build-job-settings
             - name: 'compass-tasks-build-amd64-{stream}'
               <<: *build-job-settings
+            - name: 'compass-tasks-k8s-build-amd64-{stream}'
+              <<: *build-job-settings
+            - name: 'compass-tasks-osa-build-amd64-{stream}'
+              <<: *build-job-settings
 
     publishers:
       - 'compass-amd64-recipients'
index 93b9a9c..d0c2b26 100644 (file)
           dockerdir: 'docker/barometer-ves'
           <<: *master
           <<: *other-receivers
+      - 'barometer-snmp':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-snmp'
+          <<: *master
+          <<: *other-receivers
       - 'bottlenecks':
           project: 'bottlenecks'
           <<: *master
index e604a0a..6c2d165 100644 (file)
           export FUNCTEST_MODE=$FUNCTEST_MODE
           export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
           export XCI_FLAVOR=$XCI_FLAVOR
+          export CORE_OPENSTACK_INSTALL=true
           export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
           export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
           export INSTALLER_TYPE=$INSTALLER_TYPE
index d676e26..d816a4f 100755 (executable)
@@ -53,6 +53,7 @@ export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
 export FUNCTEST_MODE=$FUNCTEST_MODE
 export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
 export XCI_FLAVOR=$XCI_FLAVOR
+export CORE_OPENSTACK_INSTALL=true
 export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
 export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
 export INSTALLER_TYPE=$INSTALLER_TYPE
index f7c6769..0647d32 100755 (executable)
 #Monit setup script for opnfv jnlp slave connections
 
 test_firewall() {
-    echo "testing that the firewall is open for us at build.opnfv.org"
-    test=$(echo "blah"| nc -w 4 build.opnfv.org 57387 > /dev/null 2>&1; echo $?)
+jenkins_hostname="${jenkins_hostname:-build.opnfv.org}"
+
+
+    echo "testing that the firewall is open for us at $jenkins_hostname"
+    test=$(echo "blah"| nc -w 4 $jenkins_hostname 57387 > /dev/null 2>&1; echo $?)
     if [[ $test == 0 ]]; then
-        echo "Firewall is open for us at build.opnfv.org"
+        echo "Firewall is open for us at $jenkins_hostname"
         exit 0
     else
         cat << EOF
@@ -84,8 +87,14 @@ main () {
 
         if [ -d /etc/monit/conf.d ]; then
             monitconfdir="/etc/monit/conf.d/"
+            monitconfig="/etc/monit/monitrc"
+            #add start delay
+            sed -i '/^#.* delay /s/^#//' "$monitconfig"
         elif [ -d /etc/monit.d ]; then
             monitconfdir="/etc/monit.d"
+            monitconfig="/etc/monitrc"
+            #add start delay
+            sed -i '/^#.* delay /s/^#//' "$monitconfig"
         else
             echo "Could not determine the location of the monit configuration file."
             echo "Make sure monit is installed."
@@ -103,7 +112,7 @@ if does not exist then exec "$mkdir -p /var/run/$jenkinsuser"
 if failed uid $jenkinsuser then exec "$chown $jenkinsuser /var/run/$jenkinsuser"
 if failed gid $jenkinsuser then exec "$chown :$jenkinsuser /var/run/$jenkinsuser"
 
-check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid every 2 cycles
+check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid
 start program = "/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $jenkinshome; export started_monit=true; $0 $@' with timeout 60 seconds"
 stop program = "/bin/bash -c '/bin/kill \$(/bin/cat /var/run/$jenkinsuser/jenkins_jnlp_pid)'"
 depends on jenkins_piddir
@@ -118,7 +127,7 @@ if does not exist then exec \"$mkdir -p /var/run/$jenkinsuser\"
 if failed uid $jenkinsuser then exec \"$chown $jenkinsuser /var/run/$jenkinsuser\"
 if failed gid $jenkinsuser then exec \"$chown :$jenkinsuser /var/run/$jenkinsuser\"
 
-check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid every 2 cycles
+check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid
 start program = \"/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $jenkinshome; export started_monit=true; $0 $@' with timeout 60 seconds\"
 stop program = \"/bin/bash -c '/bin/kill \$(/bin/cat /var/run/$jenkinsuser/jenkins_jnlp_pid)'\"
 depends on jenkins_piddir\
@@ -132,7 +141,7 @@ depends on jenkins_piddir\
     fi
 
     if [[ $started_monit == "true" ]]; then
-        wget --timestamping https://build.opnfv.org/ci/jnlpJars/slave.jar && true
+        wget --timestamping https://"$jenkins_hostname"/jnlpJars/slave.jar && true
         chown $jenkinsuser:$jenkinsuser slave.jar
 
         if [[ -f /var/run/$jenkinsuser/jenkins_jnlp_pid ]]; then
@@ -176,6 +185,7 @@ usage: $0 [OPTIONS]
  -u  set jenkins user
  -n  set slave name
  -s  set secret key
+ -l  set host, default is build.opnfv.org/ci
  -t  test the connection string by connecting without monit
  -f  test firewall
 
@@ -190,13 +200,14 @@ if [[ -z "$@" ]]; then
     usage
 fi
 
-while getopts "j:u:n:s:htf" OPTION
+while getopts "j:u:n:s:l:htf" OPTION
 do
     case $OPTION in
         j ) jenkinshome="$OPTARG" ;;
         u ) jenkinsuser="$OPTARG" ;;
         n ) slave_name="$OPTARG" ;;
         s ) slave_secret="$OPTARG";;
+        l ) jenkins_hostname="$OPTARG" ;;
         h ) usage ;;
         t ) started_monit=true
             skip_monit=true
@@ -206,6 +217,6 @@ do
     esac
 done
 
-connectionstring="java -jar slave.jar -jnlpUrl https://build.opnfv.org/ci/computer/"$slave_name"/slave-agent.jnlp -secret "$slave_secret" -noCertificateCheck "
-
+jenkins_hostname="${jenkins_hostname:-build.opnfv.org/ci}"
+connectionstring="java -jar slave.jar -jnlpUrl https://"$jenkins_hostname"/computer/"$slave_name"/slave-agent.jnlp -secret "$slave_secret" -noCertificateCheck "
 main "$@"