Ejemplo n.º 1
0
 def new_vm(self, run_name, vm):
     """Adds VM to a run_vms list if it exists for "run_name".  If list
     does not exist, it will be created.
     Return True if the VM has not been seen before.
     """
     # vm.events = CYvents
     # vm.instanceid = iaasid
     # runname
     newone = self.cdb.add_cloudyvent_vm(run_name, vm.instanceid, vm.nodeid, vm.hostname, vm.service_type, vm.parent, vm.runlogdir, vm.vmlogdir)
     for e in vm.events:
         self.cdb.add_cloudyvent(run_name, vm.instanceid, vm.nodeid, vm.hostname, vm.service_type, vm.parent, vm.runlogdir, vm.vmlogdir, e)
     self.cdb.commit()
     if newone:
         kind = "VM"
         if is_piggybacked(vm.instanceid):
             kind = "piggybacked service"
         self.c.log.debug("New %s persisted: '%s'" % (kind, vm.instanceid))
     return newone
Ejemplo n.º 2
0
def find_once(p, c, m, run_name):
    
    em_core_logfetch.fetch_by_service_name(p, c, m, run_name, PROVISIONER)
    em_core_eventgather.update_events(p, c, m, run_name)

    # order is important, first "new_node"
    launched_vms = vms_launched(m, run_name, "new_node")
    for vm in launched_vms:
        if m.persistence.new_vm(run_name, vm):
            c.log.info("Found new worker: %s : %s"
                        % (vm.instanceid, vm.hostname))

    # then "node_started"
    launched_vms = vms_launched(m, run_name, "node_started")
    for vm in launched_vms:
        m.persistence.new_vm(run_name, vm)

    allsvcs = m.persistence.get_run_vms_or_none(run_name)
    vm_num = 0
    for svc in allsvcs:
        if not is_piggybacked(svc):
            vm_num += 1

    c.log.debug("Know of %d services on %d VMs in run '%s'" % (len(allsvcs), vm_num, run_name))