19 lines
696 B
Plaintext
19 lines
696 B
Plaintext
pool_id = params_kw.get('pool_id','')
|
|
try:
|
|
async with DBPools().sqlorContext(get_module_dbname('pcpool')) as sor:
|
|
if pool_id:
|
|
nodes = await sor.R('compute_node', {'pool_id': pool_id})
|
|
else:
|
|
nodes = await sor.R('compute_node', {})
|
|
assigned_ids = set()
|
|
try:
|
|
async with DBPools().sqlorContext(get_module_dbname('pcc')) as sor:
|
|
assigned = await sor.R('cluster_node', {})
|
|
assigned_ids = set(str(a.node_id) for a in (assigned or []))
|
|
except:
|
|
pass
|
|
available = [{'value': str(n.id), 'text': str(n.name)} for n in (nodes or []) if str(n.id) not in assigned_ids]
|
|
return available
|
|
except:
|
|
return []
|