commit 84bbf92560d5d2c393de51141bd76b2e8e71e75b Author: Dmitry Tantsur Date: Sun Aug 30 15:04:35 2020 +0200 [Train and older] Fix several CI problems Drop support for Ubuntu and openSUSE in Stein, since their jobs no longer pass due to an issue starting Ironic Inspector. CentOS is still supported. * Update pyghmi to a version supporting cypher suites Without it ipmitool takes minutes on CentOS 8 to do anything. * Install six explicitly since our scripts use it * Use pip corresponding to the correct Python * Do not reinstall the older version of pip in playbooks * Use UTF-8 locale in install-deps.sh On Stein: * Update doc/requirements.txt to match global-requirements * Fix unbound VENV variable in collect-test-info * Make existing jobs non-voting * Make CentOS jobs voting Conflicts: playbooks/roles/bifrost-create-vm-nodes/tasks/prepare_libvirt.yml playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Ubuntu_18.04.yml playbooks/roles/bifrost-keystone-install/defaults/required_defaults_Ubuntu_18.04.yml scripts/install-deps.sh Co-Authored-By: Michal Nasiadka Change-Id: I539c56000a4f6359205290ac14b300340f55eec0 (cherry picked from commit 14332ab8c7c67b203c938e7eb1bf09a84e72d509) diff --git a/doc/requirements.txt b/doc/requirements.txt index 86fc0cb..68c1d9f 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,4 +1,5 @@ -sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD +sphinx!=1.6.6,!=1.6.7,<2.0.0,>=1.6.2;python_version=='2.7' # BSD +sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD sphinxcontrib-httpdomain>=1.3.0 # BSD sphinxcontrib-blockdiag>=1.5.4 # BSD reno>=2.5.0 # Apache-2.0 diff --git a/playbooks/roles/bifrost-create-vm-nodes/tasks/prepare_libvirt.yml b/playbooks/roles/bifrost-create-vm-nodes/tasks/prepare_libvirt.yml index bfbb547..e9559a5 100644 --- a/playbooks/roles/bifrost-create-vm-nodes/tasks/prepare_libvirt.yml +++ b/playbooks/roles/bifrost-create-vm-nodes/tasks/prepare_libvirt.yml @@ -150,3 +150,10 @@ name: virtualbmc extra_args: "-c {{ upper_constraints_file }}" virtualenv: "{{ enable_venv | bool | ternary(bifrost_venv_dir, omit) }}" + +- name: "(Train and older) update pyghmi to a version supporting cypher suites" + pip: + name: pyghmi + # NOTE(dtantsur): 1.5.13 is the version used in Ussuri. + version: 1.5.13 + virtualenv: "{{ enable_venv | bool | ternary(bifrost_venv_dir, omit) }}" diff --git a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Debian_family.yml b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Debian_family.yml index e8c87cc..34a8ede 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Debian_family.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Debian_family.yml @@ -35,7 +35,6 @@ required_packages: - uuid-runtime - curl - socat - - python-pip - gcc - dnsmasq # NOTE(TheJulia): The above entry for dnsmasq must be the last entry in the diff --git a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_RedHat_family.yml b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_RedHat_family.yml index a7f1940..825b46b 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_RedHat_family.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_RedHat_family.yml @@ -36,6 +36,5 @@ required_packages: - policycoreutils-python - debootstrap - gcc - - python2-pip - socat iscsi_client_package: "iscsi-initiator-utils" diff --git a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml index dd9e0ac..3f94095 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml @@ -41,7 +41,6 @@ required_packages: - tar - curl - socat - - python-pip - gcc - python-PyMySQL iscsi_client_package: "open-iscsi" diff --git a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Ubuntu_16.04.yml b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Ubuntu_16.04.yml index 2dafa30..5acffb7 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Ubuntu_16.04.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Ubuntu_16.04.yml @@ -28,7 +28,6 @@ required_packages: - debootstrap - uuid-runtime - curl - - python-pip - python-pymysql - dnsmasq # NOTE(TheJulia): The above entry for dnsmasq must be the last entry in the diff --git a/playbooks/roles/bifrost-keystone-install/defaults/required_defaults_Ubuntu_16.04.yml b/playbooks/roles/bifrost-keystone-install/defaults/required_defaults_Ubuntu_16.04.yml index 7ae2264..3f67c1d 100644 --- a/playbooks/roles/bifrost-keystone-install/defaults/required_defaults_Ubuntu_16.04.yml +++ b/playbooks/roles/bifrost-keystone-install/defaults/required_defaults_Ubuntu_16.04.yml @@ -17,5 +17,4 @@ required_packages: - uwsgi-core # - python-django-uwsgi - This may not be needed - uwsgi-plugin-python - - python-pip - python-pymysql diff --git a/releasenotes/notes/drop-ubuntu-opensuse-7a284f20584e52d3.yaml b/releasenotes/notes/drop-ubuntu-opensuse-7a284f20584e52d3.yaml new file mode 100644 index 0000000..bae1622 --- /dev/null +++ b/releasenotes/notes/drop-ubuntu-opensuse-7a284f20584e52d3.yaml @@ -0,0 +1,6 @@ +--- +upgrade: + - | + Drops support for Ubuntu and openSUSE OS distributions, which are no longer + able to successfully start the Ironic Inspector service. CentOS is still + supported. Note that this affect the Stein release series only. diff --git a/releasenotes/notes/pyghmi-version-a6e35ddc0792aa8d.yaml b/releasenotes/notes/pyghmi-version-a6e35ddc0792aa8d.yaml new file mode 100644 index 0000000..02d8ce1 --- /dev/null +++ b/releasenotes/notes/pyghmi-version-a6e35ddc0792aa8d.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Forces using pyghmi==1.5.13 when creating a testing environment to fix + every operation in ipmitool taking minutes. diff --git a/requirements.txt b/requirements.txt index 7531fba..d4ec934 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,4 @@ oslo.log>=3.36.0 # Apache-2.0 paramiko>=2.0.0 # LGPLv2.1+ pyOpenSSL>=18.0.0 # Apache-2.0 setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL +six>=1.11.0 # MIT diff --git a/scripts/collect-test-info.sh b/scripts/collect-test-info.sh index 8ae987f..39c2248 100755 --- a/scripts/collect-test-info.sh +++ b/scripts/collect-test-info.sh @@ -18,7 +18,7 @@ pip freeze > "$LOG_LOCATION/pip/freeze-default.log" if which pip3 2> /dev/null; then pip3 freeze > "$LOG_LOCATION/pip/freeze-pip3.log" fi -if [ -n "$VENV" ]; then +if [ -n "${VENV:-}" ]; then $VENV/bin/pip freeze > "$LOG_LOCATION/pip/freeze-venv.log" fi diff --git a/scripts/install-deps.sh b/scripts/install-deps.sh index 4bd61a2..e372fd2 100644 --- a/scripts/install-deps.sh +++ b/scripts/install-deps.sh @@ -4,7 +4,7 @@ set -eu declare -A PKG_MAP # workaround: for latest bindep to work, it needs to use en_US local -export LANG=c +export LANG=en_US.UTF-8 CHECK_CMD_PKGS=( gcc @@ -174,14 +174,15 @@ if [[ $(readlink -f /etc/alternatives/pip) =~ "pip3" ]]; then sudo -H update-alternatives --remove pip $(readlink -f /etc/alternatives/pip) fi -if ! which pip; then - wget -O /tmp/get-pip.py https://bootstrap.pypa.io/3.2/get-pip.py +if ! "${PYTHON}" -m pip > /dev/null; then + wget -O /tmp/get-pip.py https://bootstrap.pypa.io/3.4/get-pip.py sudo -H -E ${PYTHON} /tmp/get-pip.py fi -PIP=$(which pip) +PIP="${PYTHON} -m pip" -sudo -H -E ${PIP} install "pip>6.0" +# NOTE(dtantsur): 9.0.0 introduces --upgrade-strategy. +sudo -H -E ${PIP} install --upgrade "pip>9.0" # upgrade setuptools, as latest version is needed to install some projects sudo -H -E ${PIP} install --upgrade --force setuptools @@ -191,7 +192,7 @@ if [ "$OS_FAMILY" == "RedHat" ]; then sudo -H -E ${PIP} install --ignore-installed pyparsing ipaddress fi -sudo -H -E ${PIP} install -r "$(dirname $0)/../requirements.txt" +sudo -H -E ${PIP} install -r "$(dirname $0)/../requirements.txt" -c ${UPPER_CONSTRAINTS_FILE:-https://releases.openstack.org/constraints/upper/stein} # Install the rest of required packages using bindep sudo -H -E ${PIP} install bindep diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 83ffcd5..30e0c18 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -7,9 +7,12 @@ - release-notes-jobs-python3 check: jobs: - - bifrost-integration-tinyipa-ubuntu-xenial - - bifrost-integration-tinyipa-keystone-ubuntu-xenial - - bifrost-integration-tinyipa-opensuse-15 + - bifrost-integration-tinyipa-ubuntu-xenial: + voting: false + - bifrost-integration-tinyipa-keystone-ubuntu-xenial: + voting: false + - bifrost-integration-tinyipa-opensuse-15: + voting: false # Non-voting jobs - bifrost-integration-dhcp-ubuntu-xenial: voting: false @@ -23,12 +26,9 @@ voting: false - bifrost-integration-dibipa-debian-opensuse-15: voting: false - - bifrost-integration-tinyipa-centos-7: - voting: false + - bifrost-integration-tinyipa-centos-7 - openstack-tox-lower-constraints gate: jobs: - - bifrost-integration-tinyipa-ubuntu-xenial - - bifrost-integration-tinyipa-keystone-ubuntu-xenial - - bifrost-integration-tinyipa-opensuse-15 + - bifrost-integration-tinyipa-centos-7 - openstack-tox-lower-constraints