Add submodule-timeout for submodule operations 79/12879/9
authorJessica Wagantall <jwagantall@linuxfoundation.org>
Thu, 4 Oct 2018 00:48:05 +0000 (17:48 -0700)
committerJessica Wagantall <jwagantall@linuxfoundation.org>
Fri, 19 Oct 2018 18:58:41 +0000 (11:58 -0700)
Some ONAP projects using CLM (SDC) require more submodule
timeout to let the Nexus report run successfully. Allow an
option to provide a submodule-timeout to gerrit-maven-clm
keeping the default to 10 minutes.

Add submodule-timeout parameter for both lf-infra-gerrit-scm
and lf-infra-github-scm.

Main issue and tests described in the asociated Jira.

Issue: RELENG-1297
Change-Id: Ia7d292df9bac53d760767d9ee2caeec2f84c48ac
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
15 files changed:
docs/jjb/lf-c-cpp-jobs.rst
docs/jjb/lf-ci-jobs.rst
docs/jjb/lf-macros.rst
docs/jjb/lf-maven-jobs.rst
docs/jjb/lf-node-jobs.rst
docs/jjb/lf-python-jobs.rst
docs/jjb/lf-rtd-jobs.rst
jjb/lf-c-cpp-jobs.yaml
jjb/lf-ci-jobs.yaml
jjb/lf-macros.yaml
jjb/lf-maven-jobs.yaml
jjb/lf-node-jobs.yaml
jjb/lf-python-jobs.yaml
jjb/lf-rtd-jobs.yaml
releasenotes/notes/submodule-timeout-e75d10f51ca36933.yaml [new file with mode: 0644]

index 4d6d4ce..17d4581 100644 (file)
@@ -54,6 +54,8 @@ project into a tar.xz tarball to produce a release candidate.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
     :version: (default: '') Project version to stage release as. There are 2
         methods for using this value:
 
@@ -116,6 +118,8 @@ Verify job which runs cmake && make && make install to test a project build..
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which to filter which file
index b2905f3..4eda20c 100644 (file)
@@ -348,6 +348,8 @@ Runs `jenkins-jobs update` to update production job configuration
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_merge_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which can be used to
@@ -384,6 +386,8 @@ Runs `jenkins-jobs test` to validate JJB syntax
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which can be used to
@@ -451,6 +455,9 @@ other file changes. Verifies INFO.yaml files follow the schema defined in
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
+
     :gerrit_verify_triggers: Override Gerrit Triggers.
 
 .. _license-checker:
@@ -518,6 +525,8 @@ containing the credentials for the cloud.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
 .. _gjjb-packer-merge:
 
@@ -562,6 +571,8 @@ Packer Merge job runs `packer build` to build system images in the cloud.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
 
@@ -601,6 +612,8 @@ Packer Verify job runs `packer validate` to verify packer configuration.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which can be used to
index 9f35594..34f9e96 100644 (file)
@@ -315,6 +315,11 @@ lf-infra-gerrit-scm
 
 Basic SCM configuration for Gerrit based projects.
 
+:Required parameters:
+
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
+
 lf-infra-github-scm
 -------------------
 
@@ -324,6 +329,11 @@ On the `branch` variable you can assign `$sha1` or `$ghprbActualCommit`
 as the value.  This will require that the job be triggered via
 the GHPRB plugin and not manually.
 
+:Required parameters:
+
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
+
 Wrappers
 ========
 
index 494d32d..0e2215c 100644 (file)
@@ -107,6 +107,8 @@ Produces a CLM scan of the code into Nexus IQ Server.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_merge_triggers: Override Gerrit Triggers.
 
@@ -151,6 +153,8 @@ Expects javadocs to be available in $WORKSPACE/target/site/apidocs
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_merge_triggers: Override Gerrit Triggers.
 
@@ -192,6 +196,8 @@ Expects javadocs to be available in $WORKSPACE/target/site/apidocs
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
 
@@ -252,6 +258,8 @@ This job uses the following strategy to deploy jobs to Nexus:
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_merge_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which can be used to
@@ -306,6 +314,8 @@ directory is then used later to deploy to Nexus.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_release_triggers: Override Gerrit Triggers.
 
@@ -352,6 +362,8 @@ interest in that kind of support.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_sonar_triggers: Override Gerrit Triggers.
 
@@ -391,6 +403,8 @@ Verify job which runs mvn clean install to test a project build..
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which can be used to
@@ -435,6 +449,8 @@ via comment trigger.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which can be used to
index dd57e46..38c7dee 100644 (file)
@@ -48,6 +48,8 @@ Verify job for NodeJS projects
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths filter which checks which
index c1bf65a..0244614 100644 (file)
@@ -99,6 +99,8 @@ IQ Server.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
     :gerrit_clm_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which used to filter which
         file modifications will trigger a build. Refer to JJB documentation for
@@ -168,6 +170,8 @@ https://docs.sonarqube.org/display/PLUG/Python+Coverage+Results+Import
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
     :gerrit_sonar_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths which used to filter which
         file modifications will trigger a build. Refer to JJB documentation for
@@ -214,6 +218,8 @@ following pyenv variables before running.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
     :tox-dir: Directory containing the project's tox.ini relative to
         the workspace. Empty works if tox.ini is at project root.
         (default: '')
index b21cee6..c5c9172 100644 (file)
@@ -80,6 +80,8 @@ ReadTheDocs. To do that follow these steps:
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_merge_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths filter which checks which
@@ -125,6 +127,8 @@ Verify job which runs a tox build of the docs project
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
         (default: true)
+    :submodule-timeout: Timeout (in minutes) for checkout operation.
+        (default: 10)
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
     :gerrit_trigger_file_paths: Override file paths filter which checks which
index 3584bf1..c40af55 100644 (file)
@@ -25,6 +25,7 @@
     pre-build: ''
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
     version: ''
 
     #####################
           git-url: '{git-url}'
           refspec: '$GERRIT_REFSPEC'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     pre-build: ''
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_verify_triggers:
       - patchset-created-event:
           git-url: '{git-url}'
           refspec: '$GERRIT_REFSPEC'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
index 9cfa4b8..5e47387 100644 (file)
@@ -36,6 +36,7 @@
     github-url: 'https://github.com'
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
     packer-cloud-settings: packer-cloud-env
     packer-version: 1.2.5
 
     jjb-version: 2.2.1
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_trigger_file_paths:
       - compare-type: REG_EXP
     disable-job: false
     git-url: '$GIT_URL/$GERRIT_PROJECT'
     stream: master
+    submodule-timeout: 10
     gerrit_merge_triggers:
       - comment-added-contains-event:
           comment-contains-value: (un)?lock branch$
           refspec: ''
           branch: '{branch}'
           submodule-recursive: false
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     git-url: '$GIT_URL/$GERRIT_PROJECT'
     github-url: 'https://github.com'
     jenkins-silos: production sandbox
+    submodule-timeout: 10
 
     gerrit_merge_triggers:
       - change-merged-event
           refspec: 'refs/heads/{branch}'
           branch: '{branch}'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: ''
           branch: 'refs/heads/{branch}'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     git-url: '$GIT_URL/$PROJECT'
     github-url: 'https://github.com'
     stream: master
+    submodule-timeout: 10
     gerrit_jjb_deploy_job_triggers:
       - comment-added-contains-event:
           comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
           refspec: 'refs/heads/{branch}'
           branch: '{branch}'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: ''
           branch: '{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: ''
           branch: 'refs/heads/{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     ######################
 
     git-url: '$GIT_URL/$PROJECT'
+    submodule-timeout: 10
 
     #####################
     # Job Configuration #
           refspec: ''
           branch: 'master'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     project-pattern: '**'
     spdx-disable: false
     stream: master
+    submodule-timeout: 10
 
     #####################
     # Job Configuration #
           branch: '$GERRIT_BRANCH'
           # Submodules are out of the project's control
           submodule-recursive: false
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           branch: '$sha1'
           # Submodules are out of the project's control
           submodule-recursive: false
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     github-url: 'https://github.com'
     openstack-cloud: vex
     stream: master
+    submodule-timeout: 10
 
     #####################
     # Job Configuration #
           refspec: 'refs/heads/{branch}'
           branch: '{branch}'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: ''
           branch: 'refs/heads/{branch}'
           submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: ''
           branch: 'refs/heads/{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
index ac577c8..da6d726 100644 (file)
           wipe-workspace: true
           submodule:
             recursive: '{submodule-recursive}'
+            timeout: '{submodule-timeout}'
           choosing-strategy: '{choosing-strategy}'
 
 - scm:
           wipe-workspace: true
           submodule:
             recursive: '{submodule-recursive}'
+            timeout: '{submodule-timeout}'
           choosing-strategy: '{choosing-strategy}'
 
 ############
index c5fffb7..7e656f8 100644 (file)
     nexus-iq-stage: 'build'
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     nexus_iq_scan_patterns:
       - '**/*.ear'
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
     triggers:
           refspec: ''
           branch: 'refs/heads/{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     mvn-version: mvn35
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_merge_triggers:
       - change-merged-event
           refspec: ''
           branch: '{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
           refspec: ''
           branch: '{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     mvn-version: mvn35
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_verify_triggers:
       - patchset-created-event:
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     nexus-cut-dirs: 6  # Number of dirs in the Nexus path to remove for wget -r.
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_merge_triggers:
       - change-merged-event
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     sign-artifacts: false
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_release_triggers:
       - comment-added-contains-event:
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     sonar-mvn-goal: 'sonar:sonar'
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_sonar_triggers:
       - comment-added-contains-event:
           refspec: $GERRIT_REFSPEC
           branch: $GERRIT_BRANCH
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
 - job-template:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     mvn-version: mvn35
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_verify_triggers:
       - patchset-created-event:
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     mvn-version: mvn35
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_verify_triggers:
       - comment-added-contains-event:
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
index c6bcc9b..36475e5 100644 (file)
@@ -20,6 +20,7 @@
     node-dir: ''
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_trigger_file_paths:
       - compare-type: REG_EXP
@@ -94,6 +95,7 @@
           refspec: '$GERRIT_REFSPEC'
           branch: 'origin/$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
index fc342de..78976d9 100644 (file)
@@ -81,6 +81,7 @@
     nexus-iq-namespace: ''  # Recommend a trailing dash when set. Example: odl-
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_trigger_file_paths:
       - compare-type: ANT
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
     triggers:
           refspec: ''
           branch: 'refs/heads/{branch}'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     sonar-mvn-goal: 'sonar:sonar'
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
 
     gerrit_trigger_file_paths:
       - compare-type: REG_EXP
           refspec: $GERRIT_REFSPEC
           branch: $GERRIT_BRANCH
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     python-version: python2
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
     tox-dir: ''
     tox-envs: ''
 
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: gerrit
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
index 0f4aa8b..7101ae8 100644 (file)
     project-pattern: '**'
     stream: master
     submodule-recursive: true
+    submodule-timeout: 10
     gerrit-skip-vote: false
 
     gerrit_verify_triggers:
           git-url: '{git-url}'
           refspec: ''  # Leave blank!! A later script will handle fetching
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
     triggers:
           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
           branch: '$sha1'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
diff --git a/releasenotes/notes/submodule-timeout-e75d10f51ca36933.yaml b/releasenotes/notes/submodule-timeout-e75d10f51ca36933.yaml
new file mode 100644 (file)
index 0000000..f13ee74
--- /dev/null
@@ -0,0 +1,12 @@
+---
+features:
+  - |
+    Add a new ``submodule-timeout`` optional parameter to provide a timeout
+    value (in minutes) for timeout operations.
+
+upgrade:
+  - |
+    Any project using the lf-infra-gerrit-scm and lf-infra-github-scm macros
+    in our out of global-jjb should need to add a submodule-timeout value.
+    It is recommended to set this value to ``10`` since that is the default
+    value used by the Jenkins Git Plugin.