Hide Forgot
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:
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
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.