)]}'
{"octaviaclient/api/load_balancer_v2.py":[{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"7e4e3a9806f94a6597b1874225831e9e61eea994","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class APIv2(api.BaseAPI):"},{"line_number":20,"context_line":"    \"\"\"Load Balancer v2 API\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    _endpoint_suffix \u003d \u0027/v2.0\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def __init__(self, endpoint\u003dNone, **kwargs):"},{"line_number":25,"context_line":"        super(APIv2, self).__init__(endpoint\u003dendpoint, **kwargs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_b04406b9","line":22,"range":{"start_line":22,"start_character":23,"end_line":22,"end_character":30},"updated":"2017-03-30 19:48:36.000000000","message":"/v2.0/lbaas ?","commit_id":"f6af6a6728efadf4648691cbf77099f3ef59d6a8"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"703cab795ec03fe114a3a9277990d74227c5accc","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"\"\"\"Load Balancer v2 API Library\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.api import api"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class APIv2(api.BaseAPI):"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_5d982c69","line":16,"updated":"2017-04-05 16:41:24.000000000","message":"get this from osc-lib.api instead, the client lib can not depend in osc itself.","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"26751ad0f1e390a25ec2708e330635223ac5a642","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"\"\"\"Load Balancer v2 API Library\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.api import api"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class APIv2(api.BaseAPI):"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_9f70b674","line":16,"in_reply_to":"bff0334d_5d982c69","updated":"2017-04-06 17:36:08.000000000","message":"Done","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"703cab795ec03fe114a3a9277990d74227c5accc","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class APIv2(api.BaseAPI):"},{"line_number":20,"context_line":"    \"\"\"Load Balancer v2 API\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    _endpoint_suffix \u003d \u0027/v2.0/lbaas\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def __init__(self, endpoint\u003dNone, **kwargs):"},{"line_number":25,"context_line":"        super(APIv2, self).__init__(endpoint\u003dendpoint, **kwargs)"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_7d7d30e6","line":22,"updated":"2017-04-05 16:41:24.000000000","message":"are you sure you want \u0027/lbaas\u0027 here?  All routes will be under that?","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"26751ad0f1e390a25ec2708e330635223ac5a642","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class APIv2(api.BaseAPI):"},{"line_number":20,"context_line":"    \"\"\"Load Balancer v2 API\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    _endpoint_suffix \u003d \u0027/v2.0/lbaas\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def __init__(self, endpoint\u003dNone, **kwargs):"},{"line_number":25,"context_line":"        super(APIv2, self).__init__(endpoint\u003dendpoint, **kwargs)"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_3fd3ea3a","line":22,"in_reply_to":"bff0334d_7d7d30e6","updated":"2017-04-06 17:36:08.000000000","message":"yea. Although the endpoint allows for /v2.0/lbaas/\u003cobject\u003e and /v2.0/\u003cobject\u003e unless there is an objection I will leave it the way it is.","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"}],"octaviaclient/osc/plugin.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"eff18bbc3dd06f29a2083ec2901a5d3390cbe5d0","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    return parser"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class Empty(object):"},{"line_number":65,"context_line":"    \"\"\"pass through\"\"\""},{"line_number":66,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_bfdabe76","line":66,"range":{"start_line":64,"start_character":0,"end_line":66,"end_character":8},"updated":"2017-03-17 17:34:06.000000000","message":"what does this do ?","commit_id":"478370b45e33d827f57b5058e618a2a4438c40e9"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"2ef2ebddee44527ea45b0820855fa38a3cf78b46","unresolved":false,"context_lines":[{"line_number":23,"context_line":"API_VERSION_OPTION \u003d \u0027os_loadbalancer_api_version\u0027"},{"line_number":24,"context_line":"API_NAME \u003d \u0027load_balancer\u0027"},{"line_number":25,"context_line":"API_VERSIONS \u003d {"},{"line_number":26,"context_line":"    \u00272.0\u0027: \u0027octaviaclient.osc.plugin.Empty\u0027,"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":"LOAD_BALANCER_API_TYPE \u003d \u0027loadbalancer\u0027"},{"line_number":29,"context_line":"LOAD_BALANCER_API_VERSIONS \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"dfeb2761_615f6d0e","line":26,"updated":"2017-04-03 19:38:29.000000000","message":"ignore this for now. will fix","commit_id":"4f94e5b48a64813c51ec821a08a2153a36c979c0"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"703cab795ec03fe114a3a9277990d74227c5accc","unresolved":false,"context_lines":[{"line_number":24,"context_line":"API_NAME \u003d \u0027load_balancer\u0027"},{"line_number":25,"context_line":"API_VERSIONS \u003d {"},{"line_number":26,"context_line":"    \u00272.0\u0027: \u0027octaviaclient.osc.plugin.Empty\u0027,"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":"LOAD_BALANCER_API_TYPE \u003d \u0027loadbalancer\u0027"},{"line_number":29,"context_line":"LOAD_BALANCER_API_VERSIONS \u003d {"},{"line_number":30,"context_line":"    \u00272.0\u0027: \u0027octaviaclient.api.load_balancer_v2.APIv2\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_e0f2b79a","line":27,"updated":"2017-04-05 16:41:24.000000000","message":"25-27 is used for the old-style client version setup, you do not need it if you define a check_api_version() function at the top level here to do initial validation on a user-supplied version.  See compute/client.py for an example that handles microversions.  If you don\u0027t have that, do a basic check to see that the version string suplied is valid (look at the keys in LOAD_BALANCER_API_VERSIONS maybe) and return True or raise an exception if its no good.\n\nThis is the \u0027new likely not-yet-documented\u0027 plugin version setup.","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"26751ad0f1e390a25ec2708e330635223ac5a642","unresolved":false,"context_lines":[{"line_number":24,"context_line":"API_NAME \u003d \u0027load_balancer\u0027"},{"line_number":25,"context_line":"API_VERSIONS \u003d {"},{"line_number":26,"context_line":"    \u00272.0\u0027: \u0027octaviaclient.osc.plugin.Empty\u0027,"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":"LOAD_BALANCER_API_TYPE \u003d \u0027loadbalancer\u0027"},{"line_number":29,"context_line":"LOAD_BALANCER_API_VERSIONS \u003d {"},{"line_number":30,"context_line":"    \u00272.0\u0027: \u0027octaviaclient.api.load_balancer_v2.APIv2\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_1fbdc6b6","line":27,"in_reply_to":"bff0334d_e0f2b79a","updated":"2017-04-06 17:36:08.000000000","message":"Done","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"703cab795ec03fe114a3a9277990d74227c5accc","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        region_name\u003dinstance.region_name,"},{"line_number":39,"context_line":"        interface\u003dinstance.interface,"},{"line_number":40,"context_line":"    )"},{"line_number":41,"context_line":"    client \u003d load_balancer_v2.APIv2("},{"line_number":42,"context_line":"        session\u003dinstance.session,"},{"line_number":43,"context_line":"        service_type\u003d\u0027load-balancer\u0027,"},{"line_number":44,"context_line":"        endpoint\u003dendpoint,"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_20277f15","line":41,"updated":"2017-04-05 16:41:24.000000000","message":"The reason for having LOAD_BALANCER_API_VERSIONS is to do the class loading here based on the supplied API version.","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"26751ad0f1e390a25ec2708e330635223ac5a642","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        region_name\u003dinstance.region_name,"},{"line_number":39,"context_line":"        interface\u003dinstance.interface,"},{"line_number":40,"context_line":"    )"},{"line_number":41,"context_line":"    client \u003d load_balancer_v2.APIv2("},{"line_number":42,"context_line":"        session\u003dinstance.session,"},{"line_number":43,"context_line":"        service_type\u003d\u0027load-balancer\u0027,"},{"line_number":44,"context_line":"        endpoint\u003dendpoint,"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_dfb63eda","line":41,"in_reply_to":"bff0334d_20277f15","updated":"2017-04-06 17:36:08.000000000","message":"Not sure I quite follow","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"}],"octaviaclient/osc/v2/load_balancer.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"79f69671007f6333eab2591791e9007ef6ae4c00","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            \u0027Name\u0027,"},{"line_number":32,"context_line":"            \u0027Project ID\u0027,"},{"line_number":33,"context_line":"            \u0027Provisioning Status\u0027,"},{"line_number":34,"context_line":"            \u0027VIP Address\u0027,)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        data \u003d self.app.client_manager.load_balancer.load_balancer_list()"},{"line_number":37,"context_line":"        return (columns,"}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_02fe83ad","line":34,"range":{"start_line":34,"start_character":12,"end_line":34,"end_character":25},"updated":"2017-04-06 22:42:29.000000000","message":"Can we move VIP Address up before Provisioning status?\nThat way the columns are in the same order as neutron client.","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bdc5a537dcebca59f77a6b32470926ecc7c8ea94","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            \u0027Name\u0027,"},{"line_number":32,"context_line":"            \u0027Project ID\u0027,"},{"line_number":33,"context_line":"            \u0027Provisioning Status\u0027,"},{"line_number":34,"context_line":"            \u0027VIP Address\u0027,)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        data \u003d self.app.client_manager.load_balancer.load_balancer_list()"},{"line_number":37,"context_line":"        return (columns,"}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_e2f03f6a","line":34,"range":{"start_line":34,"start_character":12,"end_line":34,"end_character":25},"in_reply_to":"bff0334d_02fe83ad","updated":"2017-04-06 23:03:55.000000000","message":"Done","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"}],"octaviaclient/tests/unit/api/test_load_balancer.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"79f69671007f6333eab2591791e9007ef6ae4c00","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"FAKE_ACCOUNT \u003d \u0027q12we34r\u0027"},{"line_number":23,"context_line":"FAKE_AUTH \u003d \u002711223344556677889900\u0027"},{"line_number":24,"context_line":"FAKE_URL \u003d \u0027http://gopher.com/v2.0/lbaas/\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"FAKE_LB \u003d \u0027rainbarrel\u0027"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_22c6274a","line":24,"range":{"start_line":24,"start_character":19,"end_line":24,"end_character":29},"updated":"2017-04-06 22:42:29.000000000","message":"Please use a reserved domain name such as \"example.com\"\n\nhttps://tools.ietf.org/html/rfc6761","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bdc5a537dcebca59f77a6b32470926ecc7c8ea94","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"FAKE_ACCOUNT \u003d \u0027q12we34r\u0027"},{"line_number":23,"context_line":"FAKE_AUTH \u003d \u002711223344556677889900\u0027"},{"line_number":24,"context_line":"FAKE_URL \u003d \u0027http://gopher.com/v2.0/lbaas/\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"FAKE_LB \u003d \u0027rainbarrel\u0027"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_c2c1bbe6","line":24,"range":{"start_line":24,"start_character":19,"end_line":24,"end_character":29},"in_reply_to":"bff0334d_22c6274a","updated":"2017-04-06 23:03:55.000000000","message":"Done","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"}],"octaviaclient/tests/unit/osc/v2/fakes.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"79f69671007f6333eab2591791e9007ef6ae4c00","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \u0027name\u0027: \u0027lb1\u0027,"},{"line_number":25,"context_line":"    \u0027project_id\u0027: \u0027dummyproject\u0027,"},{"line_number":26,"context_line":"    \u0027provisioning_status\u0027: \u0027ONLINE\u0027,"},{"line_number":27,"context_line":"    \u0027vip_address\u0027: \u002710.0.0.1\u0027,"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_02efa3b0","line":27,"range":{"start_line":27,"start_character":20,"end_line":27,"end_character":28},"updated":"2017-04-06 22:42:29.000000000","message":"Please use a reserved test/doc IP addresses like 192.0.2.1\n\nhttps://tools.ietf.org/html/rfc5737","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bdc5a537dcebca59f77a6b32470926ecc7c8ea94","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \u0027name\u0027: \u0027lb1\u0027,"},{"line_number":25,"context_line":"    \u0027project_id\u0027: \u0027dummyproject\u0027,"},{"line_number":26,"context_line":"    \u0027provisioning_status\u0027: \u0027ONLINE\u0027,"},{"line_number":27,"context_line":"    \u0027vip_address\u0027: \u002710.0.0.1\u0027,"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_95a52b07","line":27,"range":{"start_line":27,"start_character":20,"end_line":27,"end_character":28},"in_reply_to":"bff0334d_02efa3b0","updated":"2017-04-06 23:03:55.000000000","message":"Done","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"79f69671007f6333eab2591791e9007ef6ae4c00","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027name\u0027: \u0027lb-name-\u0027 + uuid.uuid4().hex,"},{"line_number":68,"context_line":"            \u0027project_id\u0027: uuid.uuid4().hex,"},{"line_number":69,"context_line":"            \u0027provisioning_status\u0027: \u0027ONLINE\u0027,"},{"line_number":70,"context_line":"            \u0027vip_address\u0027: \u002710.0.0.1\u0027,"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        lb_info.update(attrs)"}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_623f8f25","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":36},"updated":"2017-04-06 22:42:29.000000000","message":"Same with this IP","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bdc5a537dcebca59f77a6b32470926ecc7c8ea94","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027name\u0027: \u0027lb-name-\u0027 + uuid.uuid4().hex,"},{"line_number":68,"context_line":"            \u0027project_id\u0027: uuid.uuid4().hex,"},{"line_number":69,"context_line":"            \u0027provisioning_status\u0027: \u0027ONLINE\u0027,"},{"line_number":70,"context_line":"            \u0027vip_address\u0027: \u002710.0.0.1\u0027,"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        lb_info.update(attrs)"}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_75a867da","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":36},"in_reply_to":"bff0334d_623f8f25","updated":"2017-04-06 23:03:55.000000000","message":"Done","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"}],"octaviaclient/tests/unit/osc/v2/test_load_balancer.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"79f69671007f6333eab2591791e9007ef6ae4c00","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from octaviaclient.tests.unit.osc.v2 import fakes as lb_fakes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"AUTH_TOKEN \u003d \"foobar\""},{"line_number":21,"context_line":"AUTH_URL \u003d \"http://0.0.0.0\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestLoadBalancer(lb_fakes.TestLoadBalancerv2):"}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_a20eb78a","line":21,"range":{"start_line":21,"start_character":19,"end_line":21,"end_character":26},"updated":"2017-04-06 22:42:29.000000000","message":"Use a test/doc IP","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bdc5a537dcebca59f77a6b32470926ecc7c8ea94","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from octaviaclient.tests.unit.osc.v2 import fakes as lb_fakes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"AUTH_TOKEN \u003d \"foobar\""},{"line_number":21,"context_line":"AUTH_URL \u003d \"http://0.0.0.0\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestLoadBalancer(lb_fakes.TestLoadBalancerv2):"}],"source_content_type":"text/x-python","patch_set":14,"id":"bff0334d_35aadfd1","line":21,"range":{"start_line":21,"start_character":19,"end_line":21,"end_character":26},"in_reply_to":"bff0334d_a20eb78a","updated":"2017-04-06 23:03:55.000000000","message":"Done","commit_id":"d4d652001b4e1bc032d53f8ab2f577fdd5e1fad2"}],"octaviaclient/tests/utils.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"703cab795ec03fe114a3a9277990d74227c5accc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    pass"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class TestCase(testtools.TestCase):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def setUp(self):"},{"line_number":31,"context_line":"        testtools.TestCase.setUp(self)"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_40a3a350","line":28,"updated":"2017-04-05 16:41:24.000000000","message":"Is this different from what is in osc_lib.tests.utils.py?  If not just use that.","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"26751ad0f1e390a25ec2708e330635223ac5a642","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    pass"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class TestCase(testtools.TestCase):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def setUp(self):"},{"line_number":31,"context_line":"        testtools.TestCase.setUp(self)"}],"source_content_type":"text/x-python","patch_set":13,"id":"bff0334d_dad08c53","line":28,"in_reply_to":"bff0334d_40a3a350","updated":"2017-04-06 17:36:08.000000000","message":"Done","commit_id":"680ab0ec9df422c8713e7500128dfa795510b817"}],"releasenotes/notes/initial-list-command-90c9fa39fc10540e.yaml":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1896ff15f86c696dcc5f5855bd50b0fa40646b07","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Intial commits and configuration of the Octavia OSC plugin."},{"line_number":4,"context_line":"    The commit improves upon the initial cookie cutter and includes modified"},{"line_number":5,"context_line":"    doc structure and the first command implemented for the OSC plugin."},{"line_number":6,"context_line":"features:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfeb2761_14c0e14f","line":3,"updated":"2017-04-03 20:48:14.000000000","message":"This reads like a commit message.  Note that release notes target users/operators of the feature.","commit_id":"4f94e5b48a64813c51ec821a08a2153a36c979c0"}]}
