From 729bd45077e5bbbc4c23ce873eeb6768c8cf2a40 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Wed, 17 Jun 2020 13:13:09 +0200 Subject: 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 --- docker/cyborg/cyborg-api/Dockerfile.j2 | 6 ++++- kolla/image/build.py | 1 + tests/playbooks/pre.yml | 42 ++++++++++++++++++++++++++++++++++ tests/playbooks/run.yml | 2 +- 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 }}" -- cgit v1.2.3