X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=apex%2Fcommon%2Futils.py;h=0328a3b5cc494d8f6b94083c52c9187df232ebec;hb=2111e5a85f8d0a894e1a7684c2e1a6d897091c9d;hp=13250a45a313c3e7f9fcda084a3a86e3dd7f26b3;hpb=1f6ee5a99cb191afde06695e449c53732453b222;p=apex.git diff --git a/apex/common/utils.py b/apex/common/utils.py index 13250a45..0328a3b5 100644 --- a/apex/common/utils.py +++ b/apex/common/utils.py @@ -8,6 +8,7 @@ ############################################################################## import datetime +import distro import json import logging import os @@ -192,3 +193,20 @@ def fetch_upstream_and_unpack(dest, url, targets): tar = tarfile.open(target_dest) tar.extractall(path=dest) tar.close() + + +def install_ansible(): + # we only install for CentOS/Fedora for now + dist = distro.id() + if 'centos' in dist: + pkg_mgr = 'yum' + elif 'fedora' in dist: + pkg_mgr = 'dnf' + else: + return + + # yum python module only exists for 2.x, so use subprocess + try: + subprocess.check_call([pkg_mgr, '-y', 'install', 'ansible']) + except subprocess.CalledProcessError: + logging.warning('Unable to install Ansible')