summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2018-02-14 13:12:39 -0500
committerTim Rozet <trozet@redhat.com>2018-02-15 12:00:05 -0500
commit2111e5a85f8d0a894e1a7684c2e1a6d897091c9d (patch)
tree02b929082ab790d524696a08cd1102814a9e92f8
parent1f6ee5a99cb191afde06695e449c53732453b222 (diff)
Fixes python2 docutils req and also installs ansible
For some reason we were requiring python2-docutils in to build our rpm instead of python34-docutils. Patch also includes some logic to install ansible. JIRA: APEX-515 Change-Id: I1b85e5b4b29f74f5ff5399296f24831c334c289c Signed-off-by: Tim Rozet <trozet@redhat.com>
-rw-r--r--apex/build.py1
-rw-r--r--apex/common/utils.py18
-rw-r--r--apex/deploy.py1
-rw-r--r--build/Makefile1
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec6
-rw-r--r--requirements.txt1
6 files changed, 26 insertions, 2 deletions
diff --git a/apex/build.py b/apex/build.py
index 08f91abe..dff25ac8 100644
--- a/apex/build.py
+++ b/apex/build.py
@@ -225,6 +225,7 @@ def main():
console.setLevel(log_level)
console.setFormatter(logging.Formatter(formatter))
logging.getLogger('').addHandler(console)
+ utils.install_ansible()
# Since we only support building inside of git repo this should be fine
try:
apex_root = subprocess.check_output(
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')
diff --git a/apex/deploy.py b/apex/deploy.py
index d2f7d50b..5171c5cd 100644
--- a/apex/deploy.py
+++ b/apex/deploy.py
@@ -234,6 +234,7 @@ def main():
console.setLevel(log_level)
console.setFormatter(logging.Formatter(formatter))
logging.getLogger('').addHandler(console)
+ utils.install_ansible()
validate_deploy_args(args)
# Parse all settings
deploy_settings = DeploySettings(args.deploy_settings_file)
diff --git a/build/Makefile b/build/Makefile
index 729b3ce9..fb6734b5 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -291,6 +291,7 @@ iso: iso-clean images rpms $(CENTISO)
cd $(BUILD_DIR)/centos/Packages && curl -O http://artifacts.opnfv.org/apex/dependencies/python34-pygerrit2-2.0.3-1.el7.centos.noarch.rpm
cd $(BUILD_DIR)/centos/Packages && curl -O http://artifacts.opnfv.org/apex/dependencies/python34-gitdb2-2.0.3-1.el7.centos.noarch.rpm
cd $(BUILD_DIR)/centos/Packages && curl -O http://artifacts.opnfv.org/apex/dependencies/python34-GitPython-2.1.7-1.el7.centos.noarch.rpm
+ cd $(BUILD_DIR)/centos/Packages && curl -O http://artifacts.opnfv.org/apex/dependencies/python34-distro-1.2.0-1.el7.centos.noarch.rpm
# regenerate yum repo data
@echo "Generating new yum metadata"
createrepo --update -g $(BUILD_ROOT)/c7-opnfv-x86_64-comps.xml $(BUILD_DIR)/centos
diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec
index 342f4427..f8226e43 100644
--- a/build/rpm_specs/opnfv-apex-common.spec
+++ b/build/rpm_specs/opnfv-apex-common.spec
@@ -11,13 +11,13 @@ URL: https://gerrit.opnfv.org/gerrit/apex.git
Source0: opnfv-apex-common.tar.gz
BuildArch: noarch
-BuildRequires: python-docutils python34-devel
+BuildRequires: python34-docutils python34-devel
Requires: opnfv-apex-sdn opnfv-apex-undercloud openvswitch qemu-kvm bridge-utils libguestfs-tools python34-libvirt
Requires: initscripts net-tools iputils iproute iptables python34 python34-yaml python34-jinja2 python3-ipmi python34-virtualbmc
Requires: ipxe-roms-qemu >= 20160127-1
Requires: libvirt-devel ansible
Requires: python34-iptables python34-cryptography python34-pbr
-Requires: python34-GitPython python34-pygerrit2
+Requires: python34-GitPython python34-pygerrit2 python34-distro
%description
Scripts for OPNFV deployment using Apex
@@ -118,6 +118,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%doc %{_docdir}/opnfv/inventory.yaml.example
%changelog
+* Wed Feb 14 2018 Tim Rozet <trozet@redhat.com> - 6.0-1
+ Fix docutils requirement and add python34-distro
* Wed Nov 29 2017 Tim Rozet <trozet@redhat.com> - 6.0-0
Bump version for Fraser
* Wed Oct 25 2017 Tim Rozet <trozet@redhat.com> - 5.0-9
diff --git a/requirements.txt b/requirements.txt
index 0326a8cb..18bd020f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,3 +11,4 @@ PyYAML
Jinja2>=2.8
GitPython
pygerrit2
+distro