Merge "Include new BGPCEP feature names into CSIT job definition"
authorLuis Gomez <ecelgp@gmail.com>
Fri, 21 Aug 2015 23:15:26 +0000 (23:15 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 21 Aug 2015 23:15:26 +0000 (23:15 +0000)
jenkins-scripts/robot.sh
jjb/autorelease/autorelease-beryllium.yaml
jjb/autorelease/autorelease-lithium.yaml
jjb/autorelease/autorelease-macros.yaml
jjb/ovsdb/ovsdb-csit-scalability-daily.yaml [new file with mode: 0755]
jjb/snmp/snmp.cfg
jjb/snmp/snmp.yaml
src/site/markdown/jenkins.md
vagrant/integration-robotframework/bootstrap.sh

index 9b5de98d8af16709346468d765393e0a9e04d10a..88dc83a69a2417be99fd35d0e1362aee171d9b15 100755 (executable)
@@ -32,8 +32,8 @@ tar -xvf robotframework-selenium2library-1.7.1.tar.gz > /dev/null 2>&1
 cd robotframework-selenium2library-1.7.1
 python setup.py install > /dev/null 2>&1
 
-## install netcat
-yum install -y -q nc
+## Install netcat & docker-py
+yum install -y -q nc python-docker-py
 
 # disable firewall rules
 service iptables stop
index 54b8fac626b88aae47d876723c7fb2d62377c0f2..d4bf21dba11892199772182c0dff7b3da5722f67 100644 (file)
@@ -75,6 +75,7 @@
             settings: '{autorelease-settings}'
             global-settings: '{odl-global-settings}'
         - autorelease-maven-sources-post-process
+        - autorelease-sys-stats
 
     publishers:
         - archive-artifacts:
index 241ad61d87f80f3a8e58ee20d346f825397fc0e1..1f993098413b77363056550aa6e6df5ee7c3dd43 100644 (file)
@@ -77,6 +77,7 @@
             settings: '{autorelease-settings}'
             global-settings: '{odl-global-settings}'
         - autorelease-maven-sources-post-process
+        - autorelease-sys-stats
 
     publishers:
         - archive-artifacts:
             settings: '{autorelease-settings}'
             global-settings: '{odl-global-settings}'
         - autorelease-maven-sources-post-process
+        - autorelease-sys-stats
 
     publishers:
         - archive-artifacts:
             settings: '{autorelease-settings}'
             global-settings: '{odl-global-settings}'
         - autorelease-maven-sources-post-process
+        - autorelease-sys-stats
 
     publishers:
         - archive-artifacts:
index d6cd4ec72a99c3e6118b8bbb924698863e585fa0..d70fb0d278388a74c45bf6691f626db6a2484784 100644 (file)
     builders:
         - shell:
             !include-raw-escape include-raw-autorelease-release-versions.sh
+
+- builder:
+    name: autorelease-sys-stats
+    builders:
+        - shell: |
+            uname -a
+            df -h
diff --git a/jjb/ovsdb/ovsdb-csit-scalability-daily.yaml b/jjb/ovsdb/ovsdb-csit-scalability-daily.yaml
new file mode 100755 (executable)
index 0000000..67a9410
--- /dev/null
@@ -0,0 +1,36 @@
+- project:
+    name: ovsdb-csit-scalability-daily
+    jobs:
+        - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+
+    # The project name
+    project: 'ovsdb'
+
+    # The functionality under test
+    functionality: 'scalability-daily'
+
+    # Project branches
+    stream:
+        - master:
+            branch: 'master'
+        - stable-lithium:
+            branch: 'stable/lithium'
+
+    install:
+        - only:
+            scope: 'only'
+
+    # Features to install
+    install-features: 'odl-ovsdb-openstack'
+
+    # Robot custom options
+    robot-options: '-v MIN_SWITCHES:100 -v MAX_SWITCHES:500 -v STEP_SWITCHES:100'
+
+    # Trigger jobs (daily)
+    schedule: 'H H * * *'
+
+    # Plot Info
+    01-plot-title: 'Max number of Switches'
+    01-plot-yaxis: 'OpenFlow Switches'
+    01-plot-group: 'Inventory Scalability'
+    01-plot-data-file: 'switches.csv'
index 3fd843f31492483956522064f540a06a2dc31dae..3e7915f7fda3dd82d382c9a083742b09ccd7146b 100644 (file)
@@ -1,7 +1,7 @@
 STREAMS:
 - beryllium:
     branch: master
-    jdks: openjdk7
+    jdks: openjdk7,openjdk8
 - stable-lithium:
     branch: stable/lithium
-    jdks: openjdk7
+    jdks: openjdk7,openjdk8
index b27c57b1fd47efcbf322ecff958a1da8d990d954..641373251ac6b72ba19fd8c023e46dc0dd6e6eab 100644 (file)
             jdk: openjdk7
             jdks:
                 - openjdk7
+                - openjdk8
         - stable-lithium:
             branch: 'stable/lithium'
             jdk: openjdk7
             jdks:
                 - openjdk7
+                - openjdk8
 
     project: 'snmp'
 
index ea56d443f66b79e90a0e4ff6a4ccaae543cf37e8..17e167b702fd117a57987f6d6a9af5b37353600f 100644 (file)
@@ -508,3 +508,82 @@ with any name other than \<project\>.yaml. The auto-update script will only
 search for files with the name \<project\>.yaml. The normal \<project\>.yaml
 file can then be left in tact with the "# REMOVE THIS LINE IF..." comment so
 it will be automatically updated.
+
+## Jenkins Sandbox
+[https://jenkins.opendaylight.org/sandbox](https://jenkins.opendaylight.org/sandbox/)
+
+The Sandbox instance's purpose is to allow projects to test their JJB setups
+before merging their code over to the Releng Master silo. It is configured
+similarly to the Master instance above however it cannot publish or vote in
+Gerrit.
+
+If your project requires access to the Sandbox please open a Help Desk ticket
+and provide us with your ODL ID.
+
+#### Notes regarding the Sandbox
+
+* Jobs automatically deleted Saturday @ 08:00 UTC (12:00 AM PST / 01:00 AM PDT)
+* Committers can login and configure Jenkins jobs directly here (unlike on the
+master silo)
+* Configuration mirrors the master silo when possible
+* Can NOT upload artifacts to Nexus
+* Can NOT vote on Gerrit
+
+#### Using the Sandbox
+
+Before starting using the sandbox make sure you have Jenkins Job Builder
+properly installed in your setup. Refer Jenkins Job Builder Installation
+section of this guide.
+
+If you do not already have access, open a helpdesk ticket to request access to
+the sandbox instance (Integration committers will have access by default).
+
+1. Clone a copy of the releng/builder repo from https://git.opendaylight.org/gerrit/#/admin/projects/releng/builder
+2. cp jenkins.ini.example jenkins.ini
+3. Edit the jenkins.ini file at the root of the repo
+    * Set your ODL username and password (make sure to uncomment the lines)
+    * Set the URL to https://jenkins.opendaylight.org/sandbox
+
+It is good practice to test that your JJB files are valid before pushing using
+the test command. If you see no Exceptions or Failures after running the
+following command your templates should be good for pushing.
+
+The last parameter is the name of the job you want to push to Jenkins so if
+your job template name is **{project}-csit-3node-periodic-{functionality}-{install}-{stream}**
+you will need to expand manually the variables {project}, {functionality},
+{install}, and {stream} to the exact job you want created in the Sandbox for
+example **openflowplugin-csit-1node-periodic-longevity-only-beryllium**. Please
+do not push ALL jobs to the Sandbox and only jobs you actually intend to test.
+
+**Note:** the below command examples are being executed from the root of the
+builder repo, and assume the "jenkins.ini" file is located there.
+
+    jenkins-jobs --conf jenkins.ini test jjb/ <job-name>
+    jenkins-jobs --conf jenkins.ini test jjb/ openflowplugin-csit-periodic-1node-cds-longevity-only-master
+
+Expect to see an XML file describing the build job in </maven2-moduleset> tags
+on STOUT. If you dont see any XML check that you have assigned values to the
+parameters between {} in the YAML files. For example {project}
+
+Once this is complete you can push your JJB jobs to the sandbox with the
+command:
+
+    jenkins-jobs --conf jenkins.ini update jjb/ <job-name>
+    jenkins-jobs --conf jenkins.ini update jjb/ openflowplugin-csit-periodic-1node-cds-longevity-only-beryllium
+
+**Important Note:** When pushing with jenkins-jobs command it will print out a
+message similar to the one below to inform you how many jobs JJB is pushing
+online. If the number is greater than 1 (or the number of jobs you passed to
+the command to push) then you are pushing too many jobs and should **ctrl+c**
+to cancel the upload.
+
+    INFO:jenkins_jobs.builder:Number of jobs generated:  1
+
+If using Docker:
+
+    # To test
+    docker run --rm -v ${PWD}:/jjb zxiiro/jjb-docker
+
+    # To upload jobs to the sandbox
+    # Please ensure that you include a configured jenkins.ini in your volume mount
+    docker run --rm -v ${PWD}:/jjb zxiiro/jjb-docker jenkins-jobs --conf jenkins.ini update . openflowplugin-csit-periodic-1node-cds-longevity-only-master
index 8e01b96b8ea5f02f283f90c3c734646f4e799209..c088f9cd266b5e30b7c015899192ae071681c7d5 100644 (file)
@@ -10,7 +10,7 @@ yum update -q -y
 yum install -q -y java-1.7.0-openjdk-devel git perl-XML-XPath
 
 # The following are known requirements for our robotframework environments
-yum install -q -y python-{devel,importlib,requests,setuptools,virtualenv} \
+yum install -q -y python-{devel,importlib,requests,setuptools,virtualenv,docker-py} \
     robotframework{,-{httplibrary,requests,sshlibrary}}
 
 # To handle the prompt style that is expected all over the environment