swift/tools/playbooks/common/install_dependencies.yaml
Matthew Vernon cc033154ad py2constraints: pin PasteDeploy version
PasteDeploy version 3.0 (2022-10-16) dropped support for python2 (as
well as <3.7), which causes our py2 tests to fail. So cap the version
here at 2.1.1, the last which is compatible with our tests.

Even doing this doesn't stop pip install swift pulling in a newer
PasteDeploy in the
tools/playbooks/saio_single_node_setup/make_rings.yaml playbook
(causing the probes test on CentOS-7 to fail); so handle CentOS 7
explicitly.

Change-Id: If69ae0f8eac8fe8ff7d5e4f4f1bff6d0ea9e7a8b
Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
2022-10-17 13:43:24 +01:00

55 lines
1.8 KiB
YAML

# Copyright (c) 2018 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- hosts: all
become: true
roles:
- ensure-pip
tasks:
- name: upgrade pip, but not too far
pip:
# 20.* works on both py2 and py3, and the pip for centos7 in EPEL
# isn't smart enough to prevent us upgrading to 21+
name: pip<21
extra_args: --upgrade
- name: install rsync-daemon - CentOS 8
package:
name: rsync-daemon
state: present
when:
- ansible_facts['distribution'] == "CentOS"
- ansible_facts['distribution_major_version'] == "8"
- name: install python modules with pip
pip: name={{ item }} state=present extra_args='--upgrade'
with_items:
- crudini
- eventlet
- nose
- pyeclib
- python-swiftclient
# For some reason, pip on py2 isn't smart enough to prevent us
# trying to install a too-new mock??
- 'mock<4'
- name: install PasteDeploy - CentOS 7
pip: name={{ item }} state=present extra_args='--upgrade'
with_items:
# py2_constraints isn't obeyed by pip install swift
- 'PasteDeploy==2.1.1'
when:
- ansible_facts['distribution'] == "CentOS"
- ansible_facts['distribution_major_version'] == "7"