Mismatch between Cinder HA and non-HA docker volumes

Bug #1748290 reported by Alan Bishop on 2018-02-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
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

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

Changed in tripleo:
status: New → In Progress

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

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

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

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)

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

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  Edit
Everyone can see this information.

Other bug subscribers