self.cond = threading.Condition()
self.data = None
+ # get node_id from /etc/planetlab/node_id and cache it
+ _node_id=None
+ @staticmethod
+ def node_id():
+ if conf_files._node_id is None:
+ try:
+ conf_files._node_id=int(file("/etc/planetlab/node_id").read())
+ except:
+ conf_files._node_id=""
+ return conf_files._node_id
+
def checksum(self, path):
try:
f = open(path)
logger.log('conf_files: cannot find group %s -- %s not updated'%(cf_rec['file_group'],dest))
return
url = 'https://%s/%s' % (self.config.PLC_BOOT_HOST, cf_rec['source'])
+ # set node_id at the end of the request - hacky
+ if conf_files.node_id():
+ if url.find('?') >0: url += '&'
+ else: url += '?'
+ url += "node_id=%d"%conf_files.node_id()
try:
+ logger.log("retrieving URL=%s"%url)
contents = curlwrapper.retrieve(url, self.config.cacert)
except xmlrpclib.ProtocolError,e:
logger.log('conf_files: failed to retrieve %s from %s, skipping' % (dest, url))