)]}'
{"kolla/cmd/build.py":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"5c605a40b73898944c3fed2939b5cf49716d8573","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def handle_ctrlc(single, frame):"},{"line_number":59,"context_line":"    kollaobj \u003d frame.f_locals[\u0027kolla\u0027]"},{"line_number":60,"context_line":"    kollaobj.cleanup()"},{"line_number":61,"context_line":"    sys.exit(1)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"signal.signal(signal.SIGINT, handle_ctrlc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_3de6a8b4","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":22},"updated":"2016-05-07 02:59:53.000000000","message":"I\u0027ve always wondered why build.py creates folders in /tmp on the deploy node.\n\n\nDoes this delete the following in /tmp ?\n\n\n $ ls /tmp\n kolla-2016-05-04_13-37-38_cwVsD2\n \n $ ls /tmp/kolla-2016-05-04_13-37-38_cwVsD2/\n docker\n \n $ ls /tmp/kolla-2016-05-04_13-37-38_cwVsD2/docker/\n aodh        cron           haproxy     keystone       mariadb     mongodb         rabbitmq\n base        designate      heat        kibana         memcached   murano          swift\n ceilometer  dind           heka        kolla-toolbox  mesos       neutron         tempest\n ceph        elasticsearch  horizon     magnum         mesos-dns   nova            trove\n chronos     glance         ironic      manila         mesosphere  openstack-base  zaqar\n cinder      gnocchi        keepalived  marathon       mistral     openvswitch     zookeeper","commit_id":"75492cf82b4692eca5939f22c8db1fb89d278df7"},{"author":{"_account_id":3098,"name":"Jeff Peeler","email":"jpeeler@redhat.com","username":"jpeeler-z"},"change_message_id":"9d993a0914b2c55a1d66dd368886fbf627ff3264","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def handle_ctrlc(single, frame):"},{"line_number":59,"context_line":"    kollaobj \u003d frame.f_locals[\u0027kolla\u0027]"},{"line_number":60,"context_line":"    kollaobj.cleanup()"},{"line_number":61,"context_line":"    sys.exit(1)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"signal.signal(signal.SIGINT, handle_ctrlc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_68ab3ed7","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":22},"in_reply_to":"dab17558_3de6a8b4","updated":"2016-05-08 15:28:53.000000000","message":"Yes, that\u0027s exactly what it deletes. The temp files are the \"real\" dockerfiles generated from the jinja templates.","commit_id":"75492cf82b4692eca5939f22c8db1fb89d278df7"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"5c605a40b73898944c3fed2939b5cf49716d8573","unresolved":false,"context_lines":[{"line_number":780,"context_line":""},{"line_number":781,"context_line":"    # sleep until queue is empty"},{"line_number":782,"context_line":"    while queue.unfinished_tasks or push_queue.unfinished_tasks:"},{"line_number":783,"context_line":"        time.sleep(3)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    kolla.summary()"},{"line_number":786,"context_line":"    kolla.cleanup()"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_dd867cb8","line":783,"range":{"start_line":783,"start_character":0,"end_line":783,"end_character":21},"updated":"2016-05-07 02:59:53.000000000","message":"If the user presses CTRL+C again during this sleep, is the signal properly handled by handle_ctrlc() ?","commit_id":"75492cf82b4692eca5939f22c8db1fb89d278df7"},{"author":{"_account_id":3098,"name":"Jeff Peeler","email":"jpeeler@redhat.com","username":"jpeeler-z"},"change_message_id":"9d993a0914b2c55a1d66dd368886fbf627ff3264","unresolved":false,"context_lines":[{"line_number":780,"context_line":""},{"line_number":781,"context_line":"    # sleep until queue is empty"},{"line_number":782,"context_line":"    while queue.unfinished_tasks or push_queue.unfinished_tasks:"},{"line_number":783,"context_line":"        time.sleep(3)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    kolla.summary()"},{"line_number":786,"context_line":"    kolla.cleanup()"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_e89e0eb7","line":783,"range":{"start_line":783,"start_character":0,"end_line":783,"end_character":21},"in_reply_to":"dab17558_dd867cb8","updated":"2016-05-08 15:28:53.000000000","message":"I don\u0027t know what you mean by again. Once the signal is detected, the handler is immediately run shutting down the main thread. The only reason this part was changed is because while executing join on a queue signals are ignored.","commit_id":"75492cf82b4692eca5939f22c8db1fb89d278df7"}]}
