With cinder configured as glance store and nfs as cinder backend,
if we create multiple images concurrently into the same share,
there might be race conditions.
This patch ensures a lock per export to avoid the race conditions.
This patch also introduces a reference counting mechamism for unmounting
which will unmount the share if no active thread/process is using it.
Closes-Bug: #1870289
Change-Id: I9197f64e29a0ae2e0a58186f1a70aa134f7f1db6
Currently os-brick that glance_store depends on uses oslo-privsep
to execute commands with root privileges, so we do not need to
maintain each command for os-brick in the rootwrap filters, but
only need to add the privsep-helper command.
This replaces the filters for os-brick with the privsep helper.
Related changes in Nova:
I4e333e73ddfd45c045b9d32dac1506fc25858c4d
# nova: Add os-brick rootwrap filter for privsep
I3a52f762deb176fe9201b2a0f0da363057f8aaec
# nova: Initialise oslo.privsep early in main
Related changes in Cinder:
I3b2e337321875cf4abc0ab9b44fe17cf9327d88b
# cinder: Add os-brick rootwrap filter for privsep
Id9652ccf001a707fbd59e277c36817bd6d58e7b3
# cinder: Initialise oslo.privsep early in main
Change-Id: Idbebaf796eaf89189f64f64167371b81e56b366e
To cleanly utilize devstack's configure_rootwrap function to
install rootwrap config files, these should be placed in
etc/glance/ directory as nova and cinder do.
Change-Id: I6d4ee6929f3c3536424bb6790c958aa464860300