)]}'
{"dragonflow/tests/fullstack/test_base.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"dd908d1974c58bb811f8226c1ba30df38036b0e4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from neutron.common import config as common_config"},{"line_number":16,"context_line":"from neutronclient.neutron import client"},{"line_number":17,"context_line":"from neutronclient.v2_0 import client as client_v2_0"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import os_client_config"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_9251a065","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"updated":"2016-11-07 15:30:29.000000000","message":"If I\u0027m not mistaken, according to [1] this import should be first\n\n[1] http://docs.openstack.org/developer/charm-guide/coding-guidelines.html#import-ordering","commit_id":"06594d7bcff0ac0f459b48ed09dacbcf1bf75e2b"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"5e188209a1cd963f0d064259a780d985ff239d62","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from neutron.common import config as common_config"},{"line_number":16,"context_line":"from neutronclient.neutron import client"},{"line_number":17,"context_line":"from neutronclient.v2_0 import client as client_v2_0"},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import os_client_config"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_9572657b","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"in_reply_to":"9a629dbe_9251a065","updated":"2016-11-07 16:56:57.000000000","message":"Very true. Will fix.","commit_id":"06594d7bcff0ac0f459b48ed09dacbcf1bf75e2b"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"8ae609e6a93d98a6adb3c901c655fea91efac94d","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def setUp(self):"},{"line_number":74,"context_line":"        super(DFTestBase, self).setUp()"},{"line_number":75,"context_line":"        if os.environ.get(\u0027DF_FULLSTACK_USE_ENV\u0027):"},{"line_number":76,"context_line":"            self.neutron \u003d get_neutron_client_from_env()"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            self.neutron \u003d get_neutron_client_from_cloud_config()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_321d1d74","line":75,"range":{"start_line":75,"start_character":27,"end_line":75,"end_character":47},"updated":"2016-11-08 03:12:08.000000000","message":"suggest to write a README for similar env variables. others may not know it.","commit_id":"818cc7449e7fcaa963ae56e5301e230c026e34d4"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"63e4ce7b17c56b86433f5db1822c4205d8701820","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def setUp(self):"},{"line_number":74,"context_line":"        super(DFTestBase, self).setUp()"},{"line_number":75,"context_line":"        if os.environ.get(\u0027DF_FULLSTACK_USE_ENV\u0027):"},{"line_number":76,"context_line":"            self.neutron \u003d get_neutron_client_from_env()"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            self.neutron \u003d get_neutron_client_from_cloud_config()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_b5f59784","line":75,"range":{"start_line":75,"start_character":27,"end_line":75,"end_character":47},"in_reply_to":"9a629dbe_321d1d74","updated":"2016-11-08 03:41:27.000000000","message":"Done","commit_id":"818cc7449e7fcaa963ae56e5301e230c026e34d4"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"ca9f1afead51b49ada73cd670b56bf57a4c641b4","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def get_neutron_client_from_env():"},{"line_number":54,"context_line":"    username \u003d os.environ[\u0027OS_USERNAME\u0027]"},{"line_number":55,"context_line":"    password \u003d os.environ[\u0027OS_PASSWORD\u0027]"},{"line_number":56,"context_line":"    project_name \u003d os.environ[\u0027OS_PROJECT_NAME\u0027]"},{"line_number":57,"context_line":"    project_domain_name \u003d os.environ[\u0027OS_PROJECT_DOMAIN_NAME\u0027]"},{"line_number":58,"context_line":"    user_domain_name \u003d os.environ[\u0027OS_USER_DOMAIN_NAME\u0027]"},{"line_number":59,"context_line":"    auth_url \u003d os.environ[\u0027OS_AUTH_URL\u0027]"},{"line_number":60,"context_line":"    auth \u003d identity.Password(auth_url\u003dauth_url,"},{"line_number":61,"context_line":"                             username\u003dusername,"},{"line_number":62,"context_line":"                             password\u003dpassword,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_9a3549aa","line":59,"range":{"start_line":54,"start_character":4,"end_line":59,"end_character":40},"updated":"2016-11-13 07:31:34.000000000","message":"if you forget to source openrc, the env will not contain these keys, may use get() method will be more safe.","commit_id":"553e70cf566f79178efc4898664fc49525b76c49"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"7f608e44312a479da8dda5dcb68678662fd62c79","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def get_neutron_client_from_env():"},{"line_number":54,"context_line":"    username \u003d os.environ[\u0027OS_USERNAME\u0027]"},{"line_number":55,"context_line":"    password \u003d os.environ[\u0027OS_PASSWORD\u0027]"},{"line_number":56,"context_line":"    project_name \u003d os.environ[\u0027OS_PROJECT_NAME\u0027]"},{"line_number":57,"context_line":"    project_domain_name \u003d os.environ[\u0027OS_PROJECT_DOMAIN_NAME\u0027]"},{"line_number":58,"context_line":"    user_domain_name \u003d os.environ[\u0027OS_USER_DOMAIN_NAME\u0027]"},{"line_number":59,"context_line":"    auth_url \u003d os.environ[\u0027OS_AUTH_URL\u0027]"},{"line_number":60,"context_line":"    auth \u003d identity.Password(auth_url\u003dauth_url,"},{"line_number":61,"context_line":"                             username\u003dusername,"},{"line_number":62,"context_line":"                             password\u003dpassword,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_64feef6c","line":59,"range":{"start_line":54,"start_character":4,"end_line":59,"end_character":40},"in_reply_to":"9a629dbe_9a3549aa","updated":"2016-11-15 13:43:33.000000000","message":"Probably would be even better to catch the KeyError and output a meaningful error message. I\u0027ll do that.","commit_id":"553e70cf566f79178efc4898664fc49525b76c49"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"65ae7f6a325d0e2690f5d51a2153506cca1dc57b","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                self.neutron \u003d get_neutron_client_from_env()"},{"line_number":81,"context_line":"            except KeyError as e:"},{"line_number":82,"context_line":"                message \u003d _LE(\u0027Cannot find environment variable %s. \u0027"},{"line_number":83,"context_line":"                           \u0027Have you sourced openrc?\u0027)"},{"line_number":84,"context_line":"                LOG.error(message, e.args[0])"},{"line_number":85,"context_line":"                self.fail(message % e.args[0])"},{"line_number":86,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a77a97e_c6abf5d4","line":83,"range":{"start_line":83,"start_character":27,"end_line":83,"end_character":28},"updated":"2016-11-16 23:04:29.000000000","message":"nit: this line is no aligned with line 82","commit_id":"321bd0c77017ec72586397dfe340c1342427e55d"}]}
