Python API: samAdmin v8_1_5 samAdmin.modifyK5Login()
|  |
This is the python interface to the command 'samadmin modify k5login'.
Command Description:
This command will modify the contents of the Fermilab ~sam/.k5login file,
adding and/or removing the specified principals. Your changes will be committed
in the specified cvs repository, and the file will be copied to all accounts listed
in the 'k5loginSubscription' file.
You must be logged in as user 'sam' on one of the 'master' FNAL nodes in order
to run this command. The 'master' FNAL nodes are:
['d0mino.fnal.gov', 'd0ora1.fnal.gov', 'd0ora3.fnal.gov', 'd0ora2.fnal.gov', 'bagend.fnal.gov']
NOTE ALSO: problems have been seen when using WRQ Reflections as your
means of logging in as user 'sam' on a 'master' node, probably due to
not coming in via FNAL kerberized ssh. If you use WRQ Reflections, a
suitable workaround is:
1) log in normally (as yourself) to a kerberized FNAL node.
2) kinit -F <username>/root # obtain credentials
3) ssh <masterNode>.fnal.gov -l sam # make sure this is the
# FNAL kerberized ssh
# (usually /usr/krb5/bin/ssh)
and proceed from there.
Example:
samadmin modify k5login --add=newShifter/root@FNAL.GOV,sam/d0/new.sam.node@FNAL.GOV \
--remove=oldShifter/root@FNAL.GOV,sam/d0/old.sam.node@FNAL.GOV
Python Usage:
from SamAdmin import samAdmin
result = samAdmin.modifyK5Login(...)
Return value:
Arguments are passed as keyword-value pairs, as in:
myfunc(arg1='myarg', arg2='anotherarg', d=1)
Argument Keyword Description:
(*) indicates that this keyword is required
>>> indicates that either the API object or the CLI equivalent (<<<) is required
====================================================================================================================================
KEYWORD DATA TYPE DESCRIPTION
------------------------------------------------------------------------------------------------------------------------------------
add SamStringList comma-separated list of entries to be added
c SamBoolean automatically close all servants after each method call
corbaCallTimeout int time in seconds for CORBA method calls to return before timing out (default: 0; zero implies no timeout)
cvsroot string name of alternate CVS repository (default: "cvsuser@cdcvs.fnal.gov:/cvs/cd")
d SamBoolean debug mode
remove SamStringList comma-separated list of entries to be removed
retryInterval int retry interval base in seconds; will multiply this base times retryCount (default: 5)
retryJitter int retry jitter, random jitter added to base retry interval times retryCount (default: 5)
retryMaxCount int number of times to retry CORBA calls for retriable exceptions (default: 25; zero implies no retries)
s SamBoolean retrySilently mode (do not issue messages to stderr on proxy retries)
t SamBoolean time-it mode (print additional info on timings)
v SamBoolean verbose mode
====================================================================================================================================
Must have at least one of:
(add, remove)
Environment Defaults:
c = os.environ['SAM_PYAPI_AUTO_CLOSE_SERVANTS']
corbaCallTimeout = os.environ['SAM_PYAPI_CORBA_CALL_TIMEOUT']
retryInterval = os.environ['SAM_PYAPI_RETRY_INTERVAL']
retryJitter = os.environ['SAM_PYAPI_RETRY_JITTER']
retryMaxCount = os.environ['SAM_PYAPI_RETRY_MAX_COUNT']
s = os.environ['SAM_PYAPI_RETRY_SILENTLY']
See Also: