2d7c1dc6dd
For tox 3.x and earlier, passenv was a space-separated list; as of tox 4.0.0, it's comma-separated. For a while, our spaces would be silently included in the now-one-and-only passenv value parsed (which wasn't great, but mostly just caused confusion) -- as of tox 4.0.6, however, it became a hard error, and all tests would fail like pass_env values cannot contain whitespace, use comma to have multiple values in a single line, invalid values found 'SWIFT_* *_proxy' Unfortunately, we don't really know what versions of tox all our various stakeholders might want/need to use (though we previously set a minversion of 2.3.2). We might be able to spread values over multiple lines to make it compatible with both tox 3 *and* tox 4, but I'm fairly certain *_proxy was only included for some variables that are recent versions of tox include by default anyway, so just increase our minversion (which was too low, anyway -- allowlist_externals which we already configure was added in 3.18.0) and get rid of *_proxy. FWIW, python-swiftclient was already specifying 3.18.0 as a minversion, so I expect the new minversion to not be a problem. Also, add ./.functests to a bunch of allowlist_externals, as newer tox is more strict about that sort of thing. Drop skipsdist in a bunch of places so we can import swift from func tests and docs. (Still not sure why I don't see us hitting a similar problem for unit tests...) Change-Id: I4be1e86e3291ad1619c695fb93d7cadf053b556d
60 lines
2.0 KiB
YAML
60 lines
2.0 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:
|
|
# For some reason, pip on py2 isn't smart enough to prevent us
|
|
# trying to install a too-new mock or attrs??
|
|
- 'mock<4'
|
|
- 'attrs<22.1.0'
|
|
# crudini pulls in iniparse which can conflict with distro-installed
|
|
# packages on centos7
|
|
- 'crudini<0.9.4'
|
|
# Order matters; install constrained versions *first*, then unconstrained
|
|
- eventlet
|
|
- pyeclib
|
|
- pytest
|
|
- pytest-cov
|
|
- python-swiftclient
|
|
|
|
- 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"
|