[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 =
collector.query(htcondor.AdTypes.Master,'regexp(".*batch0930\\.desy\\.de",
Name)')
# 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
https://lists.cs.wisc.edu/archive/htcondor-users/2015-November/msg00060.shtml
with

 >>> batch0930_master = collector.locate(htcondor.DaemonTypes.Master,
"batch0930.desy.de")
 # 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,
  Thomas

[1]
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
https://research.cs.wisc.edu/htcondor/manual/latest/6_7Python_Bindings.html
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