Revision 8f07dc0d

b/lib/watcher/__init__.py
166 166

  
167 167
  instances = {}
168 168

  
169
  # write the instance status file
170
  up_data = "".join(["%s %s\n" % (fields[0], fields[1]) for fields in result])
171
  utils.WriteFile(file_name=constants.INSTANCE_STATUS_FILE, data=up_data)
169
  _UpdateInstanceStatus(client, constants.INSTANCE_STATUS_FILE)
172 170

  
173 171
  for fields in result:
174 172
    (name, status, autostart, snodes) = fields
......
437 435
  return (options, args)
438 436

  
439 437

  
438
def _UpdateInstanceStatus(cl, filename):
439
  """Get a list of instances on this cluster.
440

  
441
  @todo: Think about doing this per nodegroup, too
442

  
443
  """
444
  op = opcodes.OpInstanceQuery(output_fields=["name", "status"], names=[],
445
                               use_locking=True)
446
  job_id = cl.SubmitJob([op])
447
  (result, ) = cli.PollJob(job_id, cl=cl, feedback_fn=logging.debug)
448

  
449
  cl.ArchiveJob(job_id)
450

  
451
  logging.debug("Got instance data, writing status file %s", filename)
452

  
453
  utils.WriteFile(filename, data="".join("%s %s\n" % (name, status)
454
                                         for (name, status) in result))
455

  
456

  
440 457
@rapi.client.UsesRapiClient
441 458
def Main():
442 459
  """Main function.

Also available in: Unified diff