cinder udev entry has empty whitespace

Bug #1497681 reported by Kevin Carter
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Medium
Nolan Brubaker

Bug Description

In this commit "389b0f0dd886388fefae0cece2844c35da28e405" the cinder volumes lxc container config was updated to support udev within the container. In that commit the udev entry was added to the container using the following syntax:

+ - "lxc.mount.entry = udev dev devtmpfs defaults 0 0"

In the old lxc module thats being carried in Juno when the module adds an entry to config it pads space on the left and right side of the "=" sign. Sadly this causes an issue in future releases where a duplicate config entry is created causing the cinder volume contianer to fail to start.

The duplicate config is as follows:

+ - "lxc.mount.entry = udev dev devtmpfs defaults 0 0"
+ - "lxc.mount.entry..=..udev dev devtmpfs defaults 0 0"
#### I added .. to the mount entry to should the spaces, Launchpad removes extra white space on submission.

To fix this issue in Juno which will ensure its stable for future releases the padding should be removed from the container config and a pre task should be added to the rpc_deployment/playbooks/openstack/cinder-volume.yml file to ensure that the incorrect container config is removed prior to having it re-added. The pretask would have to delegate to the host and could use the lininfile module to remove the offending line.

Effected file for change:
rpc_deployment/vars/config_vars/container_config_cinder_volume.yml

Note that in the upgrade process this issue has been addressed in the pending restructuring of the Kilo Upgrade process as found here: https://review.openstack.org/#/c/224137

Tags: in-juno
description: updated
description: updated
Changed in openstack-ansible:
assignee: nobody → Hugh Saunders (hughsaunders)
status: Confirmed → In Progress
Revision history for this message
Hugh Saunders (hughsaunders) wrote :

I'm going to have to pass this bug on as I'll be off for the next few weeks.

Changed in openstack-ansible:
status: In Progress → Confirmed
assignee: Hugh Saunders (hughsaunders) → nobody
Changed in openstack-ansible:
milestone: 10.1.15 → 10.2.0
Changed in openstack-ansible:
assignee: nobody → Nolan Brubaker (nolan-brubaker)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible (juno)

Fix proposed to branch: juno
Review: https://review.openstack.org/231154

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible (juno)

Reviewed: https://review.openstack.org/231154
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=f0db75ce27649e092fb5c3f651dbf07cb3f9a8d0
Submitter: Jenkins
Branch: juno

commit f0db75ce27649e092fb5c3f651dbf07cb3f9a8d0
Author: Nolan Brubaker <email address hidden>
Date: Mon Oct 5 15:42:21 2015 -0400

    Ensure cinder container udev line isn't duplicated

    With the included version of the lxc module in Juno, the udev mount line
    would have 2 spaces on either side of the = sign. While this worked, it
    conflicted with upgrades, which inserted the same line, except with 1
    space on either side of the = sign. Having two lines that were
    functionally equivalent meant that the container cannot restart.

    This patch ensures that the correct line is always present, so that when
    an upgrade happens the udev mount entry is not duplicated.

    Closes-Bug #1497681

    Change-Id: I43957c78478e7f01be271576ca9fcf4ac7828f72

tags: added: in-juno
Changed in openstack-ansible:
status: Confirmed → Fix Committed
milestone: 10.2.0 → 10.1.16
Changed in openstack-ansible:
status: Fix Committed → Fix Released
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.