[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[HTCondor-users] update node's master ClassAds through Python bindings?

Hi all,

I am trying to modify settable ClassAds on a worker node's master
through the python bindings. I.e., I would like to do something
equivalent to

 > condor_config_val -name batch0930.desy.de -master -set
'TEST_HOST_STATUS = "preparing"'
 > condor_reconfig -name batch0930.desy.de

So, I first polled the current ClassAds from the collector for this
node/master, change the key:value and advertise the updated ad

 >>> batch0930_master =
# in the end the idea would be a list of masters to loop over...
 >>> batch0930_master[0]['TEST_HOST_STATUS']='testing'
 >>> collector.advertise(batch0930_master[0],command=UPDATE_AD_MASTER)

which fails with "NameError: name 'UPDATE_AD_MASTER' is not defined" [1]


I also tried to follow

 >>> batch0930_master = collector.locate(htcondor.DaemonTypes.Master,
 # I assume, that the ClassAds objects are the same either queried with
locate() or with query() [with the 'right' regexp], or?
 >>> batch0930_master['TEST_HOST_STATUS']='testing'

 # apparently setting a new value before polling the remote parameters
does not work
 # so I polled the remote parameters and tried to update the
dict/classad with

 >>> batch0930_params = htcondor.RemoteParam(batch0930_master)
 >>> batch0930_params['TEST_HOST_STATUS']='testing'

but which fails with
"RuntimeError: Failed to set remote daemon parameter."

So, I would be grateful if somebody can help me out on how to properly
update a worker node's master? ;)

Cheers and thanks,

the current documentation is a bit unclear, since the keyword order
seems to be different for generic 'UPDATE_AD_GENERIC' compared to startd
daemon 'UPDATE_STARTD_AD' as in
anyway, I tried both, 'UPDATE_AD_MASTER' and 'UPDATE_MASTER_AD', but
both are failing with the aforementioned name error

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature