swift_rsync container is in a restarting loop after stack update
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Christian Schwede |
Bug Description
Looks like a stack update stops the rsyncd container in an unclean way - a normal "docker stop" && "docker start" works fine, whereas a "docker kill" leaves the rsyncd.pid file, preventing the container to start later on.
I don't think we need the rsyncd PID file in the containerized environment. As seen in this case, if docker restarts the container and the file still exists, it won't start. From the rsyncd.conf manpage:
"pid file This parameter tells the rsync daemon to write its process ID to that file. If the file already exists, the rsync daemon will abort rather than overwrite the file."
It's set in puppet-swift: https:/
So there are multiple ways to handle this:
1. Ensure a stack update doesn't kill a container (?)
2. Remove a possibly existing .pid before starting rsyncd
3. Change the rsyncd.conf and remove the "pid file" setting (only in a containerized env - where should this be handled?)
Thoughts?
Changed in tripleo: | |
milestone: | none → queens-3 |
Well, scratch - puppet-swift uses puppetlabs' rsync module, and thus we can't simply update the rsyncd.conf template puppet-swift (in fact it's unused, I'll remove it). I'll add an update_task to t-h-t to fix this issue.