)]}'
{"cinder/tests/unit/test_solidfire.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"3c3433d5134b6bbdeb0ebf0aefea15e00fd2bf5a","unresolved":false,"context_lines":[{"line_number":731,"context_line":"                                                 \"qos:burstIOPS\": \"2000\","},{"line_number":732,"context_line":"                                                 \"qos:maxIOPS\": \"1000\"})"},{"line_number":733,"context_line":"        diff \u003d {\u0027encryption\u0027: {}, \u0027qos_specs\u0027: {},"},{"line_number":734,"context_line":"                \u0027extra_specs\u0027: {\u0027qos:burstIOPS\u0027: (\u002710000\u0027, u\u00272000\u0027),"},{"line_number":735,"context_line":"                                \u0027qos:minIOPS\u0027: (\u00271000\u0027, u\u0027500\u0027),"},{"line_number":736,"context_line":"                                \u0027qos:maxIOPS\u0027: (\u002710000\u0027, u\u00271000\u0027)}}"},{"line_number":737,"context_line":"        host \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_e5d0d055","side":"PARENT","line":734,"updated":"2015-10-14 20:16:09.000000000","message":"This syntax works on Python 3.3 and newer, and OpenStack targets Python 3.4. Why did you remove the u prefix?","commit_id":"166e0bb625ec6da01020a316319b9feb8247069c"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0d5f846fcb2eeac4b57446241ca509e57390e24a","unresolved":false,"context_lines":[{"line_number":731,"context_line":"                                                 \"qos:burstIOPS\": \"2000\","},{"line_number":732,"context_line":"                                                 \"qos:maxIOPS\": \"1000\"})"},{"line_number":733,"context_line":"        diff \u003d {\u0027encryption\u0027: {}, \u0027qos_specs\u0027: {},"},{"line_number":734,"context_line":"                \u0027extra_specs\u0027: {\u0027qos:burstIOPS\u0027: (\u002710000\u0027, u\u00272000\u0027),"},{"line_number":735,"context_line":"                                \u0027qos:minIOPS\u0027: (\u00271000\u0027, u\u0027500\u0027),"},{"line_number":736,"context_line":"                                \u0027qos:maxIOPS\u0027: (\u002710000\u0027, u\u00271000\u0027)}}"},{"line_number":737,"context_line":"        host \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_204c766f","side":"PARENT","line":734,"in_reply_to":"5a2ca52d_e5d0d055","updated":"2015-10-14 20:40:01.000000000","message":":)  so to be honest, I just went off of the 2to3 data and some brief google searching.","commit_id":"166e0bb625ec6da01020a316319b9feb8247069c"}],"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"3c3433d5134b6bbdeb0ebf0aefea15e00fd2bf5a","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                      \u0027created_at\u0027: create_time}"},{"line_number":511,"context_line":"        if qos:"},{"line_number":512,"context_line":"            params[\u0027qos\u0027] \u003d qos"},{"line_number":513,"context_line":"            for k, v in list(qos.items()):"},{"line_number":514,"context_line":"                attributes[k] \u003d str(v)"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        params[\u0027attributes\u0027] \u003d attributes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_6597e090","line":513,"updated":"2015-10-14 20:16:09.000000000","message":"Why do you need to create a list? The code didn\u0027t work before?\n\nSame question for similar changes below.","commit_id":"33f2a998bf2f1490cb6226ca9f6a33f9e189faa6"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"f691bdcfc83db4af22990c759a4e448e3e853657","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                      \u0027created_at\u0027: create_time}"},{"line_number":511,"context_line":"        if qos:"},{"line_number":512,"context_line":"            params[\u0027qos\u0027] \u003d qos"},{"line_number":513,"context_line":"            for k, v in list(qos.items()):"},{"line_number":514,"context_line":"                attributes[k] \u003d str(v)"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        params[\u0027attributes\u0027] \u003d attributes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_0c10704d","line":513,"in_reply_to":"5a2ca52d_10089e2b","updated":"2015-10-15 14:03:31.000000000","message":"@Victor\nYeah, went back through more closely and I think infact the only issue is the use of dict.keys in a few places (and some current work I\u0027m doing which spurred this to begin with).\n\nThanks for the links and advice; I\u0027ll check them out and update this later.\n\nThanks!!","commit_id":"33f2a998bf2f1490cb6226ca9f6a33f9e189faa6"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"e03c07befe3daafe13af46d67dc9d67e0f4cd312","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                      \u0027created_at\u0027: create_time}"},{"line_number":511,"context_line":"        if qos:"},{"line_number":512,"context_line":"            params[\u0027qos\u0027] \u003d qos"},{"line_number":513,"context_line":"            for k, v in list(qos.items()):"},{"line_number":514,"context_line":"                attributes[k] \u003d str(v)"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        params[\u0027attributes\u0027] \u003d attributes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_10089e2b","line":513,"in_reply_to":"5a2ca52d_203556d9","updated":"2015-10-15 06:52:17.000000000","message":"IMHO you can reduce the whole patch to this change:\n\nvalid_presets \u003d list(self.sf_qos_dict.keys())\n\nI\u0027m trying to produce the least changes to port code to Python 3.\n\nRead the wiki page which gives you recipes to port OpenStack code to Python 3:\nhttps://wiki.openstack.org/wiki/Python3#Port_Python_2_code_to_Python_3\n\n2to3 is *not* a good choice for Cinder (and OpenStack in general). I advice you to use my tool sixer instead:\nhttps://pypi.python.org/pypi/sixer\n\nMy blog post explains why sixer fits better OpenStack development:\nhttp://haypo.github.io/python3-sixer.html","commit_id":"33f2a998bf2f1490cb6226ca9f6a33f9e189faa6"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0d5f846fcb2eeac4b57446241ca509e57390e24a","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                      \u0027created_at\u0027: create_time}"},{"line_number":511,"context_line":"        if qos:"},{"line_number":512,"context_line":"            params[\u0027qos\u0027] \u003d qos"},{"line_number":513,"context_line":"            for k, v in list(qos.items()):"},{"line_number":514,"context_line":"                attributes[k] \u003d str(v)"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        params[\u0027attributes\u0027] \u003d attributes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_203556d9","line":513,"in_reply_to":"5a2ca52d_6597e090","updated":"2015-10-14 20:40:01.000000000","message":"so to be honest, I just went off of the 2to3 data and some brief google searching.","commit_id":"33f2a998bf2f1490cb6226ca9f6a33f9e189faa6"}]}
