Use clouds.yaml for openstack packer builders
[releng/global-jjb.git] / docs / jjb / lf-ci-jobs.rst
index 88a69ad..6a8caff 100644 (file)
@@ -5,69 +5,13 @@ CI Jobs
 Job Groups
 ==========
 
-{project-name}-ci-jobs
-----------------------
+.. include:: ../job-groups.rst
 
-Recommended jobs that should be deployed for CI using Gerrit.
+Below is a list of CI job groups:
 
-:Includes:
-
-    - gerrit-jenkins-cfg-merge
-    - gerrit-jenkins-sandbox-cleanup
-    - gerrit-jjb-deploy-job
-    - gerrit-jjb-merge
-    - gerrit-jjb-verify
-
-{project-name}-github-ci-jobs
------------------------------
-
-Recommended jobs that should be deployed CI using GitHub.
-
-:Includes:
-
-    - github-jenkins-cfg-merge
-    - github-jenkins-sandbox-cleanup
-    - github-jjb-deploy-job
-    - github-jjb-merge
-    - github-jjb-verify
-
-{project-name}-info-yaml-jobs
------------------------------
-
-Jobs to verify INFO.yaml file changes.
-
-:Includes:
-
-    - gerrit-info-yaml-verify
-
-{project-name}-github-info-yaml-jobs
-------------------------------------
-
-Jobs to verify INFO.yaml file changes using Github.
-
-:Includes:
-
-    - github-info-yaml-verify
-
-{project-name}-packer-jobs
---------------------------
-
-Jobs related to Packer builds for CI using Gerrit.
-
-:Includes:
-
-    - gerrit-packer-merge
-    - gerrit-packer-verify
-
-{project-name}-github-packer-jobs
----------------------------------
-
-Jobs related to Packer builds for CI using GitHub.
-
-:Includes:
+.. literalinclude:: ../../jjb/lf-ci-job-groups.yaml
+   :language: yaml
 
-    - github-packer-merge
-    - github-packer-verify
 
 Macros
 ======
@@ -392,8 +336,6 @@ Runs `jenkins-jobs update` to update production job configuration
     :build-node: The node to run build on.
     :jenkins-ssh-credential: Credential to use for SSH. (Generally should
         be configured in defaults.yaml)
-    :mvn-settings: The name of settings file containing credentials for
-        the project.
 
 :Optional parameters:
 
@@ -430,8 +372,6 @@ Runs `jenkins-jobs test` to validate JJB syntax
     :build-node: The node to run build on.
     :jenkins-ssh-credential: Credential to use for SSH. (Generally should
         be configured in defaults.yaml)
-    :mvn-settings: The name of settings file containing credentials for
-        the project.
 
 :Optional parameters:
 
@@ -450,6 +390,37 @@ Runs `jenkins-jobs test` to validate JJB syntax
         filter which file modifications will trigger a build.
         (default defined by lf_jjb_common)
 
+.. _jjb-verify-upstream-gjjb:
+
+JJB Verify Upstream Global JJB
+------------------------------
+
+Runs ``jenkins-jobs test`` to validate JJB syntax for upstream global-jjb
+patches. This job is useful to notify upstream that they may be breaking
+project level jobs.
+
+:Template Names:
+    - {project-name}-jjb-verify-upstream-gjjb
+    - gerrit-jjb-verify-upstream-gjjb
+
+:Comment Trigger: recheck|reverify
+
+:Required parameters:
+
+    :build-node: The node to run build on.
+    :jenkins-ssh-credential: Credential to use for SSH. (Generally should
+        be configured in defaults.yaml)
+
+:Optional parameters:
+
+    :branch: Git branch to fetch for the build. (default: master)
+    :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
+    :build-timeout: Timeout in minutes before aborting build. (default: 10)
+    :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
+    :jjb-version: JJB version to install. (default: see job-template)
+    :stream: Keyword that can be used to represent a release code-name.
+        Often the same as the branch. (default: master)
+
 .. _info-yaml-verify:
 
 Info YAML Verify
@@ -513,6 +484,41 @@ Job to scan projects for files missing license headers.
     :project-pattern: The ANT based pattern for Gerrit Trigger to choose which
         projects to trigger job against. (default: '**')
 
+.. _gjjb-openstack-cron:
+
+OpenStack Cron
+--------------
+
+Cron job that runs regularly to perform periodic tasks against OpenStack.
+
+This job requires a Config File Provider file named ``clouds-yaml`` available
+containing the credentials for the cloud.
+
+:Template Names:
+    - {project-name}-openstack-cron
+    - gerrit-openstack-cron
+    - github-openstack-cron
+
+:Required parameters:
+
+    :build-node: The node to run build on.
+    :jenkins-ssh-credential: Credential to use for SSH. (Generally should
+        be configured in defaults.yaml)
+
+:Optional parameters:
+
+    :branch: Git branch to fetch for the build. (default: master)
+    :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
+    :build-timeout: Timeout in minutes before aborting build. (default: 90)
+    :cron: Time when the packer image should be rebuilt (default: @daily)
+    :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
+    :openstack-cloud: OS_CLOUD setting to pass to openstack client.
+        (default: vex)
+    :stream: Keyword that can be used to represent a release code-name.
+        Often the same as the branch. (default: master)
+    :submodule-recursive: Whether to checkout submodules recursively.
+        (default: true)
+
 .. _gjjb-packer-merge:
 
 Packer Merge
@@ -546,6 +552,9 @@ Packer Merge job runs `packer build` to build system images in the cloud.
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
     :build-timeout: Timeout in minutes before aborting build. (default: 90)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
+    :openstack: Packer template uses an OpenStack builder (default: true).
+    :openstack-cloud: Sets OS_CLOUD variable to the value of this parameter.
+        (default: vex).
     :packer-cloud-settings: Name of settings file containing credentials
         for the cloud that packer will build on. (default: packer-cloud-env)
     :packer-version: Version of packer to install / use in build. (default: 1.0.2)