Swift: rsync_module should not contain meta field as default

Bug #1862058 reported by Alexis Deberg
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
kolla-ansible
Fix Released
Medium
Alexis Deberg
Rocky
Fix Released
Medium
Mark Goddard
Stein
Fix Released
Medium
Mark Goddard
Train
Fix Released
Medium
Mark Goddard
Ussuri
Fix Released
Medium
Alexis Deberg

Bug Description

Quoting from Swift documentation (https://docs.openstack.org/swift/latest/overview_ring.html) regarding the "meta" field in the swift rings:

"A general-use field for storing additional information for the device. This information isn’t used directly by the server processes, but can be useful in debugging. For example, the date and time of installation and hardware manufacturer could be stored here."

The default should be to ignore that field and let the user chose if he wants to leverage it in the rsync_module or not.

Currently the templates are like:

- account.conf.j2
rsync_module = {replication_ip}:{meta}:account

- container.conf.j2
rsync_module = {replication_ip}:{meta}:container

- object.conf.j2
rsync_module = {replication_ip}:{meta}:object

Which will produce, assuming the meta field contains "the_metadata_text", rsync command like the folowing (may slightly vary according to other configurations bits):

rsync --recursive --whole-file --human-readable --xattrs --itemize-changes --ignore-existing --timeout=30 --contimeout=30 --bwlimit=0 --exclude=.*.[0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z] /srv/node/D3/objects/part1 /srv/node/D3/objects/part2 /srv/node/D3/objects/part3 192.168.0.10:the_metadata_text:object/D2/objects/target

There's no restriction on that "meta" field from the Swift point of view and the doc clearly states it's not to be processed server-side so using it with kolla-ansible may lead to broken replication.
It should be removed from the templates completely

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

Fix proposed to branch: master
Review: https://review.opendev.org/706303

Changed in kolla-ansible:
assignee: nobody → Alexis Deberg (adeberg)
status: New → In Progress
Mark Goddard (mgoddard)
Changed in kolla-ansible:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla-ansible (master)

Reviewed: https://review.opendev.org/706303
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=bbf58f57234683ca5a63c878bb483f676e6f2ce9
Submitter: Zuul
Branch: master

commit bbf58f57234683ca5a63c878bb483f676e6f2ce9
Author: Alexis Deberg <email address hidden>
Date: Thu Feb 6 10:13:26 2020 -0500

    Swift: remove meta field from rsync command

    Remove the {meta} from the default settings in the account, container
    and object services templates.

    Change-Id: I079fddf8feb020bed93bf44b8aaec0882823e15c
    Closes-Bug: #1862058

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

Fix proposed to branch: stable/train
Review: https://review.opendev.org/712428

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kolla-ansible (stable/stein)

Fix proposed to branch: stable/stein
Review: https://review.opendev.org/712429

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kolla-ansible (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.opendev.org/712430

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla-ansible (stable/train)

Reviewed: https://review.opendev.org/712428
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=31e8e2debf18b5fb8993da05746f048aef90e2b3
Submitter: Zuul
Branch: stable/train

commit 31e8e2debf18b5fb8993da05746f048aef90e2b3
Author: Alexis Deberg <email address hidden>
Date: Thu Feb 6 10:13:26 2020 -0500

    Swift: remove meta field from rsync command

    Remove the {meta} from the default settings in the account, container
    and object services templates.

    Change-Id: I079fddf8feb020bed93bf44b8aaec0882823e15c
    Closes-Bug: #1862058
    (cherry picked from commit bbf58f57234683ca5a63c878bb483f676e6f2ce9)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla-ansible (stable/rocky)

Reviewed: https://review.opendev.org/712430
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=b5cf0c38b168379f1a794bce2e529aee59396bb9
Submitter: Zuul
Branch: stable/rocky

commit b5cf0c38b168379f1a794bce2e529aee59396bb9
Author: Alexis Deberg <email address hidden>
Date: Thu Feb 6 10:13:26 2020 -0500

    Swift: remove meta field from rsync command

    Remove the {meta} from the default settings in the account, container
    and object services templates.

    Change-Id: I079fddf8feb020bed93bf44b8aaec0882823e15c
    Closes-Bug: #1862058
    (cherry picked from commit bbf58f57234683ca5a63c878bb483f676e6f2ce9)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla-ansible (stable/stein)

Reviewed: https://review.opendev.org/712429
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=79b4d9ede54e665ad0dd220849b35c99e6016621
Submitter: Zuul
Branch: stable/stein

commit 79b4d9ede54e665ad0dd220849b35c99e6016621
Author: Alexis Deberg <email address hidden>
Date: Thu Feb 6 10:13:26 2020 -0500

    Swift: remove meta field from rsync command

    Remove the {meta} from the default settings in the account, container
    and object services templates.

    Change-Id: I079fddf8feb020bed93bf44b8aaec0882823e15c
    Closes-Bug: #1862058
    (cherry picked from commit bbf58f57234683ca5a63c878bb483f676e6f2ce9)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/kolla-ansible 7.2.1

This issue was fixed in the openstack/kolla-ansible 7.2.1 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.