Bug 1353637 - External load balancer deployment fails with: Error: Could not find dependency Pacemaker::Resource::Ocf[openstack-core] for Pacemaker::Constraint::Base[openstack-core-then-httpd-constraint]
Summary: External load balancer deployment fails with: Error: Could not find dependenc...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 9.0 (Mitaka)
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: ga
: 9.0 (Mitaka)
Assignee: Giulio Fidente
QA Contact: Marius Cornea
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-07 15:43 UTC by Marius Cornea
Modified: 2016-08-16 04:21 UTC (History)
13 users (show)

Fixed In Version: openstack-tripleo-heat-templates-2.0.0-18.el7ost
Doc Type: Bug Fix
Doc Text:
The Overcloud uses a fake openstack-core resource to replace keystone (now accessed through httpd). However, the Overcloud did not create openstack-core when using an external load balancer. This caused puppet to fail when creating Pacemaker constraints that required openstack-core. This fix ensures creation of the openstack-core resource for any deployment configuration. The deployment succeeds and creates the needed constraints.
Clone Of:
Environment:
Last Closed: 2016-08-11 11:35:47 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:1599 normal SHIPPED_LIVE Red Hat OpenStack Platform 9 director Release Candidate Advisory 2016-08-11 15:25:37 UTC
OpenStack gerrit 339100 None None None 2016-07-07 15:59:32 UTC
Launchpad 1599913 None None None 2016-07-07 16:03:25 UTC

Description Marius Cornea 2016-07-07 15:43:15 UTC
Description of problem:

External load balancer deployment fails with: Error: Could not find dependency Pacemaker::Resource::Ocf[openstack-core] for Pacemaker::Constraint::Base[openstack-core-then-httpd-constraint]

Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-2.0.0-12.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Deploy overcloud:

openstack overcloud deploy --debug \
--templates \
--libvirt-type qemu \
--ntp-server clock.redhat.com \
--neutron-network-type vxlan \
--neutron-tunnel-types vxlan \
--control-scale 3 \
--control-flavor controller-d75f3dec-c770-5f88-9d4c-3fea1bf9c484 \--compute-scale 1 \
--compute-flavor compute-b634c10a-570f-59ba-bdbf-0c313d745a10 \
-e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml \
--ceph-storage-scale 1 \
--ceph-storage-flavor ceph-cf1f074b-dadb-5eb8-9eb0-55828273fab7 \
-e /home/stack/virt/ceph.yaml \
-e /home/stack/virt/network/network-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/external-loadbalancer-vip.yaml \
-e ~/external-lb.yaml \
--log-file overcloud_deployment_76.log &> overcloud_install.log


Actual results:
Deployment fails:
Error: Could not find dependency Pacemaker::Resource::Ocf[openstack-core] for Pacemaker::Constraint::Base[openstack-core-then-httpd-constraint] at /var/lib/heat-config/heat-config-puppet/e7aecd14-71e2-4d7b-a93c-fd9b45016c87.pp:1317


Expected results:
Deployment is successful.

Additional info:

In /usr/share/openstack-tripleo-heat-templates/puppet/manifests/overcloud_controller_pacemaker.pp the openstack-core resource creation appears to be conditioned by the enable_load_balancer variable which is set to false in /usr/share/openstack-tripleo-heat-templates/environments/external-loadbalancer-vip.yaml

  if $pacemaker_master {

    if $enable_load_balancer {

      include ::pacemaker::resource_defaults

      # Create an openstack-core dummy resource. See RHBZ 1290121
      pacemaker::resource::ocf { 'openstack-core':
        ocf_agent_name => 'heartbeat:Dummy',
        clone_params   => true,
      }

These are the resources that exist on the nodes at the failure time:

[root@overcloud-controller-0 ~]# pcs status
Cluster name: tripleo_cluster
Last updated: Thu Jul  7 15:42:47 2016		Last change: Thu Jul  7 14:36:08 2016 by root via crm_attribute on overcloud-controller-2
Stack: corosync
Current DC: overcloud-controller-0 (version 1.1.13-10.el7_2.2-44eb2dd) - partition with quorum
3 nodes and 15 resources configured

Online: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]

Full list of resources:

 Master/Slave Set: galera-master [galera]
     Masters: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
 Clone Set: memcached-clone [memcached]
     Started: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
 Clone Set: rabbitmq-clone [rabbitmq]
     Started: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
 Master/Slave Set: redis-master [redis]
     Masters: [ overcloud-controller-2 ]
     Slaves: [ overcloud-controller-0 overcloud-controller-1 ]
 Clone Set: mongod-clone [mongod]
     Started: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]

PCSD Status:
  overcloud-controller-0: Online
  overcloud-controller-1: Online
  overcloud-controller-2: Online

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

Comment 2 Jay Dobies 2016-07-12 13:18:36 UTC
Giulio - I'm assigning this back to you (I'm guessing it got moved when the component was changed). It looks very close to landing, so can you just make sure it passes CI and gets the +A necessary?

Comment 5 Marius Cornea 2016-07-20 21:09:31 UTC
I tested the patch[1] with downstream ospd9  and I couldn't reproduce this issue anymore.

[1] https://review.openstack.org/#/c/339100/2/puppet/manifests/overcloud_controller_pacemaker.pp

Comment 8 errata-xmlrpc 2016-08-11 11:35:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-1599.html


Note You need to log in before you can comment on or make changes to this bug.