Comment 36 for bug 1285449

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

Reviewed: https://review.openstack.org/77409
Committed: https://git.openstack.org/cgit/stackforge/fuel-library/commit/?id=2301fc0e637c8739d12dbb582db306bfa44de817
Submitter: Jenkins
Branch: master

commit 2301fc0e637c8739d12dbb582db306bfa44de817
Author: Dmitry Borodaenko <email address hidden>
Date: Sun Mar 2 00:00:49 2014 -0800

    Set rabbit_hosts to a list of controllers

    Connecting to RabbitMQ via HAProxy results in hung AMQP sessions after
    controller failover or VIP move. To work around this problem, OpenStack
    services have to be configured to connect directly to RabbitMQ services
    on controllers nodes via rabbit_hosts variable, which makes impl_kombu
    cycle through the listed hosts when attempting to reconnect. On
    controller nodes, preference is given to the local RabbitMQ service on
    the same controller node.

    AMQP client configuration for all OpenStack components is centralized in
    osnailyfacter and propagated through Puppet classes in a consistent
    manner. The exception is Neutron that uses its own
    sanitize_neutron_config() function to parse configuration from
    osnailyfacter. That function was extended to generate AMQP hosts list
    consistently with the above, and fixed to correctly sanitize instances
    of Array subclasses.

    No changes were made to Murano manifests since it has its own RPC
    implementation that is inconsistent with the rest of the OpenStack.

    In addition to AMQP client configuration, crm configuration is modified
    to set flush_routes flag and resource stickiness for all virtual IP
    addresses. The flush_routes flag reduces the probability of connections
    becoming hung on nodes that a VIP moves away from, and resource
    stickiness prevent unnecessary movement of VIP resources between
    controllers.

    Change-Id: Ib839032b2f1aa820b4afc64b0a9badf13414d488
    Partial-bug: #1285449