balance instances across compute nodes
diff --git a/xos/tosca/nodeselect.py b/xos/tosca/nodeselect.py
index 24c5b85..ce4888f 100644
--- a/xos/tosca/nodeselect.py
+++ b/xos/tosca/nodeselect.py
@@ -19,6 +19,8 @@
 
     def get_nodes(self, quantity):
         nodes = self.get_allowed_nodes()
-        # TODO: sort the nodes by some useful metric to pick the best one
+        # TODO: filter out any nonfunctional nodes
+        # sort by fewest number of instances
+        nodes = sorted(nodes, key=lambda node: node.instances.all().count())
         return nodes[:quantity]