gate: change ansible to run in virtual environment

Bug #1431324 reported by Jesse Pretorius
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Wishlist
Kevin Carter

Bug Description

Currently gate-check-commit builds an AIO. The AIO bootstraps ansible on the same server that also runs all the playbooks, resulting in the compute and storage roles running on the same host as is used for running ansible.

This introduces some differences to the way things happen in the real world - specifically related to the ansible requirements which are installed on the server. As a result we are possibly missing out on catching some bugs related to differing pip versions or other conflicts introduced by the ansible pip requirements.

I suggest that we install ansible in a seperated python virtual environment to try and isolate this effect.

Revision history for this message
Nolan Brubaker (nolan-brubaker) wrote :

Is this suggestion just for AIOs?

Also, how would this affect projects embedding os-ansible-deployment?

tags: added: impacts-doc
Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :

My thinking is that it should be setup within bootstrap-ansible, but default to "no" with an environment variable. The bootstrap-aio should then enable it. This should be used whenever the ansible deployment server is part of the environment, even for the multi-node gate checks.

Revision history for this message
Nolan Brubaker (nolan-brubaker) wrote :

So for an actual install, the deployer would execute ansible from within the venv, provided they were using, say, and infra node for they deployment host?

This seems helpful, just trying to clarify impact.

Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :

Yes, that's correct. The ansible bootstrap should, if the option is enabled, install its requirements into the venv and execute from inside it.

no longer affects: openstack-ansible/juno
no longer affects: openstack-ansible/kilo
no longer affects: openstack-ansible/trunk
Changed in openstack-ansible:
assignee: Jesse Pretorius (jesse-pretorius) → nobody
tags: added: low-hanging-fruit
Changed in openstack-ansible:
assignee: nobody → Hector Gonzalez (theizaakk)
Changed in openstack-ansible:
assignee: Hector Gonzalez (theizaakk) → nobody
Changed in openstack-ansible:
assignee: nobody → Kevin Carter (kevin-carter)
milestone: none → newton-1
Changed in openstack-ansible:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on openstack-ansible (master)

Change abandoned by Kevin Carter (cloudnull) (<email address hidden>) on branch: master
Review: https://review.openstack.org/304840
Reason: abandoned for https://review.openstack.org/#/c/321036/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible (master)

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

commit c904de2db512728a4cd479fbd72bb19b432d08f4
Author: Kevin Carter <email address hidden>
Date: Wed May 25 09:49:50 2016 -0500

    Isolate Ansible from the deployment host

    This change allows Ansible to be installed and executed from within
    a virtual environment.

    Closes-Bug: 1431324
    Implements: blueprint ansible-2-1-support
    Change-Id: I2fb19dd8218753f75bd7550ed7ba9b79f777083d
    Signed-off-by: Kevin Carter <email address hidden>

Changed in openstack-ansible:
status: In Progress → Fix Released
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/openstack-ansible 14.0.0.0b1

This issue was fixed in the openstack/openstack-ansible 14.0.0.0b1 development milestone.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/openstack-ansible 14.0.0.0b2

This issue was fixed in the openstack/openstack-ansible 14.0.0.0b2 development milestone.

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.