swift: container swift_rsyncd can take hours to start because of chown on /srv/node
Bug #1851169 reported by
Martin Chlumsky
This bug affects 8 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kolla |
Fix Released
|
Medium
|
Martin Chlumsky | ||
Stein |
Fix Released
|
Medium
|
Unassigned | ||
Train |
Fix Released
|
Medium
|
Unassigned | ||
Ussuri |
Fix Released
|
Medium
|
Martin Chlumsky |
Bug Description
On master branch right now (and at least stein as well), the container swift_rsyncd runs the following command when starting (see extend_start.sh) before starting rsyncd:
sudo chown -R swift:swift /srv/node
This can take very long to run (hours) depending on the how much data there is already on disk.
To make matters worse, some of the other swift containers delete files while chown is running which causes it to exit with a non-zero status code and the container start fails and restarts the chown again.
I think it should be up to the operator to do the chown when preparing the disks or at the very least make running the chown configurable.
Changed in kolla: | |
assignee: | nobody → Martin Chlumsky (martin-chlumsky) |
To post a comment you must log in.
Thanks for raising this. We have seen other similar issues, where we're a little overzealous with recursive permissions.
Is this command actually necessary? Files should be created by the swift services which run as the swift user, right? Perhaps we just need to chown the mount point, /srv/node?