Bug 1042255 - MCollective agent execute_parallel_action calls can exceed the overall agent timeout
Summary: MCollective agent execute_parallel_action calls can exceed the overall agent ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Containers
Version: 2.x
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: ---
Assignee: Jhon Honce
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks: 1083284
TreeView+ depends on / blocked
 
Reported: 2013-12-12 21:32 UTC by Dan Mace
Modified: 2015-05-14 23:33 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1083284 (view as bug list)
Environment:
Last Closed: 2014-01-30 00:53:16 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Dan Mace 2013-12-12 21:32:14 UTC
Description of problem:

The OpenShift MCollective agent has a flaw in execute_parallel_action which makes it susceptible to hitting the agent timeout. Contrary to its name, it executes operations sequentially. However, each operation uses a new Hourglass instance, effectively giving the overall operation (240*operation_count) seconds to complete.

The code should construct a single Hourglass instance to pass to each ApplicationContainer instance used by these operations to ensure that their cumulative execution time will be less than the agent timeout.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 openshift-github-bot 2013-12-21 00:39:24 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/14cad32d522807188f92292020d292ee08bffd39
Bug 1042255 - reuse timer for execute_parallel_action calls

* Ensure execute_parallel_action uses the same hourglass object for
  all operations
* Refactor using PathUtils.flock to remove redudant code
* Remove unused code
* Replace all calls to File.join with PathUtils.join. security issue.
* Optimize obtaining list of gears
* use node.conf rather than hardcoding values

Comment 2 Meng Bo 2013-12-25 03:45:40 UTC
Checked on devenv_4170, 

Run parallel actions from client side, no timeout issue found in the ruby193-mcollective.log

And there is no regression issue.

Move bug to verified.


Note You need to log in before you can comment on or make changes to this bug.