Mismatch between Cinder HA and non-HA docker volumes

Bug #1748290 reported by Alan Bishop
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Alan Bishop

Bug Description

The docker volumes for the cinder-{volume,backup} containers differ depending
on whether the services are under pacemaker control (HA).

- For non-HA, the docker volumes are controlled by heat templates [1], [2].
- For HA, THT specifies the volumes used when the pacemaker bundles are
  created, but those are not the docker volumes when the containers run.
  That list is hard-coded in puppet-tripleo [3], [4].

This situation allows the HA and non-HA list to diverge (see [5]), but the
problem goes deeper. The CinderVolume service supports a
CinderVolumeOptVolumes parameter that allows the user to specify a list
of additional docker volumes. This feature is critical for getting some
Cinder drivers to function in a container. However, the feature is not
supported in puppet-tripleo, so any CinderVolumeOptVolumes are missing in
the cinder-volume HA container.

The problem can be resolved by passing the list of volumes from THT to
puppet-tripleo. This will ensure a common list of volumes is used in HA and
non-HA deployments, and make the CinderVolumeOptVolumes feature work with
HA.

[1] https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/cinder-volume.yaml#L151
[2] https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/cinder-backup.yaml#L132
[3] https://github.com/openstack/puppet-tripleo/blob/master/manifests/profile/pacemaker/cinder/volume_bundle.pp#L81
[4] https://github.com/openstack/puppet-tripleo/blob/master/manifests/profile/pacemaker/cinder/backup_bundle.pp#L81
[5] https://bugs.launchpad.net/tripleo/+bug/1747326

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (master)

Fix proposed to branch: master
Review: https://review.openstack.org/542424

Changed in tripleo:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.openstack.org/542425

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

Reviewed: https://review.openstack.org/542424
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=8bff507abc308edea6c129f2a083fe370f0b2812
Submitter: Zuul
Branch: master

commit 8bff507abc308edea6c129f2a083fe370f0b2812
Author: Alan Bishop <email address hidden>
Date: Thu Feb 8 15:33:25 2018 -0500

    Avoid hard-coded settings in Cinder HA containers

    Add parameters for controlling the docker container settings used to
    create the cinder-volume and cinder-backup pacemaker bundles. The
    parameters eliminate the need to hard-code the list of docker volumes
    and environment variables, making it possible to control the values
    using hiera data.

    For backward compatibility, the previous hard-coded values are used
    when no parameter inputs are supplied.

    Partial-Bug: #1748290
    Change-Id: I4ba0d78ad17183b97290b853a6c103e55bc8977c

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

Reviewed: https://review.openstack.org/542425
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=f89d8d2077daac98f255c6750b742a87c0b7f928
Submitter: Zuul
Branch: master

commit f89d8d2077daac98f255c6750b742a87c0b7f928
Author: Alan Bishop <email address hidden>
Date: Thu Feb 8 15:48:26 2018 -0500

    Unify the Cinder HA and non-HA docker configurations

    Relocate the list of docker volumes used by the CinderVolume and
    CinderBackup services so that a common list can be used in both HA and
    non-HA deployments. For HA, the list is passed to puppet-tripleo via
    hiera data.

    Closes-Bug: #1748290
    Depends-On: I4ba0d78ad17183b97290b853a6c103e55bc8977c
    Change-Id: I41d6ff1dc60a799cec18fbeb64c8b63961953388

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/545835

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/545836

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (stable/pike)

Reviewed: https://review.openstack.org/545835
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=c98f93ef63267dfb49224ae67573db4bc417572b
Submitter: Zuul
Branch: stable/pike

commit c98f93ef63267dfb49224ae67573db4bc417572b
Author: Alan Bishop <email address hidden>
Date: Thu Feb 8 15:33:25 2018 -0500

    Avoid hard-coded settings in Cinder HA containers

    Add parameters for controlling the docker container settings used to
    create the cinder-volume and cinder-backup pacemaker bundles. The
    parameters eliminate the need to hard-code the list of docker volumes
    and environment variables, making it possible to control the values
    using hiera data.

    For backward compatibility, the previous hard-coded values are used
    when no parameter inputs are supplied.

    Partial-Bug: #1748290
    Change-Id: I4ba0d78ad17183b97290b853a6c103e55bc8977c
    (cherry picked from commit 8bff507abc308edea6c129f2a083fe370f0b2812)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/pike)

Reviewed: https://review.openstack.org/545836
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=3876ec48c7568ba8e5516ce18a5ab696393d19a8
Submitter: Zuul
Branch: stable/pike

commit 3876ec48c7568ba8e5516ce18a5ab696393d19a8
Author: Alan Bishop <email address hidden>
Date: Thu Feb 8 15:48:26 2018 -0500

    Unify the Cinder HA and non-HA docker configurations

    Relocate the list of docker volumes used by the CinderVolume and
    CinderBackup services so that a common list can be used in both HA and
    non-HA deployments. For HA, the list is passed to puppet-tripleo via
    hiera data.

    Closes-Bug: #1748290
    Depends-On: I4ba0d78ad17183b97290b853a6c103e55bc8977c
    Change-Id: I41d6ff1dc60a799cec18fbeb64c8b63961953388
    (cherry picked from commit f89d8d2077daac98f255c6750b742a87c0b7f928)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 8.0.0.0rc1

This issue was fixed in the openstack/tripleo-heat-templates 8.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 7.0.10

This issue was fixed in the openstack/tripleo-heat-templates 7.0.10 release.

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.