Bug 1543641 - Cinder HA and non-HA containers are not configured the same
Summary: Cinder HA and non-HA containers are not configured the same
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 12.0 (Pike)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: z2
: 12.0 (Pike)
Assignee: Alan Bishop
QA Contact: Tzach Shefi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-08 22:01 UTC by Alan Bishop
Modified: 2018-03-28 17:17 UTC (History)
12 users (show)

Fixed In Version: openstack-tripleo-heat-templates-7.0.9-3.el7ost puppet-tripleo-7.4.8-2.el7ost
Doc Type: Bug Fix
Doc Text:
Previously, the TripleO Heat Templates (THT) and the puppet-tripleO configured the cinder-volume and cinder-backup containers differently depending on whether the services were deployed for HA (with pacemaker). As a result, features added to THT, for example, the CinderVolumeOptVolume parameter was not implemented in the corresponding puppet-tripleO code, causing disparity in how the services were deployed. With this update, the THT and puppet-tripleO code have been updated to allow the container configuration to be controlled from a single location in the THT. As a result, the cinder-volume and cinder-backup containers are launched the same way in HA and non-HA deployments.
Clone Of:
Environment:
Last Closed: 2018-03-28 17:16:42 UTC
Target Upstream Version:


Attachments (Terms of Use)
Docker inspect HA and none HA of Cinder volume and backup (6.92 KB, application/x-gzip)
2018-03-13 20:23 UTC, Tzach Shefi
no flags Details


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:0602 None None None 2018-03-28 17:17:11 UTC
OpenStack gerrit 542424 None None None 2018-02-08 22:03:51 UTC
OpenStack gerrit 542425 None None None 2018-02-08 22:05:03 UTC
OpenStack gerrit 545835 None None None 2018-02-21 18:11:44 UTC
OpenStack gerrit 545836 None None None 2018-02-21 18:12:47 UTC
Launchpad 1748290 None None None 2018-02-08 22:01:34 UTC

Description Alan Bishop 2018-02-08 22:01:35 UTC
Description of problem:

See https://bugs.launchpad.net/tripleo/+bug/1748290 for a full explanation. The short version is THT controls the Cinder container configurations in non-HA deployments, but puppet-tripleo has its own set of hard-coded settings it uses in HA deployments.

The big issue for Cinder is the CinderVolumeOptVolumes THT parameter is critical in order for partners to containerize their Cinder drivers. That value isn't honored by puppet-tripleo, and so any CinderVolumeOptVolumes will be missing from the cinder-volume HA container.

I'm reporting this against OSP-13 because Cinder is not containerized in OSP-12.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Alan Bishop 2018-02-21 18:11:45 UTC
I'm retargeting this to OSP-12 because the upstream patches have been backported to stable/pike.

Comment 14 Tzach Shefi 2018-03-12 08:50:18 UTC
Forgot to set needinfo flag on #13

Comment 15 Alan Bishop 2018-03-12 12:39:43 UTC
Take a look at https://github.com/openstack/tripleo-heat-templates/blob/stable/pike/docker/services/cinder-common.yaml and note the following outputs:

- cinder_volume_volumes (L50)
- cinder_volume_environment (L68)
- cinder_backup_volumes (L76)
- cinder_backup_environment (L93)

These define the list of docker volumes and docker environment variables that should be used in both HA and non-HA deployments. You can test this by doing each type of deployment, running "docker inspect" on the cinder-volume and cinder-backup containers, and noting the docker volume mounts and environment variables. The HA and non-HA sets should match.

You can also experiment with the CinderVolumeOptVolumes and CinderVolumeOptEnvVars THT parameters. Perhaps add something like this to a new environment file, or to an existing environment file such as your containerized-cinder.yaml:

parameter_defaults:
  CinderVolumeOptVolumes: /etc/cinder/opt-dir:/etc/cinder/opt-dir
  CinderVolumeOptEnvVars: FOO=BAR

CinderVolumeOptVolumes will create an additional docker volume mount that will map a directory on the host to the cinder-volume container. Docker will automatically create the directory for you, so you should see a /etc/cinder/opt-dir on the host and inside the cinder-volume container.

CinderVolumeOptEnvVars will cause an additional environment variable FOO to be assigned the value BAR.

Comment 16 Tzach Shefi 2018-03-13 20:22:14 UTC
Verified on:
openstack-tripleo-heat-templates-7.0.9-6.el7ost.noarch
puppet-tripleo-7.4.8-4.el7ost.noarch

For previous bugs I had deployed osp12 with containerized Cinder in both HA and none HA deployments, both of them managed to deploy.
Cinder create and backup works on both. 

Run docker inspect on volume and backup on both HA and none HA. 
Attaching output, docker volume mounts and environment variables do match for HA and none HA.

Comment 17 Tzach Shefi 2018-03-13 20:23:02 UTC
Created attachment 1407718 [details]
Docker inspect HA and none HA of Cinder volume and backup

Comment 20 errata-xmlrpc 2018-03-28 17:16:42 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://access.redhat.com/errata/RHSA-2018:0602


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