diff --git a/nodepool/status.py b/nodepool/status.py index 2b1ffad66..033ab9fd8 100755 --- a/nodepool/status.py +++ b/nodepool/status.py @@ -102,6 +102,10 @@ def node_list(zk, node_id=None, detail=False): return str(t) +def node_list_json(zk): + return json.dumps([node.toDict() for node in zk.nodeIterator()]) + + def dib_image_list(zk): t = PrettyTable(["ID", "Image", "Builder", "Formats", "State", "Age"]) diff --git a/nodepool/webapp.py b/nodepool/webapp.py index c9f2580b3..385b9871b 100644 --- a/nodepool/webapp.py +++ b/nodepool/webapp.py @@ -83,6 +83,10 @@ class WebApp(threading.Thread): output = status.dib_image_list(self.nodepool.getZK()) elif path == '/dib-image-list.json': output = status.dib_image_list_json(self.nodepool.getZK()) + elif path == '/node-list': + output = status.node_list(self.nodepool.getZK()) + elif path == '/node-list.json': + output = status.node_list_json(self.nodepool.getZK()) else: return None return self.cache.put(path, output)