)]}'
{"playbooks/roles/os_neutron/files/neutron-ha-tool.py":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b23fb5bbd5f7002d1da0652192e2eb3619d2b26e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"import time"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import keystoneclient.v3.client as kclient"},{"line_number":29,"context_line":"from neutronclient.neutron import client as nclient"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_c5277db4","line":28,"updated":"2015-09-29 17:15:30.000000000","message":"I think that it may be important to actually be adaptive here and I think the keystone library supports version detection? For Kilo and even for Liberty there are no guarantees which version the endpoint used will be.","commit_id":"1c6278b8b4684abccdfaa91157d67def8a34b560"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"263b930ab57c94bb77d4f1ba13e4fecea0ceac7a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"import time"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import keystoneclient.v3.client as kclient"},{"line_number":29,"context_line":"from neutronclient.neutron import client as nclient"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_e57ac187","line":28,"in_reply_to":"9a1a9d01_c5277db4","updated":"2015-09-29 17:18:21.000000000","message":"All of our libs default to V3 and will not function otherwise as such Running v3 all the way down is consistent with everything else that we\u0027re today in regards to neutron.","commit_id":"1c6278b8b4684abccdfaa91157d67def8a34b560"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d79a0a072d1614e4cc1484fe50117c31cd6c65e1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"import time"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import keystoneclient.v3.client as kclient"},{"line_number":29,"context_line":"from neutronclient.neutron import client as nclient"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_0019e3d6","line":28,"in_reply_to":"9a1a9d01_e57ac187","updated":"2015-09-29 17:53:55.000000000","message":"In Kilo only the admin endpoint is v3, whereas the internal and public endpoints are v2. This tools runs by defaults using openrc which is set by default to use the internal endpoint, and therefore v2. The full move to v3 doesn\u0027t appear to have happened in Liberty either, unfortunately - although we will try. I still recommend that we either make this do version discovery, or that the version used must be adaptive based on whatever is set in openrc.","commit_id":"1c6278b8b4684abccdfaa91157d67def8a34b560"},{"author":{"_account_id":18757,"name":"Tiago Gomes","email":"tiago.avv@gmail.com","username":"tiagogomes"},"change_message_id":"4268b3fc89bde2c5e2dc51fc870c36a0145c87a6","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    for key in [\u0027OS_USERNAME\u0027, \u0027OS_PASSWORD\u0027, \u0027OS_AUTH_URL\u0027,"},{"line_number":51,"context_line":"                \u0027OS_ENDPOINT_TYPE\u0027]:"},{"line_number":52,"context_line":"        if key not in os.environ.keys():"},{"line_number":53,"context_line":"            LOG.exception(\"Your environment is missing \u0027%s\u0027\")"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    ap \u003d argparse.ArgumentParser(description\u003dDESCRIPTION)"},{"line_number":56,"context_line":"    ap.add_argument(\u0027-d\u0027, \u0027--debug\u0027, action\u003d\u0027store_true\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_2976f53e","line":53,"updated":"2015-10-13 10:53:27.000000000","message":"This will result on a \"No handlers could be found for logger \"neutron-ha-tool\", as setup_logging() is only called after parse_args(). I\u0027d just print a message to the stderr.","commit_id":"1faf77a8a855e704c072c89cd9073d0588976750"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"266feddcfe6b12b73d2b421f50bd578b47b4f0e5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    for key in [\u0027OS_USERNAME\u0027, \u0027OS_PASSWORD\u0027, \u0027OS_AUTH_URL\u0027,"},{"line_number":51,"context_line":"                \u0027OS_ENDPOINT_TYPE\u0027]:"},{"line_number":52,"context_line":"        if key not in os.environ.keys():"},{"line_number":53,"context_line":"            LOG.exception(\"Your environment is missing \u0027%s\u0027\")"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    ap \u003d argparse.ArgumentParser(description\u003dDESCRIPTION)"},{"line_number":56,"context_line":"    ap.add_argument(\u0027-d\u0027, \u0027--debug\u0027, action\u003d\u0027store_true\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_d8c93bae","line":53,"in_reply_to":"5a2ca52d_2976f53e","updated":"2015-10-13 16:14:41.000000000","message":"Done","commit_id":"1faf77a8a855e704c072c89cd9073d0588976750"}]}
