Added execute util

It is needed to run OS commands. It uses
oslo processutils. It is just a copy of the
same method in openstack/ironic except
using rootwrap was removed.

Change-Id: I2efede22b1fa25febe91879c0fefcdfc7f3d1dd5
This commit is contained in:
Vladimir Kozhukalov
2014-04-04 17:31:23 +04:00
parent 1a87ebfcce
commit 7736de66ca
2 changed files with 122 additions and 0 deletions
ironic_python_agent

@ -13,9 +13,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import collections
import ordereddict
from ironic_python_agent.openstack.common import gettextutils as gtu
from ironic_python_agent.openstack.common import log as logging
from ironic_python_agent.openstack.common import processutils
LOG = logging.getLogger(__name__)
def get_ordereddict(*args, **kwargs):
"""A fix for py26 not having ordereddict."""
@ -23,3 +30,13 @@ def get_ordereddict(*args, **kwargs):
return collections.OrderedDict(*args, **kwargs)
except AttributeError:
return ordereddict.OrderedDict(*args, **kwargs)
def execute(*cmd, **kwargs):
"""Convenience wrapper around oslo's execute() method."""
result = processutils.execute(*cmd, **kwargs)
LOG.debug(gtu._('Execution completed, command line is "%s"'),
' '.join(cmd))
LOG.debug(gtu._('Command stdout is: "%s"') % result[0])
LOG.debug(gtu._('Command stderr is: "%s"') % result[1])
return result