def getServiceStatus(req): apitoken=ks_auth.getToken() if not apitoken: return HttpResponse("Can't get token from keystone") response="" for region in REGIONS: service=ks_auth.getOsServices(apitoken,region) if not service: return HttpResponse("Can't get service status from Region %s" % region) else: response+="<hr><span style='color:blue'>Region:%s</span><br/>" % region for k,v in service.items(): if v=="down": response+=k+"  <span style='color:red'>"+v+"</span><br/>" else: response+=k+"  "+v+"<br/>" return HttpResponse(response)
def getAvailabilityHost(region,cpu,mem,filterHost=None,apitoken=None): print "cpu %s mem %s" % (cpu,mem) nodes=ComputeNodeMana().getComputeNodes(NOVA_DB(region)) print "nodes %s " % nodes service=ks_auth.getOsServices(apitoken,region) if not service: return HttpResponse("Can't get service status.") for node in nodes: if filterHost and filterHost==node.hypervisor_hostname: continue if not service.has_key(node.hypervisor_hostname) or service[node.hypervisor_hostname]=="down": continue if node.availability(cpu,mem): return node return None