From 51f113d8e1f29085b86364040b75e84a08d131f6 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Sat, 13 Apr 2013 02:02:22 -0400 Subject: [PATCH] fix node refresh --- plstackapi/openstack/manager.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/plstackapi/openstack/manager.py b/plstackapi/openstack/manager.py index 8181c36..342b08e 100644 --- a/plstackapi/openstack/manager.py +++ b/plstackapi/openstack/manager.py @@ -21,14 +21,9 @@ class Manager: if 'viccidev10' not in node.name: nodes_dict[node.name] = node - deployment = DeploymentNetwork.objects.filter(name='VICCI') + deployment = DeploymentNetwork.objects.filter(name='VICCI')[0] login_bases = ['princeton', 'stanford', 'gt', 'uw', 'mpisws'] sites = Site.objects.filter(login_base__in=login_bases) - nodes_per_site = len(nodes)/len(sites) - - def chunks(l, n): - return [l[i:i+n] for i in range(0, len(l), n)] - # collect nova nodes: compute_nodes = self.client.nova.hypervisors.list() @@ -37,16 +32,18 @@ class Manager: compute_nodes_dict[compute_node.hypervisor_hostname] = compute_node # add new nodes: - counter = 1 new_node_names = set(compute_nodes_dict.keys()).difference(nodes_dict.keys()) - - def chunks(l, n): - return [l[i:i+n] for i in range(0, len(l), n)] - - node_chunks = chunks(compute_nodes, nodes_per_site) + i = 0 + max = len(sites) for name in new_node_names: - node = Node(name=compute_nodes_dict[name].hypervisor_hostname) + if i == max: + i = 0 + site = sites[i] + node = Node(name=compute_nodes_dict[name].hypervisor_hostname, + site=site, + deploymentNetwork=deployment) node.save() + i+=1 # remove old nodes old_node_names = set(nodes_dict.keys()).difference(compute_nodes_dict.keys()) -- 2.43.0