some services don't deploy cleanly on bare_metal if there are other services on same host

Bug #1491882 reported by Darren Birkett
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Invalid
Undecided
Unassigned
Juno
Fix Released
Medium
Darren Birkett
Kilo
Invalid
Undecided
Unassigned
Trunk
Invalid
Undecided
Unassigned

Bug Description

Example:

Try and deploy cinder-volume service on bare_metal, on the same host as nova compute (which has nova and neutron installed on the bare metal host already). When you run the plays. It will try and install the cinder sha, using the neutron service name:

TASK: [openstack_common | Install service source] *****************************
failed: [533816-node20] => {"ansible_job_id": "389040967562.11665", "attempts": 5, "changed": false, "cmd": "/usr/local/bin/pip install /opt/neutron_22ad32603ca7fd9a6e8f66f36bb52350a6064558", "failed": true, "finished": 1} <<<<<<<<<<<<<<<
msg: Task failed as maximum retries was encountered
<job 389040967562.11665> FAILED on 533816-node20
<job 389040967562.5717> polling, 1795s remaining
<job 389040967562.5461> polling, 1795s remaining
<job 389040967562.5346> polling, 1795s remaining
changed: [533814-node18_cinder_api_container-448ea5d3]
changed: [533813-node17_cinder_api_container-2c1891a2]
changed: [533815-node19_cinder_api_container-2dac840d]
failed: [533816-node20] => {"ansible_job_id": "389040967562.11665", "attempts": 5, "changed": false, "cmd": "/usr/local/bin/pip install /opt/neutron_22ad32603ca7fd9a6e8f66f36bb52350a6064558", "failed": true, "finished": 1}
msg: Task failed as maximum retries was encountered
<job 389040967562.5717> finished on 533814-node18_cinder_api_container-448ea5d3
<job 389040967562.11665> FAILED on 533816-node20
<job 389040967562.5461> finished on 533813-node17_cinder_api_container-2c1891a2
<job 389040967562.5346> finished on 533815-node19_cinder_api_container-2dac840d

root@533816-node20:/opt# ll /opt
total 1408
drwxr-xr-x 5 root root 4096 Sep 3 13:06 ./
drwxr-xr-x 23 root root 4096 Sep 3 12:29 ../
drwxr-xr-x 9 root root 4096 Sep 3 13:08 cinder_22ad32603ca7fd9a6e8f66f36bb52350a6064558/
-rw-r--r-- 1 root root 1420671 Sep 2 11:46 get-pip.py
drwxr-xr-x 9 root root 4096 Sep 3 11:03 neutron_90f17df0238303593674a58d7286de1fa395e0d3/
drwxr-xr-x 9 root root 4096 Sep 3 10:57 nova_cc6c50ee23f336d08e4fe833070943c0025a205d/

Note how it is trying to install neutron_22ad32603ca7fd9a6e8f66f36bb52350a6064558/, rather than cinder_22ad32603ca7fd9a6e8f66f36bb52350a6064558/

This is how I got around the issue (including inventory/group_vars/cinder_all.yml explicitly ensures that the service name that's used in the container common play is set to cinder):

diff --git a/rpc_deployment/playbooks/openstack/cinder-common.yml b/rpc_deployment/playbooks/openstack/cinder-common.yml
index 560b33e..3e92e68 100644
--- a/rpc_deployment/playbooks/openstack/cinder-common.yml
+++ b/rpc_deployment/playbooks/openstack/cinder-common.yml
@@ -24,4 +24,5 @@
     - galera_client_cnf
   vars_files:
     - vars/repo_packages/cinder.yml
- - vars/openstack_service_vars/cinder_api.yml
\ No newline at end of file
+ - vars/openstack_service_vars/cinder_api.yml
+ - inventory/group_vars/cinder_all.yml

description: updated
Changed in openstack-ansible:
assignee: nobody → Darren Birkett (darren-birkett)
Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :
Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :

Marking as invalid for Kilo/Master as the vars structures were changed in Kilo which negates this issue.

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

Reviewed: https://review.openstack.org/221242
Committed: https://git.openstack.org/cgit/stackforge/os-ansible-deployment/commit/?id=aea3682044350545a2b934f4ee950dfdc04d290f
Submitter: Jenkins
Branch: juno

commit aea3682044350545a2b934f4ee950dfdc04d290f
Author: Darren Birkett <email address hidden>
Date: Tue Sep 8 11:33:22 2015 +0100

    include cinder_all group vars file in cinder-* playbooks

    If we don't explicitly set cinder as the service name, and then try and
    install cinder onto a host that already has other services (such as
    when you're installing cionder-volume ontobare metal where other
    services exist), then the cinder plays get run with 'something else' as
    the service name. i.e., if installing ciner-volume onto a compute host
    that has nova and neutron, then the cinder plays get run with neutron
    as the service name.

    This commit explicitly includes the cinder_all groups vars file, which
    itself explicitly sets cinder as the service name.

    Change-Id: Ibf0d68445400ce24513b067691b80e10af9806c4
    Closes-Bug: #1491882

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.