Bug 1165399
| Summary: | Bundle deployment timeout is too short and should not be hard-coded | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Operations Network | Reporter: | Larry O'Leary <loleary> |
| Component: | Provisioning | Assignee: | Michael Burman <miburman> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Mike Foley <mfoley> |
| Severity: | low | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | JON 3.2 | CC: | lzoubek, miburman, mmahoney |
| Target Milestone: | ER01 | ||
| Target Release: | JON 3.3.1 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-02-27 19:58:30 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Fixed in the master:
commit cb73790acd490754ffe69cf89f122cf520355724
Author: Michael Burman <miburman>
Date: Thu Jan 8 22:44:12 2015 +0200
[BZ 1165399] Bundle deployment timeout is now configurable through the recipe (with key org.rhq.deploymentTimeout) and UI
commit 191688e7e26117de8a30f9f43ec13821de097286
Author: Michael Burman <miburman>
Date: Thu Jan 8 22:44:12 2015 +0200
[BZ 1165399] Bundle deployment timeout is now configurable through the recipe (with key org.rhq.deploymentTimeout) and UI
(cherry picked from commit cb73790acd490754ffe69cf89f122cf520355724)
Signed-off-by: Libor Zoubek <lzoubek>
branch: release/jon3.3.x link: https://github.com/rhq-project/rhq/commit/07ec8cc80 time: 2015-01-13 14:42:32 +0100 commit: 07ec8cc80f35a50df4487005882ffbd0915767e5 author: Michael Burman - miburman message: [BZ 1165399] Add null check for theoretical edge-case (and fix tests) (cherry picked from commit 15abf144794ad815592ec36eeded7b8ef11224e0) Signed-off-by: Libor Zoubek <lzoubek> Moving to ON_QA as available for test with the latest 3.3.1.ER01 bits from here: http://download.devel.redhat.com/brewroot/packages/org.jboss.on-jboss-on-parent/3.3.0.GA/12/maven/org/jboss/on/jon-server-patch/3.3.0.GA/jon-server-patch-3.3.0.GA.zip Verified fixed in JON 3.3.1 ER01. Tested with bundle: https://github.com/RedHatQE/jon-tests/blob/master/clitest/src/test/resources/bundles/bundle.zip Set bundle sleep to 5 min. - On Deploy of bundle - set "Timeout for bundle process as follows": 1) Timeout of 6 min - NO failure 2) Timeout of <5 min - failure |
Description of problem: If deploying a bundle that must perform a long running operation, such as moving or deleting 1 TB of data, it fails if the bundle recipe takes more then 4 hours to complete. Although the timeout of 4 hours is probably satisfactory in many cases, it may not be in all. There should be a method in the recipe or at deployment time of overriding this timeout value or disabling it entirely. Version-Release number of selected component (if applicable): 3.1.2 How reproducible: Always Steps to Reproduce: 1. Create a simple bundle that contains a sleep task in its post install target: <sleep hours="4" minutes="2"/> 2. Deploy the bundle to a destination 3. Wait four hours and 2 minutes Actual results: Bundle deployment fails and is aborted. Deployment failed: org.rhq.core.pc.inventory.TimeoutException: Call to [org.rhq.plugins.ant.AntBundlePluginComponent.deployBundle()] with args [[class org.rhq.core.pluginapi.bundle.BundleDeployRequest: deployment=[BundleResourceDeployment: bdd=[BundleDeployment[id=11001, name=Deployment [2] of Version [1.1] to [jon-platform]]], resource=[Resource[id=10005, uuid=59d13cb7-c5dd-876f-b4b0-3e832a71998d, type={Platforms}Linux, key=jon.example.com, name=jon-platform, parent=, version=Linux 2.6.18-308.el5]]], full-deploy-directory=[/tmp], clean=[false], revert=[false]]] timed out after 14400000 milliseconds - invocation thread will be interrupted. Expected results: Bundle deployment should be successful and not aborted before completion. Additional info: This is a direct result of the code[1]: ... // get the bundle facet object that will process the bundle and call it to start the deployment int facetMethodTimeout = 4 * 60 * 60 * 1000; // 4 hours is given to the bundle plugin to do its thing BundleFacet bundlePluginComponent = getBundleFacet(bundleHandlerResourceId, facetMethodTimeout); BundleDeployResult result = bundlePluginComponent.deployBundle(deployRequest); ... [1]: https://github.com/rhq-project/rhq/blob/0648f50f8c09590a2446ad48eed9a5a5d6e21371/modules/core/plugin-container/src/main/java/org/rhq/core/pc/bundle/BundleManager.java#L240