Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1692217

Summary: [swift] Ring files should be reloaded without restarting services
Product: Red Hat OpenStack Reporter: Takashi Kajinami <tkajinam>
Component: openstack-tripleo-heat-templatesAssignee: Christian Schwede (cschwede) <cschwede>
Status: CLOSED DUPLICATE QA Contact: Mike Abrams <mabrams>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 13.0 (Queens)CC: cschwede, mburns, ramishra
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-10 14:12:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Takashi Kajinami 2019-03-25 03:42:03 UTC
Description of problem:

All processes in swift can automatically detect the change in ring files,
based on mtime of each ring files.
We do not need to restart swift services, after putting the updated version
of ring file in /etc/swift.

However, in RHOSP13, we need to restart docker container when updating configuration files,
as kolla_start copies configurations files into docker container when starting up.

This is a degradation from RHOSP10 from operational point of view.

How reproducible:

Always

Steps to Reproduce:
1. Deploy overcloud
2. Update the ring file in /var/lib/config-data/puppet-generated/swift/etc/swift

Actual results:

The updated rings are not loaded until we restart swift containers

Expected results:

The updated rings are loaded automatically, without restarting services

Additional info:

Comment 1 Christian Schwede (cschwede) 2020-09-10 14:12:20 UTC
Going to track this further in https://bugzilla.redhat.com/show_bug.cgi?id=1746113.

In the meantime, this is a quick workaround:

for CONTAINER in $(sudo podman ps --filter name=swift --format="{{.Names}}"); do echo sudo podman exec -it -u root $CONTAINER /usr/local/bin/kolla_set_configs; done

This basically copies the files from /var/lib/config-data/puppet-generated/swift/etc/swift to /etc/swift - it is normally done when starting the container, and this command does the same without restarting. This is also proposed upstream in t-h-t in above BZ.

*** This bug has been marked as a duplicate of bug 1746113 ***