debian/ubuntu: make use of Python3 based packages

Both Ubuntu Stein UCA and Debian 'buster' migrated their OpenStack
packages to Python 3.

Note that Debian 'buster' is not released yet and contains Rocky
packages. Stein ones will be available later.

Co-Authored-By: Lee Yarwood <lyarwood@redhat.com>
Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com>

Change-Id: I160f79cc57f54ec3eac857c5babd1a6e2656d228
This commit is contained in:
Marcin Juszkiewicz 2019-01-08 17:09:52 +00:00
parent 8fcd7ea912
commit 43b74ccc15
23 changed files with 77 additions and 66 deletions

View File

@ -28,14 +28,14 @@ RUN mkdir -p /var/www/cgi-bin/aodh \
{% set aodh_base_packages = [
'aodh-common',
'apache2',
'libapache2-mod-wsgi',
'python-aodh',
'python-ldappool'
'libapache2-mod-wsgi-py3',
'python3-aodh',
'python3-ldappool'
] %}
{{ macros.install_packages(aodh_base_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/aodh \
&& cp -a /usr/lib/python2.7/dist-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/ \
&& cp -a /usr/lib/python3/dist-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/ \
&& echo > /etc/apache2/ports.conf
{% endif %}

View File

@ -24,7 +24,7 @@ RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
{% set barbican_api_packages = [
'apache2',
'barbican-api',
'libapache2-mod-wsgi',
'libapache2-mod-wsgi-py3',
'uwsgi-plugin-python'
] %}

View File

@ -10,7 +10,7 @@ deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe
# We need to add the repo for the updated packages they provide. The main ones
# are qemu, libvirt, and openvswitch.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/rocky main
deb http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/stein main
# Elasticsearch, Logstash & Kibana repo
deb https://artifacts.elastic.co/packages/5.x/apt stable main

View File

@ -8,4 +8,4 @@ deb http://ports.ubuntu.com/ bionic-backports main restricted universe multivers
# We need to add the repo for the updated packages they provide. The main ones
# are qemu, libvirt, and openvswitch.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/rocky main
deb http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/stein main

View File

@ -8,4 +8,4 @@ deb http://ports.ubuntu.com/ bionic-backports main restricted universe multivers
# We need to add the repo for the updated packages they provide. The main ones
# are qemu, libvirt, and openvswitch.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/rocky main
deb http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-updates/stein main

View File

@ -20,7 +20,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set ceilometer_base_packages = [
'ceilometer-common',
'python-gnocchiclient',
'python-panko',
'python3-panko',
'python-pymongo'
] %}
{% endif %}

View File

@ -23,7 +23,7 @@ RUN mkdir -p /var/www/cgi-bin/cinder \
{% set cinder_api_packages = [
'apache2',
'cinder-api',
'libapache2-mod-wsgi'
'libapache2-mod-wsgi-py3'
] %}
{{ macros.install_packages(cinder_api_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/cinder \

View File

@ -28,19 +28,20 @@ RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
'apache2',
'build-essential',
'gnocchi-common',
'libapache2-mod-wsgi',
'libapache2-mod-wsgi-py3',
'librados-dev',
'python-dev',
'python-ldappool',
'python-rados',
'python-setuptools'
'python3-dev',
'python3-ldappool',
'python3-rados',
'python3-setuptools',
'python3-pip'
] %}
{% set gnocchi_base_pip_packages = [
'cradox'
] %}
{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
RUN {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages"), constraints=false) }} \
RUN {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages"), constraints=false, pip_version="pip3") }} \
&& truncate -s 0 /etc/apache2/ports.conf
{% endif %}

View File

@ -52,18 +52,17 @@ RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
{% set horizon_packages = [
'apache2',
'gettext',
'libapache2-mod-wsgi',
'libapache2-mod-wsgi-py3',
'locales',
'openstack-dashboard',
'python-designate-dashboard',
'python-heat-dashboard',
'python-manila-ui',
'python-murano-dashboard',
'python-neutron-lbaas-dashboard',
'python-sahara-dashboard',
'python-trove-dashboard',
'python3-designate-dashboard',
'python3-heat-dashboard',
'python3-manila-ui',
'python3-sahara-dashboard',
'python3-trove-dashboard',
'tzdata'
] %}
#NOTE(hrw): check for python-murano-dashboard python-neutron-lbaas-dashboard
{{ macros.install_packages(horizon_packages | customizable("packages")) }}

View File

@ -54,9 +54,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'parted',
'psmisc',
'python-ironic-inspector-client',
'python-proliantutils',
'python3-proliantutils',
'python-pysnmp4',
'python-scciclient',
'python3-scciclient',
'python-systemd',
'qemu-utils',
'shellinabox',

View File

@ -33,8 +33,8 @@ RUN mkdir -p /var/www/cgi-bin/keystone \
'keystone',
'libapache2-mod-auth-mellon',
'libapache2-mod-auth-openidc',
'libapache2-mod-wsgi',
'python-ldappool'
'libapache2-mod-wsgi-py3',
'python3-ldappool'
] %}
{{ macros.install_packages(keystone_base_packages | customizable("packages")) }}

View File

@ -21,9 +21,12 @@
{% endif %}
{%- endmacro %}
{% macro install_pip(packages, constraints = true) %}
{% macro install_pip(packages, constraints = true, pip_version = pip) %}
{%- if packages is sequence and packages|length > 0 -%}
pip --no-cache-dir install --upgrade{{ ' ' }}
{%- if not pip_version -%}
{%- set pip_version = 'pip' -%}
{%- endif -%}
{{ pip_version }} --no-cache-dir install --upgrade{{ ' ' }}
{%- if constraints %}-c /requirements/upper-constraints.txt {% endif -%}
{{ packages | join(' ') }}
{%- else -%}

View File

@ -41,29 +41,23 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'neutron-plugin-ml2',
'neutron-server',
'openvswitch-switch',
'python-networking-sfc',
'python3-networking-sfc',
'python-openvswitch',
'python-oslo.vmware'
] %}
{% if base_distro == 'debian' %}
{% set neutron_base_packages = neutron_base_packages + [
'python-networking-vmware-nsx'
] %}
{% else %}
{% if base_distro == 'ubuntu' %}
# FIXED(jeffrey4l): UCA rocky release is not include python-vmware-nsx
# 13.0.0 package now. add 'python-vmware-nsx' into
# neutron_base_packages list after UCA fixed the issue.
{% set neutron_base_packages = neutron_base_packages + [
'neutron-lbaas-common',
'python-neutron-fwaas',
'python3-neutron-fwaas',
] %}
{% endif %}
{{ macros.debian_haproxy_existing_user_fix() }}
{% endif %}
{{ macros.install_packages(neutron_base_packages | customizable("packages")) }}

View File

@ -22,7 +22,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set neutron_lbaas_agent_packages = [
'neutron-lbaas-common',
'neutron-lbaasv2-agent',
'python-neutron-lbaas'
'python3-neutron-lbaas'
] %}
{% endif %}

View File

@ -13,7 +13,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
] %}
{% elif base_package_type == 'deb' %}
{% set neutron_metadata_agent_ovn_packages = [
'python-networking-ovn'
'python3-networking-ovn'
] %}
{% endif %}

View File

@ -8,17 +8,20 @@ USER root
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
{% set neutron_server_opendaylight_packages = [
'python-networking-odl',
'python-networking-bgpvpn',
'python-networking-l2gw'
] %}
{% if base_distro in ['centos', 'rhel'] %}
{% set neutron_server_opendaylight_packages = neutron_server_opendaylight_packages + [
'python-networking-bgpvpn-heat'
] %}
{% endif %}
{% if base_package_type == 'rpm' %}
{% set neutron_server_opendaylight_packages = [
'python-networking-odl',
'python-networking-bgpvpn',
'python-networking-l2gw',
'python-networking-bgpvpn-heat'
] %}
{% elif base_package_type == 'deb' %}
{% set neutron_server_opendaylight_packages = [
'python3-networking-odl',
'python3-networking-bgpvpn',
'python3-networking-l2gw',
] %}
{% endif %}
{{ macros.install_packages(neutron_server_opendaylight_packages | customizable("packages")) }}

View File

@ -8,10 +8,15 @@ USER root
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
{% set neutron_server_ovn_packages = [
'python-networking-ovn',
] %}
{% if base_package_type == 'rpm' %}
{% set neutron_server_ovn_packages = [
'python-networking-ovn',
] %}
{% elif base_package_type == 'deb' %}
{% set neutron_server_ovn_packages = [
'python3-networking-ovn',
] %}
{% endif %}
{{ macros.install_packages(neutron_server_ovn_packages | customizable("packages")) }}
{% elif install_type == 'source' %}

View File

@ -17,9 +17,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set neutron_server_packages = [
'neutron-lbaasv2-agent',
'python-neutron-dynamic-routing',
'python-neutron-lbaas',
'python-neutron-vpnaas'
'python3-neutron-dynamic-routing',
'python3-neutron-lbaas',
'python3-neutron-vpnaas'
] %}
{% endif %}

View File

@ -40,8 +40,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'bridge-utils',
'nova-common',
'openvswitch-switch',
'python-nova'
'python3-nova'
] %}
{% if base_arch == 'x86_64' %}
{% set nova_base_packages = nova_base_packages + [
'ovmf'

View File

@ -10,7 +10,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openvswitch-ovn-common',
] %}
{% elif base_package_type == 'deb' %}
{% elif base_distro in ['debian'] %}
# NOTE(hrw): 'ovn-common' is provided by 'openvswitch-common'
{% set ovn_base_packages = [
'openvswitch-common',
] %}
{% elif base_distro in ['ubuntu'] %}
{% set ovn_base_packages = [
'ovn-common',
] %}

View File

@ -23,7 +23,7 @@ RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
{% set placement_api_packages = [
'apache2',
'libapache2-mod-wsgi',
'libapache2-mod-wsgi-py3',
'placement-api'
] %}

View File

@ -30,13 +30,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'zaqar-common',
'apache2',
'libapache2-mod-wsgi',
'python-ldappool'
'python3-ldappool'
] %}
{{ macros.install_packages(zaqar_base_packages | customizable("packages")) }} \
&& mkdir -p /var/www/cgi-bin/zaqar \
&& chown -R zaqar: /var/www/cgi-bin/zaqar \
&& cp -a /usr/lib/python2.7/dist-packages/zaqar/transport/wsgi/app.py /var/www/cgi-bin/zaqar/ \
&& cp -a /usr/lib/python3/dist-packages/zaqar/transport/wsgi/app.py /var/www/cgi-bin/zaqar/ \
&& echo > /etc/apache2/ports.conf
{% endif %}

View File

@ -121,7 +121,6 @@ SKIPPED_IMAGES = {
"nova-mksproxy",
"novajoin-base",
"octavia-base",
"placement-base",
# There is no qdrouterd package for ubuntu bionic
"qdrouterd",
"searchlight-base",