At https://github.com/openstack/trove/blob/master/trove/common/utils.py#L274 if the caller supplied a 'timeout' param as one of the kwargs, because the 'timeout' arg is not being popped ( a 'get' is done instead) here, when further down the call stack
https://github.com/openstack/trove/blob/master/trove/openstack/common/processutils.py#L121 gets executed, an UnknownArgumentError exception is thrown.
This does not manifest normally, because callers of utils.py:: execute_with_timeout don't normally seem to pass in a 'timeout' kwarg. But in some cases where the caller knows that the default value of 30 secs may not be enough timeout, and decides to pass in a kwarg param timeout=xx, then it blows up.
Fix is very simple, just replace the 'get' with 'pop'.
Fix proposed to branch: master /review. openstack. org/80677
Review: https:/