Comment 18 for bug 1264388

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

Reviewed: https://review.openstack.org/65591
Committed: https://git.openstack.org/cgit/stackforge/fuel-library/commit/?id=8ebe363bca2a25b443d57d171f96b5cacccf9cc4
Submitter: Jenkins
Branch: master

commit 8ebe363bca2a25b443d57d171f96b5cacccf9cc4
Author: Dmitry Borodaenko <email address hidden>
Date: Fri Jan 3 12:41:31 2014 -0800

    Finish configuring a service before adding it to HAProxy

    Starting an HAProxy instance for ceilometer-api (and possibly other
    similar services) will fail on Ubuntu if the package for that service is
    installed but not yet configured: the service is still running in its
    default configuration binding to 0.0.0.0 instead of just the management
    IP, preventing HAProxy from binding to the management VIP on the same
    port.

    To prevent a dependency loop (Ceilometer, like most other OpenStack
    services, depends on MySQL), Galera dependencies have to be narrowed
    down from the whole of HAProxy setup to just the registration of MySQL
    service with it. HAProxy related parts of controller_ha and galera
    classes are refactored to support reloading HAProxy for each service
    independently, and to group together HAProxy options specific to
    individual services.

    To support granular addition of services into HAProxy, haproxy module
    updated to puppetlabs-haproxy 1.0.1 (0d4c50e) and refactored to split
    haproxy.cfg into multiple files under /etc/haproxy/conf.d using include
    directive as implemented in the patch by Brane F. Gračnar:

    http://marc.info/?l=haproxy&m=129235503410444

    The define_backends option for haproxy class introduced in Fuel is
    renamed to define_backups and ported to the new haproxy module.

    Support for selecting exported haproxy::balancermember resources by tag
    is dropped since it is no longer used (and not relevant since Fuel no
    longer runs puppetmaster).

    An ordered list of controllers is passed from osnailyfacter::cluster_ha
    to openstack::controller_ha so that haproxy::balancermember always sets
    the primary controller as the active server in failover configurations.

    HAProxy is now configured as part the "main" stage, so "cluster_head"
    stage is no longer necessary. MySQL and RabbitMQ listen blocks are
    populated before HAProxy is first started, other listen blocks are added
    incrementally with HAProxy being reloaded via OCF. In HA mode, all
    dbsync invokations now require HAProxy MySQL (Ceilometer and Heat were
    missing), and all OpenStack services now require HAProxy Keystone.

    HAProxy configuration for RadosGW is changed from active-passive
    failover to active-active load balancing between controller nodes.
    Backend IP addresses for RadosGW servers are changed from storage to
    internal.

    HAProxy mode option handling is cleaned up so that the default "http"
    mode now propagates properly for listening services that do not specify
    "tcp" mode explicitly.

    Syslog facility for Ceilometer changed from SYSLOG to LOG_SYSLOG to
    catch up to the cleanup done in LP #1263675.

    Added "--no-class_inherits_from_params_class-check" to puppet-lint
    options to prevent it from issuing a warning that is not relevant for
    Puppet versions 2.7 and newer.

    Change-Id: I5fa03dbc3f7e3a7dfa57c226a5396f652c111997
    Closes-bug: #1264388
    Closes-bug: #1278603