bootstrap-ansible fails in stable newton

Bug #1658948 reported by Jean-Philippe Evrard on 2017-01-24
20
This bug affects 5 people
Affects Status Importance Assigned to Milestone
openstack-ansible
Critical
Jesse Pretorius

Bug Description

Today I got issues with a fresh ubuntu 14.04 install of osa, branch stable/newton.

See the log below.

I suspect an update of the ansible install source changed ansible requirements which would be conflicting with our pins. It's just a gut feeling, so worth checking in more details!

description: updated
summary: - bootstrap-ansible fails in stable/newton
+ bootstrap-ansible fails in stable newton
Changed in openstack-ansible:
assignee: nobody → Jesse Pretorius (jesse-pretorius)
status: New → In Progress
Changed in openstack-ansible:
importance: Undecided → Critical

Patches submitted to resolve this issue:

master (ocata): https://review.openstack.org/424283
newton: https://review.openstack.org/424416
mitaka: https://review.openstack.org/424684

Reviewed: https://review.openstack.org/424283
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=253ea10d266f5ce4a11249ed3c2f1fe3568a8ace
Submitter: Jenkins
Branch: master

commit 253ea10d266f5ce4a11249ed3c2f1fe3568a8ace
Author: Matthew Thode <email address hidden>
Date: Mon Jan 23 12:33:49 2017 -0600

    Apply global-pins as constraints to ensure complete pinning

    The current pinning method for pip/setuptools/wheel works for the
    initial setup of a host or python venv. However, when a python
    package which has one of these in its requirements is installed
    onto the host or into the venv and the '--upgrade' option is given
    to pip, the package will be upgraded to the latest version available
    within the given constraints.

    As OpenStack's requirements management process does not cater for
    the pip, setuptools or wheel packages we need to ensure that all
    python install tasks prior to the repo being built use our global
    pins as a constraint in addition to the OpenStack uppser constraints.

    As pip's --constraints option can only take a file as an argument
    we have to copy the global pins file to the target which will use
    it. This file can be removed from the host once the repo is built.

    Related-Bug: #1658773
    Closes-Bug: #1658948
    Change-Id: Iccbb2e4a126a1cc7a4c94ab41b7ce8ef54d89990

Changed in openstack-ansible:
status: In Progress → Fix Released

Reviewed: https://review.openstack.org/424684
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=c640fcf7d972749eac9656641a5a965570d1410c
Submitter: Jenkins
Branch: stable/mitaka

commit c640fcf7d972749eac9656641a5a965570d1410c
Author: Matthew Thode <email address hidden>
Date: Mon Jan 23 12:33:49 2017 -0600

    Apply global-pins as constraints to ensure complete pinning

    The current pinning method for pip/setuptools/wheel works for the
    initial setup of a host or python venv. However, when a python
    package which has one of these in its requirements is installed
    onto the host or into the venv and the '--upgrade' option is given
    to pip, the package will be upgraded to the latest version available
    within the given constraints.

    As OpenStack's requirements management process does not cater for
    the pip, setuptools or wheel packages we need to ensure that all
    python install tasks prior to the repo being built use our global
    pins as a constraint in addition to the OpenStack uppser constraints.

    As pip's --constraints option can only take a file as an argument
    we have to copy the global pins file to the target which will use
    it. This file can be removed from the host once the repo is built.

    Related-Bug: #1658773
    Closes-Bug: #1658948
    Change-Id: Iccbb2e4a126a1cc7a4c94ab41b7ce8ef54d89990
    (cherry picked from commit 253ea10d266f5ce4a11249ed3c2f1fe3568a8ace)

tags: added: in-stable-mitaka

Reviewed: https://review.openstack.org/424416
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=3859663a6bb4b15705185b6b233e4b66e5728a89
Submitter: Jenkins
Branch: stable/newton

commit 3859663a6bb4b15705185b6b233e4b66e5728a89
Author: Matthew Thode <email address hidden>
Date: Mon Jan 23 12:33:49 2017 -0600

    Apply global-pins as constraints to ensure complete pinning

    The current pinning method for pip/setuptools/wheel works for the
    initial setup of a host or python venv. However, when a python
    package which has one of these in its requirements is installed
    onto the host or into the venv and the '--upgrade' option is given
    to pip, the package will be upgraded to the latest version available
    within the given constraints.

    As OpenStack's requirements management process does not cater for
    the pip, setuptools or wheel packages we need to ensure that all
    python install tasks prior to the repo being built use our global
    pins as a constraint in addition to the OpenStack uppser constraints.

    As pip's --constraints option can only take a file as an argument
    we have to copy the global pins file to the target which will use
    it. This file can be removed from the host once the repo is built.

    Combined backport of:
    - https://review.openstack.org/424283
    - https://review.openstack.org/424540

    Closes-Bug: #1658773
    Closes-Bug: #1658948
    Change-Id: Iccbb2e4a126a1cc7a4c94ab41b7ce8ef54d89990
    (cherry picked from commit 253ea10d266f5ce4a11249ed3c2f1fe3568a8ace)

tags: added: in-stable-newton

This issue was fixed in the openstack/openstack-ansible 15.0.0.0b3 development milestone.

This issue was fixed in the openstack/openstack-ansible 13.3.13 release.

Download full text (53.8 KiB)

Sadly, the feature add attchment doesn't work today, and I want to cleanup the gist above.

Here was its content:

root@evrardjp-artifacted:/opt/openstack-ansible# scripts/bootstrap-ansible.sh
+ export HTTP_PROXY=
+ HTTP_PROXY=
+ export HTTPS_PROXY=
+ HTTPS_PROXY=
+ export ANSIBLE_PACKAGE=git+https://github.com/ansible/ansible@44026f8d7befa4d25c8ee8b3bd3efa3bdb240d62
+ ANSIBLE_PACKAGE=git+https://github.com/ansible/ansible@44026f8d7befa4d25c8ee8b3bd3efa3bdb240d62
+ export ANSIBLE_ROLE_FILE=ansible-role-requirements.yml
+ ANSIBLE_ROLE_FILE=ansible-role-requirements.yml
+ export SSH_DIR=/root/.ssh
+ SSH_DIR=/root/.ssh
+ export DEBIAN_FRONTEND=noninteractive
+ DEBIAN_FRONTEND=noninteractive
++ awk '/requirements_git_install_branch:/ {print $2}' playbooks/defaults/repo_packages/openstack_services.yml
+ export 'UPPER_CONSTRAINTS_FILE=http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?id=4956f128ef9210a76f0943cb6cb5364ba78dd537'
+ UPPER_CONSTRAINTS_FILE='http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?id=4956f128ef9210a76f0943cb6cb5364ba78dd537'
+ export ANSIBLE_ROLE_FETCH_MODE=galaxy
+ ANSIBLE_ROLE_FETCH_MODE=galaxy
+ VIRTUALENV_OPTIONS=--always-copy
++ dirname scripts/bootstrap-ansible.sh
+ cd scripts/..
+ info_block 'Checking for required libraries.'
+ source scripts/scripts-library.sh
++ LINE=----------------------------------------------------------------------
++ MAX_RETRIES=5
++ ANSIBLE_PARAMETERS='-e gather_facts=False'
+++ date +%s
++ STARTTIME=1485251382
++ PIP_INSTALL_OPTIONS='pip==9.0.1 setuptools==32.3.1 wheel==0.29.0 '
++ COMMAND_LOGS=/openstack/log/ansible_cmd_logs
++ '[' -z '' ']'
+++ grep -c '^processor' /proc/cpuinfo
++ CPU_NUM=8
++ '[' 8 -lt 10 ']'
++ ANSIBLE_FORKS=8
++ trap 'exit_fail 273 0 '\''Received STOP Signal'\''' SIGHUP SIGINT SIGTERM
++ trap 'exit_fail 274 0' ERR
+++ id -u
++ '[' 0 '!=' 0 ']'
++ '[' '!' -d etc -a '!' -d scripts -a '!' -d playbooks ']'
++ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
++ export HOME=/root
++ HOME=/root
++ [[ -f /usr/local/bin/openstack-ansible.rc ]]
+ info_block 'Bootstrapping System with Ansible'
+ echo ----------------------------------------------------------------------
----------------------------------------------------------------------
+ print_info 'Bootstrapping System with Ansible'
+ PROC_NAME='- [ Bootstrapping System with Ansible ] -'
+ printf '\n%s%s\n' '- [ Bootstrapping System with Ansible ] -' -----------------------------

- [ Bootstrapping System with Ansible ] ------------------------------
+ echo ----------------------------------------------------------------------
----------------------------------------------------------------------
++ pwd
+ export OSA_CLONE_DIR=/opt/openstack-ansible
+ OSA_CLONE_DIR=/opt/openstack-ansible
++ readlink -f ansible-role-requirements.yml
+ ANSIBLE_ROLE_FILE=/opt/openstack-ansible/ansible-role-requirements.y...

description: updated

This issue was fixed in the openstack/openstack-ansible 14.0.7 release.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers