Merge "Make tox/python jobs use 4g builder"
[releng/builder.git] / docs / jenkins.rst
index 6eecf9f746fa43564ab5723d2c7d68c0b703eef5..ef38654e8fe4c1e7d138e674daff647d5e6a828c 100644 (file)
@@ -38,15 +38,14 @@ Next we will create <new-project>.yaml as follows:
 
 .. code-block:: yaml
 
+    ---
     - project:
         name: <NEW_PROJECT>-carbon
         jobs:
-            - '{project-name}-clm-{stream}'
-            - '{project-name}-distribution-{stream}'
-            - '{project-name}-integration-{stream}'
-            - '{project-name}-merge-{stream}'
-            - '{project-name}-periodic-{stream}'
-            - '{project-name}-verify-{stream}-{maven}-{jdks}'
+          - '{project-name}-clm-{stream}'
+          - '{project-name}-integration-{stream}'
+          - '{project-name}-merge-{stream}'
+          - '{project-name}-verify-{stream}-{maven}-{jdks}'
 
         project: '<NEW_PROJECT>'
         project-name: '<NEW_PROJECT>'
@@ -54,10 +53,10 @@ Next we will create <new-project>.yaml as follows:
         branch: 'master'
         jdk: openjdk8
         jdks:
-            - openjdk8
+          - openjdk8
         maven:
-            - mvn33:
-                mvn-version: 'mvn33'
+          - mvn33:
+              mvn-version: 'mvn33'
         mvn-settings: '<NEW_PROJECT>-settings'
         mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
         mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
@@ -68,7 +67,7 @@ Next we will create <new-project>.yaml as follows:
     - project:
         name: <NEW_PROJECT>-sonar
         jobs:
-            - '{project-name}-sonar'
+          - '{project-name}-sonar'
 
         project: '<NEW_PROJECT>'
         project-name: '<NEW_PROJECT>'
@@ -190,12 +189,13 @@ Pool: ODLRPC
 
     <table class="table table-bordered">
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> dynamic_controller, dynamic_verify,
-          dynamic_merge, centos7-java-builder-2c-4g, centos7-java-builder-2c-8g,
-          centos7-java-builder-4c-8g</td>
+        <td><b>Jenkins Labels</b><br/> centos7-java-builder-2c-4g,
+          centos7-java-builder-2c-8g, centos7-java-builder-4c-8g,
+          centos7-java-builder-8c-8g, centos7-java-builder-4c-16g</td>
         <td><b>Minion Template names</b><br/> centos7-java-builder-2c-4g,
-          centos7-java-builder-2c-8g, centos7-java-builder-2c-8g,
-          centos7-java-builder-4c-8g, centos7-java-builder-8c-8g</td>
+          centos7-java-builder-2c-4g, centos7-java-builder-2c-8g,
+          centos7-java-builder-4c-8g, centos7-java-builder-8c-8g,
+          centos7-java-builder-4c-16g</td>
         <td><b>Packer Template</b><br/>
         releng/builder/packer/templates/java-builder.json</td>
         <td><b>Spinup Script</b><br/>
@@ -203,16 +203,16 @@ Pool: ODLRPC
       </tr>
       <tr>
         <td colspan="4">
-          A CentOS 7 huild minion. This system has OpenJDK 1.7 (Java7) and OpenJDK
-          1.8 (Java8) installed on it along with all the other components and
-          libraries needed for building any current OpenDaylight project. This is
-          the label that is used for all basic verify, merge and daily builds for
+          CentOS 7 build minion configured with OpenJDK 1.7 (Java7) and OpenJDK
+          1.8 (Java8) along with all the other components and libraries needed
+          for building any current OpenDaylight project. This is the label that
+          is used for all basic verify, merge and daily builds for
           projects.
         </td>
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> dynamic_robot, centos7-robot-2c-2g</td>
+        <td><b>Jenkins Labels</b><br/> centos7-robot-2c-2g</td>
         <td><b>Minion Template names</b><br/> centos7-robot-2c-2g</td>
         <td><b>Packer Template</b><br/>
         releng/builder/packer/templates/robot.json</td>
@@ -220,7 +220,7 @@ Pool: ODLRPC
       </tr>
       <tr>
         <td colspan="4">
-          A CentOS 7 minion that is configured with OpenJDK 1.7 (Java7), OpenJDK
+          CentOS 7 minion configured with OpenJDK 1.7 (Java7), OpenJDK
           1.8 (Java8) and all the current packages used by the integration
           project for doing robot driven jobs. If you are executing robot
           framework jobs then your job should be using this as the minion that
@@ -230,53 +230,63 @@ Pool: ODLRPC
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> ubuntu_mininet, ubuntu-trusty-mininet-2c-2g</td>
-        <td><b>Minion Template names</b><br/> ubuntu-trusty-mininet-2c-2g</td>
+        <td><b>Jenkins Labels</b><br/> ubuntu1404-mininet-2c-2g</td>
+        <td><b>Minion Template names</b><br/> ubuntu1404-mininet-2c-2g</td>
         <td><b>Packer Template</b><br/>
         releng/builder/packer/teamplates/mininet.json</td>
         <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
       </tr>
       <tr>
         <td colspan="4">
-          Basic Ubuntu system with ovs 2.0.2 and mininet 2.1.0
+          Basic Ubuntu 14.04 (Trusty) system with ovs 2.0.2 and mininet 2.1.0
         </td>
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> ubuntu_mininet_ovs_23,
-          ubuntu-trusty-mininet-ovs-23-2c-2g</td>
-        <td><b>Minion Template names</b><br/> ubuntu-trusty-mininet-ovs-23-2c-2g</td>
+        <td><b>Jenkins Labels</b><br/> ubuntu1404-mininet-ovs-23-2c-2g</td>
+        <td><b>Minion Template names</b><br/> ubuntu1404-mininet-ovs-23-2c-2g</td>
         <td><b>Packer Template</b><br/> releng/builder/packer/templates/mininet-ovs-2.3.json</td>
         <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
       </tr>
       <tr>
         <td colspan="4">
-          Basic Ubuntu system with ovs 2.3 and mininet 2.2.1
+          Ubuntu 14.04 (Trusty) system with ovs 2.3 and mininet 2.2.1
         </td>
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> ubuntu_mininet_ovs_25,
-          ubuntu-trusty-mininet-ovs-25-2c-2g</td>
-        <td><b>Minion Template names</b><br/> ubuntu-trusty-mininet-ovs-25-2c-2g</td>
+        <td><b>Jenkins Labels</b><br/> ubuntu1404-mininet-ovs-25-2c-2g</td>
+        <td><b>Minion Template names</b><br/> ubuntu1404-mininet-ovs-25-2c-2g</td>
         <td><b>Packer Template</b><br/> releng/builder/packer/templates/mininet-ovs-2.5.json</td>
         <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
       </tr>
       <tr>
         <td colspan="4">
-          Basic Ubuntu system with ovs 2.5 and mininet 2.2.2
+          Ubuntu 14.04 (Trusty) system with ovs 2.5 and mininet 2.2.2
         </td>
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> dynamic_devstack, centos7-devstack-2c-4g</td>
+        <td><b>Jenkins Labels</b><br/> ubuntu1604-mininet-ovs-25-2c-4g</td>
+        <td><b>Minion Template names</b><br/> ubuntu1604-mininet-ovs-25-2c-4g</td>
+        <td><b>Packer Template</b><br/> releng/builder/packer/templates/mininet-ovs-2.5.json</td>
+        <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
+      </tr>
+      <tr>
+        <td colspan="4">
+          Ubuntu 16.04 (Xenial) system with ovs 2.5 and mininet 2.2.1
+        </td>
+      </tr>
+
+      <tr class="warning">
+        <td><b>Jenkins Labels</b><br/> centos7-devstack-2c-4g</td>
         <td><b>Minion Template names</b><br/> centos7-devstack-2c-4g</td>
         <td><b>Packer Template</b><br/> releng/builder/packer/templates/devstack.json</td>
         <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/devstack.sh</td>
       </tr>
       <tr>
         <td colspan="4">
-          CentOS 7 system purpose built for doing OpenStack testing using
+          CentOS 7 system purpose built for doing OpenStack testing using
           DevStack. This minion is primarily targeted at the needs of the OVSDB
           project. It has OpenJDK 1.7 (aka Java7) and OpenJDK 1.8 (Java8) and
           other basic DevStack related bits installed.
@@ -284,14 +294,14 @@ Pool: ODLRPC
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> dynamic_docker, centos7-docker-2c-4g</td>
+        <td><b>Jenkins Labels</b><br/> centos7-docker-2c-4g</td>
         <td><b>Minion Template names</b><br/> centos7-docker-2c-4g</td>
         <td><b>Packer Template</b><br/> releng/builder/packer/templates/docker.json</td>
         <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/docker.sh</td>
       </tr>
       <tr>
         <td colspan="4">
-          A CentOS 7 system that is configured with OpenJDK 1.7 (aka Java7),
+          CentOS 7 system configured with OpenJDK 1.7 (aka Java7),
           OpenJDK 1.8 (Java8) and Docker. This system was originally custom
           built for the test needs of the OVSDB project but other projects have
           expressed interest in using it.
@@ -299,18 +309,46 @@ Pool: ODLRPC
       </tr>
 
       <tr class="warning">
-        <td><b>Jenkins Labels</b><br/> gbp_trusty, ubuntu-trusty-gbp-2c-2g</td>
-        <td><b>Minion Template names</b><br/> ubuntu-trusty-gbp-2c-2g</td>
+        <td><b>Jenkins Labels</b><br/> ubuntu1404-gbp-2c-2g</td>
+        <td><b>Minion Template names</b><br/> ubuntu1404-gbp-2c-2g</td>
+        <td><b>Packer Template</b><br/> releng/builder/packer/templates/gbp.json</td>
+        <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/ubuntu-docker-ovs.sh</td>
+      </tr>
+      <tr>
+        <td colspan="4">
+          Ubuntu 14.04 (Trusty) node with latest OVS and docker installed. Used by Group Based Policy.
+        </td>
+      </tr>
+
+      <tr class="warning">
+        <td><b>Jenkins Labels</b><br/> ubuntu1604-gbp-2c-4g</td>
+        <td><b>Minion Template names</b><br/> ubuntu1604-gbp-2c-4g</td>
         <td><b>Packer Template</b><br/> releng/builder/packer/templates/gbp.json</td>
         <td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/ubuntu-docker-ovs.sh</td>
       </tr>
       <tr>
         <td colspan="4">
-          A basic Ubuntu node with latest OVS and docker installed. Used by Group Based Policy.
+          Ubuntu 16.04 (Xenial) node with latest OVS and docker installed. Used by Group Based Policy.
         </td>
       </tr>
+
     </table>
 
+Pool: ODLPUB - HOT (Heat Orchestration Templates)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+HOT integration enables to spin up integration labs servers for CSIT jobs
+using heat, rathar than using jclouds (deprecated). Image names are updated
+on the project specific job templates using the variable
+`{odl,docker,openstack,tools}_system_image` followed by image name in the
+format `<platform> - <template> - <date-stamp>`.
+
+.. code-block:: yaml
+
+    CentOS 7 - docker - 20161031-0802
+
+.. include:: cloud-images.rst
+
 Creating Jenkins Jobs
 ---------------------
 
@@ -559,17 +597,6 @@ TODO: Document test-{project}-{feature} and test-{project}-all.
 .. raw:: html
 
     <table class="table table-bordered">
-      <tr class="warning">
-        <td><b>Job Template</b><br/>{project}-distribution-{stream}</td>
-      </tr>
-      <tr>
-        <td colspan="2">
-          This job builds a snapshot distribution. This is triggered by successful merge job,
-          so the distribution contains newest project artifacts.
-          This job then triggers subset of sanity CSIT jobs relevant for the project.
-        </td>
-      </tr>
-
       <tr class="warning">
         <td><b>Job Template</b><br/>{project}-distribution-check-{stream}</td>
         <td><b>Gerrit Trigger</b><br/>recheck</td>
@@ -578,7 +605,7 @@ TODO: Document test-{project}-{feature} and test-{project}-all.
         <td colspan="2">
           This job runs the PROJECT-distribution-check-BRANCH job which is
           building also integration/distribution project in order to run SingleFeatureTest.
-          It also performs other check in order to prevent the change to break autorelease.
+          It also performs various other checks in order to prevent the change to break autorelease.
         </td>
       </tr>
 
@@ -610,6 +637,9 @@ TODO: Document test-{project}-{feature} and test-{project}-all.
           Artifacts are uploaded to OpenDaylight's
           <a href="https://nexus.opendaylight.org">Nexus</a> on completion.
 
+          A distribution-merge-{stream} job is triggered to add the new artifacts to the
+          integration distribution.
+
           Running the "remerge" trigger is possible before a Change is merged,
           it would still build the actual HEAD. This job does not alter Gerrit votes.
         </td>
@@ -958,4 +988,3 @@ If `using Docker <JJB Docker image_>`_:
 .. _spinup-scripts: https://git.opendaylight.org/gerrit/gitweb?p=releng/builder.git;a=tree;f=jenkins-scripts
 .. _spinup-scripts-basic_settings.sh: https://git.opendaylight.org/gerrit/gitweb?p=releng/builder.git;a=blob;f=jenkins-scripts/basic_settings.sh
 .. _spinup-scripts-controller.sh: https://git.opendaylight.org/gerrit/gitweb?p=releng/builder.git;a=blob;f=jenkins-scripts/controller.sh
-