diff options
-rw-r--r-- | jenkins_jobs/modules/wrappers.py | 13 | ||||
-rw-r--r-- | tests/jsonparser/fixtures/complete001.xml | 14 | ||||
-rw-r--r-- | tests/wrappers/fixtures/timeout/timeout001.xml | 12 | ||||
-rw-r--r-- | tests/wrappers/fixtures/timeout/timeout002.xml | 14 | ||||
-rw-r--r-- | tests/wrappers/fixtures/timeout/timeout003.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/complete001.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/include-raw001.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/include001.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/lazy-load-jobs001.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/lazy-load-jobs002.xml | 14 | ||||
-rw-r--r-- | tests/yamlparser/fixtures/yaml_anchor.xml | 12 |
12 files changed, 92 insertions, 71 deletions
diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index e00f1800..acf6c1fc 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -311,14 +311,19 @@ def timeout(registry, xml_parent, data): prefix = 'hudson.plugins.build__timeout.' twrapper = XML.SubElement(xml_parent, prefix + 'BuildTimeoutWrapper') - plugin_info = registry.get_plugin_info( - "Jenkins build timeout plugin") - version = pkg_resources.parse_version(plugin_info.get("version", "0")) + plugin_info = registry.get_plugin_info("Build Timeout") + if "version" not in plugin_info: + plugin_info = registry.get_plugin_info("Jenkins build timeout plugin") + version = plugin_info.get("version", None) + if version: + version = pkg_resources.parse_version(version) valid_strategies = ['absolute', 'no-activity', 'likely-stuck', 'elastic', 'deadline'] - if version >= pkg_resources.parse_version("1.14"): + # NOTE(toabctl): if we don't know the version assume that we + # use a newer version of the plugin + if not version or version >= pkg_resources.parse_version("1.14"): strategy = data.get('type', 'absolute') if strategy not in valid_strategies: InvalidAttributeError('type', strategy, valid_strategies) diff --git a/tests/jsonparser/fixtures/complete001.xml b/tests/jsonparser/fixtures/complete001.xml index bbaaad0f..355fac1a 100644 --- a/tests/jsonparser/fixtures/complete001.xml +++ b/tests/jsonparser/fixtures/complete001.xml @@ -110,12 +110,14 @@ print("Doing something cool with python") <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> <org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper> <buildSteps> diff --git a/tests/wrappers/fixtures/timeout/timeout001.xml b/tests/wrappers/fixtures/timeout/timeout001.xml index 8e6fbd82..cbbb0d35 100644 --- a/tests/wrappers/fixtures/timeout/timeout001.xml +++ b/tests/wrappers/fixtures/timeout/timeout001.xml @@ -2,13 +2,13 @@ <project> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>90</timeoutMinutes> + <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy"> + <timeoutMinutes>90</timeoutMinutes> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> <timeoutEnvVar>BUILD_TIMEOUT</timeoutEnvVar> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>0</timeoutPercentage> - <timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault> - <timeoutType>absolute</timeoutType> </hudson.plugins.build__timeout.BuildTimeoutWrapper> </buildWrappers> </project> diff --git a/tests/wrappers/fixtures/timeout/timeout002.xml b/tests/wrappers/fixtures/timeout/timeout002.xml index b7e1c68f..60192eeb 100644 --- a/tests/wrappers/fixtures/timeout/timeout002.xml +++ b/tests/wrappers/fixtures/timeout/timeout002.xml @@ -2,12 +2,12 @@ <project> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>false</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>0</timeoutPercentage> - <timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault> - <timeoutType>likelyStuck</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.LikelyStuckTimeOutStrategy"> + <timeoutMinutes>3</timeoutMinutes> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.AbortOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> </buildWrappers> -</project>
\ No newline at end of file +</project> diff --git a/tests/wrappers/fixtures/timeout/timeout003.xml b/tests/wrappers/fixtures/timeout/timeout003.xml index 727d9a33..0b671de2 100644 --- a/tests/wrappers/fixtures/timeout/timeout003.xml +++ b/tests/wrappers/fixtures/timeout/timeout003.xml @@ -2,13 +2,15 @@ <project> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> <timeoutEnvVar>BUILD_TIMEOUT</timeoutEnvVar> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> </hudson.plugins.build__timeout.BuildTimeoutWrapper> </buildWrappers> </project> diff --git a/tests/yamlparser/fixtures/complete001.xml b/tests/yamlparser/fixtures/complete001.xml index f6c5192d..546fd5e6 100644 --- a/tests/yamlparser/fixtures/complete001.xml +++ b/tests/yamlparser/fixtures/complete001.xml @@ -114,12 +114,14 @@ print("Doing something cool with python") <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> <org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper> <buildSteps> diff --git a/tests/yamlparser/fixtures/include-raw001.xml b/tests/yamlparser/fixtures/include-raw001.xml index 494410c5..7ec205f1 100644 --- a/tests/yamlparser/fixtures/include-raw001.xml +++ b/tests/yamlparser/fixtures/include-raw001.xml @@ -23,12 +23,14 @@ <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> <org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper> <buildSteps> diff --git a/tests/yamlparser/fixtures/include001.xml b/tests/yamlparser/fixtures/include001.xml index 640c3edb..ec833ab2 100644 --- a/tests/yamlparser/fixtures/include001.xml +++ b/tests/yamlparser/fixtures/include001.xml @@ -23,12 +23,14 @@ <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> <org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper> <buildSteps> diff --git a/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml b/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml index 2df35f29..4d0d39bf 100644 --- a/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml +++ b/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml @@ -33,12 +33,14 @@ echo "Doing somethiung cool" <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> </buildWrappers> </project> diff --git a/tests/yamlparser/fixtures/lazy-load-jobs001.xml b/tests/yamlparser/fixtures/lazy-load-jobs001.xml index 62a32bfe..bc6d7aeb 100644 --- a/tests/yamlparser/fixtures/lazy-load-jobs001.xml +++ b/tests/yamlparser/fixtures/lazy-load-jobs001.xml @@ -30,12 +30,14 @@ VERSION="1.1" <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> </buildWrappers> </project> diff --git a/tests/yamlparser/fixtures/lazy-load-jobs002.xml b/tests/yamlparser/fixtures/lazy-load-jobs002.xml index 446e1dc1..b44a0154 100644 --- a/tests/yamlparser/fixtures/lazy-load-jobs002.xml +++ b/tests/yamlparser/fixtures/lazy-load-jobs002.xml @@ -30,12 +30,14 @@ VERSION="1.2" <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>3</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>150</timeoutPercentage> - <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> - <timeoutType>elastic</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy"> + <timeoutPercentage>150</timeoutPercentage> + <numberOfBuilds>0</numberOfBuilds> + <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> <org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper> <buildSteps> diff --git a/tests/yamlparser/fixtures/yaml_anchor.xml b/tests/yamlparser/fixtures/yaml_anchor.xml index 65868964..9d18713d 100644 --- a/tests/yamlparser/fixtures/yaml_anchor.xml +++ b/tests/yamlparser/fixtures/yaml_anchor.xml @@ -13,12 +13,12 @@ <publishers/> <buildWrappers> <hudson.plugins.build__timeout.BuildTimeoutWrapper> - <timeoutMinutes>180</timeoutMinutes> - <failBuild>true</failBuild> - <writingDescription>false</writingDescription> - <timeoutPercentage>0</timeoutPercentage> - <timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault> - <timeoutType>absolute</timeoutType> + <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy"> + <timeoutMinutes>180</timeoutMinutes> + </strategy> + <operationList> + <hudson.plugins.build__timeout.operations.FailOperation/> + </operationList> </hudson.plugins.build__timeout.BuildTimeoutWrapper> <hudson.plugins.timestamper.TimestamperBuildWrapper/> </buildWrappers> |