2
0
mirror of https://github.com/xcat2/confluent.git synced 2025-02-28 00:00:27 +00:00

Provide both string and numeric for owner/group

To provide a fallback for unrecognized user/group,
provide an id for syncfileclient to resort for.
This commit is contained in:
Jarrod Johnson 2021-10-08 10:02:13 -04:00
parent 52a7921676
commit 7ccaa245b6

View File

@ -22,6 +22,8 @@ import confluent.sshutil as sshutil
import eventlet.green.subprocess as subprocess
import confluent.noderange as noderange
import eventlet
import pwd
import grp
def mkdirp(path):
try:
@ -93,6 +95,18 @@ class SyncList(object):
opts = opts[1:-1]
for opt in opts.split(','):
optname, optval = opt.split('=')
if optname == 'owner':
try:
uid = pwd.getpwnam(optval).pw_uid
except KeyError:
uid = None
optval = {'name': optval, 'id': uid}
elif optname == 'group':
try:
gid = grp.getgrnam(optval).gr_gid
except KeyError:
gid = None
optval = {'name': optval, 'id': gid}
entopts[optname] = optval
currmap[k] = v
targ = v if v else k