)]}'
{"cinderclient/client.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"506e85fc3f423d57c1d0ad616e9ba8234526e9b4","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            raise exceptions.from_response(resp, body)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        if not self.global_request_id:"},{"line_number":158,"context_line":"            self.global_request_id \u003d resp.headers.get(\u0027x-openstack-request-id\u0027)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        return resp, body"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_eddceee4","line":158,"updated":"2017-06-28 21:58:05.000000000","message":"I\u0027m not sure how this is related to this patch","commit_id":"4dafe3d0c4932bf649612a6c4df120ef9c53d1e5"}],"cinderclient/exceptions.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"506e85fc3f423d57c1d0ad616e9ba8234526e9b4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \"\"\"When an action exceeds the timeout period to complete the action\"\"\""},{"line_number":38,"context_line":"    def __init__(self, obj, action):"},{"line_number":39,"context_line":"        self.message \u003d (\"The \u0027%(action)s\u0027 of the \u0027%(object_name)s\u0027 exceeded\""},{"line_number":40,"context_line":"                \"the timeout period\" % {\"action\": action,"},{"line_number":41,"context_line":"                    \"object_name\": obj.__class__.__name__})"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def __str__(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_8d48dab2","line":40,"updated":"2017-06-28 21:58:05.000000000","message":"should fix the indentation.","commit_id":"4dafe3d0c4932bf649612a6c4df120ef9c53d1e5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49607ab9df5f44b3e6248b419ef36294c9f43aa5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from oslo_utils import timeutils"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ResourceInErrorState(Exception):"},{"line_number":25,"context_line":"    \"\"\"When resource is in Error state\"\"\""},{"line_number":26,"context_line":"    def __init__(self, obj, fault_msg):"},{"line_number":27,"context_line":"        msg \u003d \"\u0027%s\u0027 resource is in the error state\" % obj.__class__.__name__"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_b5fbe045","line":24,"updated":"2017-06-28 22:50:04.000000000","message":"e","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"},{"author":{"_account_id":26155,"name":"Chaynika Saikia","email":"csaikia@asu.edu","username":"csaikia"},"change_message_id":"de3de3e036345cd926b4d6d796f88f2002b10e79","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from oslo_utils import timeutils"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ResourceInErrorState(Exception):"},{"line_number":25,"context_line":"    \"\"\"When resource is in Error state\"\"\""},{"line_number":26,"context_line":"    def __init__(self, obj, fault_msg):"},{"line_number":27,"context_line":"        msg \u003d \"\u0027%s\u0027 resource is in the error state\" % obj.__class__.__name__"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_185d29e9","line":24,"in_reply_to":"5f201791_b5fbe045","updated":"2017-06-28 23:15:48.000000000","message":"Should I make any changes in this line?","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49607ab9df5f44b3e6248b419ef36294c9f43aa5","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class TimeoutException(Exception):"},{"line_number":37,"context_line":"    \"\"\"When an action exceeds the timeout period to complete the action\"\"\""},{"line_number":38,"context_line":"    def __init__(self, obj, action):"},{"line_number":39,"context_line":"        self.message \u003d (\"The \u0027%(action)s\u0027 of the \u0027%(object_name)s\u0027 exceeded\""},{"line_number":40,"context_line":"                    \"the timeout period\" % {\"action\": action,"},{"line_number":41,"context_line":"                    \"object_name\": obj.__class__.__name__})"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_75930802","line":39,"range":{"start_line":39,"start_character":74,"end_line":39,"end_character":76},"updated":"2017-06-28 22:50:04.000000000","message":"missing space here at eol.","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49607ab9df5f44b3e6248b419ef36294c9f43aa5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    \"\"\"When an action exceeds the timeout period to complete the action\"\"\""},{"line_number":38,"context_line":"    def __init__(self, obj, action):"},{"line_number":39,"context_line":"        self.message \u003d (\"The \u0027%(action)s\u0027 of the \u0027%(object_name)s\u0027 exceeded\""},{"line_number":40,"context_line":"                    \"the timeout period\" % {\"action\": action,"},{"line_number":41,"context_line":"                    \"object_name\": obj.__class__.__name__})"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def __str__(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_f586f8ba","line":40,"range":{"start_line":40,"start_character":38,"end_line":40,"end_character":40},"updated":"2017-06-28 22:50:04.000000000","message":"please add a \u0027.\u0027 at eol","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"}],"cinderclient/releasenotes/notes/cinder-poll-260c0fcf69d14763.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1e971a6d7886ef88fb33b9c8614f32e362faf3dc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"      Support to wait for volume creation until it completes."},{"line_number":4,"context_line":"      The command is : cinder create --poll \u003cvolume_size\u003e"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_bb497b61","line":4,"range":{"start_line":4,"start_character":23,"end_line":4,"end_character":57},"updated":"2017-07-21 19:11:27.000000000","message":"Can you add `` around the command so it gets formatted in the release notes output?\n\nNit: please remove the space between \"is\" and \":\"","commit_id":"35793d4408615e17ae71b24b67626ff6a6ebdbe9"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"76819a2f4cd30683fa2e04d56796d9aefab0f3d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"      Support to wait for volume creation until it completes."},{"line_number":4,"context_line":"      The command is: \u0027cinder create --poll \u003cvolume_size\u003e\u0027"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ff346bd7_5b1e0f71","line":4,"range":{"start_line":4,"start_character":22,"end_line":4,"end_character":23},"updated":"2017-07-21 19:48:15.000000000","message":"Sorry, please use ``, not single quotes.","commit_id":"42cc1ddba08c41fa7ab3347a33faad48bbbac8f8"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d97c270381f8af92783f9fae828db443f1389f4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"      Support to wait for volume creation until it completes."},{"line_number":4,"context_line":"      The command is: `cinder create --poll \u003cvolume_size\u003e`"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ff346bd7_a62cb099","line":4,"range":{"start_line":4,"start_character":22,"end_line":4,"end_character":23},"updated":"2017-07-24 03:16:01.000000000","message":"Two back quotes:\n\n``cinder create --poll \u003cvolume_size\u003e``","commit_id":"9e740e6c304ac5c74a54f12cd59d39f01f5ceb20"}],"cinderclient/shell_utils.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"506e85fc3f423d57c1d0ad616e9ba8234526e9b4","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"def _poll_for_status(poll_fn, obj_id, info, action, final_ok_states,"},{"line_number":282,"context_line":"        global_request_id\u003dNone, messages\u003dNone,"},{"line_number":283,"context_line":"        poll_period\u003d2, timeout_period\u003d450, show_progress\u003dTrue,"},{"line_number":284,"context_line":"        status_field\u003d\"status\"):"},{"line_number":285,"context_line":"    \"\"\"Block while an action is being performed\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_2de8a679","line":282,"updated":"2017-06-28 21:58:05.000000000","message":"this line should indent under poll_fn from the line above.","commit_id":"4dafe3d0c4932bf649612a6c4df120ef9c53d1e5"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"506e85fc3f423d57c1d0ad616e9ba8234526e9b4","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        global_request_id\u003dNone, messages\u003dNone,"},{"line_number":283,"context_line":"        poll_period\u003d2, timeout_period\u003d450, show_progress\u003dTrue,"},{"line_number":284,"context_line":"        status_field\u003d\"status\"):"},{"line_number":285,"context_line":"    \"\"\"Block while an action is being performed\"\"\""},{"line_number":286,"context_line":"    time_elapsed \u003d 0"},{"line_number":287,"context_line":"    while True:"},{"line_number":288,"context_line":"        time.sleep(poll_period)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_ed050e47","line":285,"updated":"2017-06-28 21:58:05.000000000","message":"needs a .","commit_id":"4dafe3d0c4932bf649612a6c4df120ef9c53d1e5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f2b8724342d71360f91355c6767d302606e2c373","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                try:"},{"line_number":307,"context_line":"                    fault_msg \u003d message_list[0].user_message"},{"line_number":308,"context_line":"                except IndexError:"},{"line_number":309,"context_line":"                    fault_msg \u003d \"Unknown error. Operation failed\""},{"line_number":310,"context_line":"                raise exceptions.ResourceInErrorState(obj, fault_msg)"},{"line_number":311,"context_line":"        elif time_elapsed \u003d\u003d timeout_period:"},{"line_number":312,"context_line":"            utils.print_dict(info)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_a8cb751c","line":309,"range":{"start_line":309,"start_character":61,"end_line":309,"end_character":65},"updated":"2017-07-12 15:45:47.000000000","message":"Period at EOL please.","commit_id":"cbc4800c89477998122582fcc9c20c4794d9bfe0"}],"cinderclient/tests/unit/v3/fakes.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"5d6c82447ece70153dcc6d2049db1e8e184ea309","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                               \u0027project_id\u0027, \u0027auth_url\u0027,"},{"line_number":79,"context_line":"                               extensions\u003dkwargs.get(\u0027extensions\u0027))"},{"line_number":80,"context_line":"        self.api_version \u003d api_version"},{"line_number":81,"context_line":"        global_id \u003d \"req-%s\" % uuid.uuid4()"},{"line_number":82,"context_line":"        self.client \u003d FakeHTTPClient(api_version \u003d api_version,"},{"line_number":83,"context_line":"                global_request_id\u003dglobal_id, **kwargs)"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_a8b51a34","line":81,"updated":"2017-06-26 20:50:44.000000000","message":"Should avoid generating dynamic UUIDs in unit tests.  Using a static UUID here makes it easier to track unit test failures in the gate.","commit_id":"fc36ee6b185c79c6b54c70d02e4599df0c8a4f19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1e971a6d7886ef88fb33b9c8614f32e362faf3dc","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                               extensions\u003dkwargs.get(\u0027extensions\u0027))"},{"line_number":79,"context_line":"        self.api_version \u003d api_version"},{"line_number":80,"context_line":"        global_id \u003d \"req-f551871a-4950-4225-9b2c-29a14c8f075e\""},{"line_number":81,"context_line":"        self.client \u003d FakeHTTPClient(api_version \u003d api_version,"},{"line_number":82,"context_line":"                global_request_id\u003dglobal_id, **kwargs)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def get_volume_api_version_from_endpoint(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_5b516f0e","line":81,"range":{"start_line":81,"start_character":48,"end_line":81,"end_character":51},"updated":"2017-07-21 19:11:27.000000000","message":"Remove spaces before and after \u003d","commit_id":"35793d4408615e17ae71b24b67626ff6a6ebdbe9"}],"cinderclient/tests/unit/v3/test_shell.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"5d6c82447ece70153dcc6d2049db1e8e184ea309","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.requests \u003d self.useFixture(requests_mock_fixture.Fixture())"},{"line_number":57,"context_line":"        self.requests.register_uri("},{"line_number":58,"context_line":"            \u0027GET\u0027, keystone_client.BASE_URL,"},{"line_number":59,"context_line":"            text\u003dkeystone_client.keystone_request_callback)"},{"line_number":60,"context_line":"        self.cs \u003d mock.Mock()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def run_command(self, cmd):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_a8bcfa05","line":59,"updated":"2017-06-26 20:50:44.000000000","message":"Better to not change this here since it\u0027s unrelated.","commit_id":"fc36ee6b185c79c6b54c70d02e4599df0c8a4f19"}],"cinderclient/v3/shell.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"5d6c82447ece70153dcc6d2049db1e8e184ea309","unresolved":false,"context_lines":[{"line_number":501,"context_line":"           default\u003dFalse)"},{"line_number":502,"context_line":"@utils.arg(\u0027--poll\u0027,"},{"line_number":503,"context_line":"           action\u003d\"store_true\","},{"line_number":504,"context_line":"           help\u003d(\u0027Check progress of volume creation till it completes\u0027),"},{"line_number":505,"context_line":"           default\u003dFalse)"},{"line_number":506,"context_line":"def do_create(cs, args):"},{"line_number":507,"context_line":"    \"\"\"Creates a volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_48d8c679","line":504,"updated":"2017-06-26 20:50:44.000000000","message":"Other help strings end in a period, should make this one match.","commit_id":"fc36ee6b185c79c6b54c70d02e4599df0c8a4f19"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"506e85fc3f423d57c1d0ad616e9ba8234526e9b4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import collections"},{"line_number":21,"context_line":"import os"},{"line_number":22,"context_line":"import sys"},{"line_number":23,"context_line":"import time"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo_utils import strutils"},{"line_number":26,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_cdaed22c","line":23,"updated":"2017-06-28 21:58:05.000000000","message":"I don\u0027t see where your patch references either of these","commit_id":"4dafe3d0c4932bf649612a6c4df120ef9c53d1e5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49607ab9df5f44b3e6248b419ef36294c9f43aa5","unresolved":false,"context_lines":[{"line_number":500,"context_line":"           default\u003dFalse)"},{"line_number":501,"context_line":"@utils.arg(\u0027--poll\u0027,"},{"line_number":502,"context_line":"           action\u003d\"store_true\","},{"line_number":503,"context_line":"           help\u003d(\u0027Wait for volume creation till it completes.\u0027),"},{"line_number":504,"context_line":"           default\u003dFalse)"},{"line_number":505,"context_line":"def do_create(cs, args):"},{"line_number":506,"context_line":"    \"\"\"Creates a volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_95a6a453","line":503,"updated":"2017-06-28 22:50:04.000000000","message":"Can we make the timeout period configurable here?  Looks like you have it hard coded now.","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"},{"author":{"_account_id":26155,"name":"Chaynika Saikia","email":"csaikia@asu.edu","username":"csaikia"},"change_message_id":"de3de3e036345cd926b4d6d796f88f2002b10e79","unresolved":false,"context_lines":[{"line_number":500,"context_line":"           default\u003dFalse)"},{"line_number":501,"context_line":"@utils.arg(\u0027--poll\u0027,"},{"line_number":502,"context_line":"           action\u003d\"store_true\","},{"line_number":503,"context_line":"           help\u003d(\u0027Wait for volume creation till it completes.\u0027),"},{"line_number":504,"context_line":"           default\u003dFalse)"},{"line_number":505,"context_line":"def do_create(cs, args):"},{"line_number":506,"context_line":"    \"\"\"Creates a volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_f8482d2f","line":503,"in_reply_to":"5f201791_95a6a453","updated":"2017-06-28 23:15:48.000000000","message":"I believe we should be able to make it configurable in case the user gives something like \"cinder create 1 --poll\u003d120\" or something similar.","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"31d7e221fcfb9e0a87e9af5519cf6b7b9edec2f2","unresolved":false,"context_lines":[{"line_number":500,"context_line":"           default\u003dFalse)"},{"line_number":501,"context_line":"@utils.arg(\u0027--poll\u0027,"},{"line_number":502,"context_line":"           action\u003d\"store_true\","},{"line_number":503,"context_line":"           help\u003d(\u0027Wait for volume creation till it completes.\u0027),"},{"line_number":504,"context_line":"           default\u003dFalse)"},{"line_number":505,"context_line":"def do_create(cs, args):"},{"line_number":506,"context_line":"    \"\"\"Creates a volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f1d235d_e673e04c","line":503,"in_reply_to":"5f201791_f8482d2f","updated":"2017-06-29 13:27:28.000000000","message":"I don\u0027t think we really want this to be adjusted by the user in general, it\u0027s more for when something goes wrong.  I think we should default to one hour, and have an environment variable to adjust that, not a prominent CLI option.","commit_id":"bfebb36b8eff9c7289daca7c0bef6529bc07ecfc"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"7ee5e8a17d77a514274837165050efbdb2987e82","unresolved":false,"context_lines":[{"line_number":500,"context_line":"           default\u003dFalse)"},{"line_number":501,"context_line":"@utils.arg(\u0027--poll\u0027,"},{"line_number":502,"context_line":"           action\u003d\"store_true\","},{"line_number":503,"context_line":"           default\u003dutils.env(\u0027POLL_TIMEOUT_PERIOD\u0027, default\u003d3600),"},{"line_number":504,"context_line":"           help\u003d(\u0027Wait for volume creation till it completes.\u0027))"},{"line_number":505,"context_line":"def do_create(cs, args):"},{"line_number":506,"context_line":"    \"\"\"Creates a volume.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_96a36800","line":503,"range":{"start_line":503,"start_character":11,"end_line":503,"end_character":65},"updated":"2017-07-06 17:38:33.000000000","message":"This is not needed here.","commit_id":"cfaf9f894fc200466a8bf348f656be198065324e"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f2b8724342d71360f91355c6767d302606e2c373","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           default\u003dFalse)"},{"line_number":507,"context_line":"@utils.arg(\u0027--poll\u0027,"},{"line_number":508,"context_line":"           action\u003d\"store_true\","},{"line_number":509,"context_line":"           help\u003d(\u0027Wait for volume creation till it completes.\u0027))"},{"line_number":510,"context_line":"def do_create(cs, args):"},{"line_number":511,"context_line":"    \"\"\"Creates a volume.\"\"\""},{"line_number":512,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_4803c143","line":509,"range":{"start_line":509,"start_character":43,"end_line":509,"end_character":47},"updated":"2017-07-12 15:45:47.000000000","message":"until","commit_id":"cbc4800c89477998122582fcc9c20c4794d9bfe0"}]}
