- nodes = []
- site_id = api.AnonAdmQuerySite (anon, {"node_hostname": nodename})
- if len(site_id) == 1:
- try:
- sitepcus = api.AdmGetSitePowerControlUnits(auth, site_id[0])
- for sitepcu in sitepcus:
- sitepcuports = api.AdmGetPowerControlUnitNodes(auth, sitepcu['pcu_id'])
- for sitepcuport in sitepcuports:
- node_id = [sitepcuport['node_id']]
- node = api.AnonAdmGetNodes(anon,node_id,["hostname"])
- if len(node)==0:
- continue
- node = node[0]
- hostname = node['hostname'].lower()
- if hostname == nodename:
- sitepcu['port_number']=sitepcuport['port_number']
- return sitepcu
-
- except Exception, err:
- logger.debug("getpcu: %s" % err)
- return
+ pcus = api.GetNodes(auth, [nodename], ['pcu_ids'])
+ if len(pcus):
+ pcus = map(lambda x: x['pcu_ids'],pcus)[0]
+ nodepcus = api.GetPCUs(auth,pcus)