summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2020-06-17 13:13:09 +0200
committerMichal Nasiadka <mnasiadka@gmail.com>2020-06-19 07:58:06 +0200
commit729bd45077e5bbbc4c23ce873eeb6768c8cf2a40 (patch)
tree442198011009005d809eab33a13a9cc19953bd81
parent47df05074204b87805986c7e9ae6743e3dce28db (diff)
downloadkolla-729bd45077e5bbbc4c23ce873eeb6768c8cf2a40.tar.gz
kolla-729bd45077e5bbbc4c23ce873eeb6768c8cf2a40.zip
CI: Install python deps, fix mod_wsgi in cyborg-api, disable masakari-monitors
setuptools is missing from infra image - so it needs to be installed. Copy cat of a kolla-ansible change: https://review.opendev.org/#/c/735808/ Fixes also cyborg-api to use py3 mod_wsgi in centos8 Temporarily disables masakari-monitors build, because it fails on centos8 due to problems with libvirt-python===5.7.0 (upper-constraints): Missing type converters: virTypedParameterPtr:1 ERROR: failed virConnectSetIdentity Depends-On: https://review.opendev.org/#/c/736744/ Change-Id: I6068abcbc0e73eeab77b0aa99983a95adc6defd3
-rw-r--r--docker/cyborg/cyborg-api/Dockerfile.j26
-rwxr-xr-xkolla/image/build.py1
-rw-r--r--tests/playbooks/pre.yml42
-rw-r--r--tests/playbooks/run.yml2
4 files changed, 49 insertions, 2 deletions
diff --git a/docker/cyborg/cyborg-api/Dockerfile.j2 b/docker/cyborg/cyborg-api/Dockerfile.j2
index b856aa775..ad8dc4d04 100644
--- a/docker/cyborg/cyborg-api/Dockerfile.j2
+++ b/docker/cyborg/cyborg-api/Dockerfile.j2
@@ -13,8 +13,12 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% if base_package_type == 'rpm' %}
{% set cyborg_api_packages = [
'mod_ssl',
- 'mod_wsgi'
] %}
+ {% if distro_python_version.startswith('3') %}
+ {% set cyborg_api_packages = cyborg_api_packages + ['python3-mod_wsgi'] %}
+ {% else %}
+ {% set cyborg_api_packages = cyborg_api_packages + ['mod_wsgi'] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
{% set cyborg_api_packages = [
'apache2',
diff --git a/kolla/image/build.py b/kolla/image/build.py
index 54f40e308..ecb8411df 100755
--- a/kolla/image/build.py
+++ b/kolla/image/build.py
@@ -167,6 +167,7 @@ UNBUILDABLE_IMAGES = {
'centos8+source': {
"cyborg-agent", # opae-sdk does not support CentOS 8
+ "masakari-monitors", # python-libvirt===5.7.0 fails
},
'debian': {
diff --git a/tests/playbooks/pre.yml b/tests/playbooks/pre.yml
index d82198382..4334599cb 100644
--- a/tests/playbooks/pre.yml
+++ b/tests/playbooks/pre.yml
@@ -18,7 +18,49 @@
path: "{{ kolla_build_logs_dir }}"
state: directory
+ - block:
+
+ - name: Ensure yum-utils is installed
+ # NOTE(mgoddard): The CentOS image used in CI has epel-release installed,
+ # but the configure-mirrors role used by Zuul disables epel. Since we
+ # install epel-release and expect epel to be enabled, enable it here.
+ package:
+ name: yum-utils
+ state: present
+
+ - name: Enable the EPEL repository
+ command: yum-config-manager --enable epel
+
+ become: true
+ when:
+ - ansible_os_family == "RedHat"
+
+ - name: Install Python2 modules
+ become: true
+ package:
+ name:
+ - python-pip
+ - python-setuptools
+ - python-wheel
+ - python-virtualenv
+
+ - name: Install virtualenv on Debian systems
+ # NOTE(hrw): On RedHat systems it is part of python3-virtualenv
+ package:
+ name:
+ - virtualenv
+ become: true
+ when:
+ ansible_os_family == "Debian"
+
+ - name: Upgrade pip to latest version
+ # NOTE(mnasiadka): pip 8.x delivered with EPEL has problems installing
+ # zipp and configparser
+ become: true
+ command: "pip install --upgrade pip"
+
- name: Ensure tox is installed
pip:
name: tox
+ virtualenv: "{{ ansible_user_dir }}/tox-venv"
become: true
diff --git a/tests/playbooks/run.yml b/tests/playbooks/run.yml
index 6ccd38f99..615990172 100644
--- a/tests/playbooks/run.yml
+++ b/tests/playbooks/run.yml
@@ -33,6 +33,6 @@
dest: /etc/kolla/template_overrides.j2
- name: Run tox
- command: tox -e {{ action }}-{{ base_distro }}{{ base_tag | default('') }}-{{ install_type }}
+ command: "{{ ansible_user_dir }}/tox-venv/bin/tox -e {{ action }}-{{ base_distro }}{{ base_tag | default('') }}-{{ install_type }}"
args:
chdir: "{{ zuul.project.src_dir }}"