)]}'
{"examples/clustering/node.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"251d9783131270339872e19f84eb4ed9cd5bfe14","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        \u0027profile_id\u0027: CLUSTERING_NAME,"},{"line_number":42,"context_line":"    }"},{"line_number":43,"context_line":"    node \u003d conn.clustering.create_node(**spec)"},{"line_number":44,"context_line":"    time.sleep(10)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    # wait for nova vm ACTIVE"},{"line_number":47,"context_line":"    server_obj \u003d conn.compute.find_server(CLUSTERING_NAME, False)"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_f53e7d89","line":44,"updated":"2018-05-11 07:57:14.000000000","message":"I know this is work in progress, but would be nice to have a slightly more sophisticated wait implementation here.","commit_id":"15e48fba6cc1b61f69eb3d85acfc779478506ce8"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"0f21c8f5fd3231d8461da2209c01d2ea87053127","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        \u0027profile_id\u0027: CLUSTERING_NAME,"},{"line_number":42,"context_line":"    }"},{"line_number":43,"context_line":"    node \u003d conn.clustering.create_node(**spec)"},{"line_number":44,"context_line":"    time.sleep(10)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    # wait for nova vm ACTIVE"},{"line_number":47,"context_line":"    server_obj \u003d conn.compute.find_server(CLUSTERING_NAME, False)"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_4c024371","line":44,"in_reply_to":"5f7c97a3_90fdd7b2","updated":"2018-05-11 14:07:40.000000000","message":"Perhaps making a method similar to conn.compute.wait_for_server but like conn.clustering.wait_for_node? Inside that method you could do something like:\n\n  for count in utils.iterate_timeout(timeout\u003dtimeout, wait\u003dwait):\n    server_obj \u003d conn.compute.find_server(CLUSTERING_NAME, False)\n    if not server_obj:\n      continue\n\nobviously getting clustering_name from the node object you\u0027re waiting on. Not sure if that\u0027s 100% right - just thinking out loud ... but it seems like the sort of pattern where we can make things nice.","commit_id":"15e48fba6cc1b61f69eb3d85acfc779478506ce8"},{"author":{"_account_id":23517,"name":"chenyb4","email":"cybing4@gmail.com","username":"Yuanbin.Chen"},"change_message_id":"f36b1e80d498a91f322a4402461f912a717498ae","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        \u0027profile_id\u0027: CLUSTERING_NAME,"},{"line_number":42,"context_line":"    }"},{"line_number":43,"context_line":"    node \u003d conn.clustering.create_node(**spec)"},{"line_number":44,"context_line":"    time.sleep(10)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    # wait for nova vm ACTIVE"},{"line_number":47,"context_line":"    server_obj \u003d conn.compute.find_server(CLUSTERING_NAME, False)"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_90fdd7b2","line":44,"in_reply_to":"5f7c97a3_f53e7d89","updated":"2018-05-11 08:43:52.000000000","message":"Can you give me some advice?","commit_id":"15e48fba6cc1b61f69eb3d85acfc779478506ce8"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e743d3841d62c4466d456bd5b36db5a4bd406eec","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    node \u003d conn.clustering.create_node(**spec)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    # wait for node ACTIVE"},{"line_number":45,"context_line":"    status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"    msg \u003d (\"Timeout waiting for node %s in %s status.\" %"},{"line_number":47,"context_line":"           (CLUSTERING_NAME, status))"},{"line_number":48,"context_line":"    for count in utils.iterate_timeout(timeout\u003d300, message\u003dmsg, wait\u003d5):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f7c97a3_0afcf93b","line":45,"updated":"2018-05-15 06:15:35.000000000","message":"Looking a lot better. \n\nAs a follow up, could we maybe implement this directly in the Proxy class using Proxy.wait_for_status?\n\nWas thinking something like this.\n\ndef wait_for_node(self, node, status\u003d\u0027ACTIVE\u0027, failures\u003d[\u0027ERROR\u0027],\n                    interval\u003d2, wait\u003d300):\n    return resource.wait_for_status(\n        self, node, status, failures, interval, wait)","commit_id":"22006158377166e1d4fa560f6fe119439d365061"}],"openstack/tests/functional/cloud/test_devstack.py":[{"author":{"_account_id":23517,"name":"chenyb4","email":"cybing4@gmail.com","username":"Yuanbin.Chen"},"change_message_id":"3d5760ade06ede2983e6c8623511b95a1596237f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        (\u0027neutron\u0027, dict(env\u003d\u0027NEUTRON\u0027, service\u003d\u0027network\u0027)),"},{"line_number":37,"context_line":"        (\u0027octavia\u0027, dict(env\u003d\u0027OCTAVIA\u0027, service\u003d\u0027load-balancer\u0027)),"},{"line_number":38,"context_line":"        (\u0027swift\u0027, dict(env\u003d\u0027SWIFT\u0027, service\u003d\u0027object-store\u0027)),"},{"line_number":39,"context_line":"        (\u0027senlin\u0027, dict(env\u003d\u0027senlin\u0027, service\u003d\u0027clustering\u0027)),"},{"line_number":40,"context_line":"    ]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_has_service(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_c1056a15","line":39,"updated":"2018-04-04 04:03:24.000000000","message":"@Duc Truong\n\nenv\u003d\u0027senlin\u0027  change to env\u003d\u0027SENLIN\u0027 ?","commit_id":"e8a5a3fa499741b8546bad646548d2e691e9a7e5"},{"author":{"_account_id":27224,"name":"Duc Truong","email":"duc.openstack@gmail.com","username":"dtruong2"},"change_message_id":"28820616a0c673f97a5ff40b643fb3c4a40bbb15","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        (\u0027neutron\u0027, dict(env\u003d\u0027NEUTRON\u0027, service\u003d\u0027network\u0027)),"},{"line_number":37,"context_line":"        (\u0027octavia\u0027, dict(env\u003d\u0027OCTAVIA\u0027, service\u003d\u0027load-balancer\u0027)),"},{"line_number":38,"context_line":"        (\u0027swift\u0027, dict(env\u003d\u0027SWIFT\u0027, service\u003d\u0027object-store\u0027)),"},{"line_number":39,"context_line":"        (\u0027senlin\u0027, dict(env\u003d\u0027senlin\u0027, service\u003d\u0027clustering\u0027)),"},{"line_number":40,"context_line":"    ]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_has_service(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_84c0e0e2","line":39,"in_reply_to":"bf659307_c1056a15","updated":"2018-04-04 05:04:35.000000000","message":"That is definite a mistake by me, but I don\u0027t think it will fix the problem with glance.","commit_id":"e8a5a3fa499741b8546bad646548d2e691e9a7e5"}]}
