)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"71783d9c582eba03c748d606588d13aaaa666546","unresolved":false,"context_lines":[{"line_number":21,"context_line":"oslo-spec: https://review.openstack.org/#/c/103825/"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Based on: https://review.openstack.org/#/c/105089/"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I56ce4b547230e475854994c9d2249ef90e5b656c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a740942_9650b40c","line":24,"updated":"2015-12-08 11:34:10.000000000","message":"please, add a link of your bp in nova:)","commit_id":"0590f9b91cc53ae05db1207b15ae72d7e4ffd5d9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"044aba966f5a61570a1f8b479597878e66e37041","unresolved":false,"context_lines":[{"line_number":19,"context_line":"is able to send proper header."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"oslo-spec: https://review.openstack.org/#/c/103825/"},{"line_number":22,"context_line":"main Nova change: https://review.openstack.org/#/c/254703/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Based on: https://review.openstack.org/#/c/105089/"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a740942_5957dfc9","line":22,"updated":"2015-12-08 11:53:07.000000000","message":"It is better to use \n\n    Depends-On: I82d2badc8c1fcec27c3fce7c3c20e0f3b76414f1","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"044aba966f5a61570a1f8b479597878e66e37041","unresolved":false,"context_lines":[{"line_number":22,"context_line":"main Nova change: https://review.openstack.org/#/c/254703/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Based on: https://review.openstack.org/#/c/105089/"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Partially implements: blueprint osprofiler-support-in-nova"},{"line_number":27,"context_line":"Change-Id: I56ce4b547230e475854994c9d2249ef90e5b656c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a740942_993a2798","line":25,"updated":"2015-12-08 11:53:07.000000000","message":"@Dina: add yourself as co-author, if new patch-set will needed.","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"dd6dc1077e3b8953f5b22af1eaf83972c52737f4","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Based on: https://review.openstack.org/#/c/105089/"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Partially implements: blueprint osprofiler-support-in-nova"},{"line_number":27,"context_line":"Change-Id: I56ce4b547230e475854994c9d2249ef90e5b656c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a740942_ea199223","line":26,"updated":"2015-12-10 09:21:11.000000000","message":"Should add a Depends-On to I82d2badc8c1fcec27c3fce7c3c20e0f3b76414f1 as this change should not merge until the server side code is merged","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"}],"novaclient/client.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"71783d9c582eba03c748d606588d13aaaa666546","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        api_versions.update_headers(kwargs[\"headers\"], self.api_version)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        if osprofiler_web:"},{"line_number":86,"context_line":"            kwargs[\u0027headers\u0027].update(osprofiler_web.get_trace_id_headers())"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        # NOTE(jamielennox): The standard call raises errors from"},{"line_number":89,"context_line":"        # keystoneclient, where we need to raise the novaclient errors."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_9608b4db","line":86,"updated":"2015-12-08 11:34:10.000000000","message":"It would be nice to add here a note that osprofiler_web.get_trace_id_headers() doesn\u0027t add any headers if osprofiler is not initialized. It is unclear without checking osprofiler\u0027s code.","commit_id":"0590f9b91cc53ae05db1207b15ae72d7e4ffd5d9"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if url not in self._adapters:"},{"line_number":57,"context_line":"            self._adapters[url] \u003d session.TCPKeepAliveAdapter()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        return self._adapters[url]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def _log_request_id(logger, resp, service_name):"}],"source_content_type":"text/x-python","patch_set":15,"id":"da4df55a_20186b84","line":59,"updated":"2016-12-22 16:41:14.000000000","message":"Where are you using _ClientConnectionPool?  I don\u0027t recall seeing it used anywhere else in the change…","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3ceb1c504ac20d603fbe503cb204b363df290bc6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if url not in self._adapters:"},{"line_number":57,"context_line":"            self._adapters[url] \u003d session.TCPKeepAliveAdapter()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        return self._adapters[url]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def _log_request_id(logger, resp, service_name):"}],"source_content_type":"text/x-python","patch_set":15,"id":"da4df55a_fbce1582","line":59,"in_reply_to":"da4df55a_20186b84","updated":"2016-12-22 17:06:15.000000000","message":"I think it appeared after rebase. Previously this class was in master:)","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if url not in self._adapters:"},{"line_number":57,"context_line":"            self._adapters[url] \u003d session.TCPKeepAliveAdapter()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        return self._adapters[url]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def _log_request_id(logger, resp, service_name):"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba5201f7_4d930ea4","line":59,"in_reply_to":"da4df55a_fbce1582","updated":"2016-12-29 14:44:55.000000000","message":"Ah, good catch! Updated the patch in a rush before vacation :P","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3ceb1c504ac20d603fbe503cb204b363df290bc6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                      \u0027response_request_id\u0027: request_id})"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def _inject_osprofiler_headers(headers):"},{"line_number":75,"context_line":"    # NOTE(dbelova): osprofiler_web.get_trace_id_headers does not add any"},{"line_number":76,"context_line":"    # headers in case if osprofiler is not initialized."},{"line_number":77,"context_line":"    if osprofiler_web:"}],"source_content_type":"text/x-python","patch_set":15,"id":"da4df55a_fb953540","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":40},"updated":"2016-12-22 17:06:15.000000000","message":"since we have only one driver for communication client with API, we can merge this method to SessionClient.","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                      \u0027response_request_id\u0027: request_id})"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def _inject_osprofiler_headers(headers):"},{"line_number":75,"context_line":"    # NOTE(dbelova): osprofiler_web.get_trace_id_headers does not add any"},{"line_number":76,"context_line":"    # headers in case if osprofiler is not initialized."},{"line_number":77,"context_line":"    if osprofiler_web:"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba5201f7_4dda2e7a","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":40},"in_reply_to":"da4df55a_fb953540","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"}],"novaclient/shell.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"71783d9c582eba03c748d606588d13aaaa666546","unresolved":false,"context_lines":[{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        if profile:"},{"line_number":855,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":856,"context_line":"            print(\"Trace ID: %s\" % trace_id)"},{"line_number":857,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":858,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":859,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_96bd14da","line":856,"updated":"2015-12-08 11:34:10.000000000","message":"Not related to this patch: I suppose this message are duplicated across all clients. Can we move it to osprofiler lib.","commit_id":"0590f9b91cc53ae05db1207b15ae72d7e4ffd5d9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"dd6dc1077e3b8953f5b22af1eaf83972c52737f4","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        (args, args_list) \u003d parser.parse_known_args(argv)"},{"line_number":574,"context_line":"        profile \u003d osprofiler_profiler and args.profile"},{"line_number":575,"context_line":"        if profile:"},{"line_number":576,"context_line":"            osprofiler_profiler.init(args.profile)"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        self.setup_debugging(args.debug)"},{"line_number":579,"context_line":"        self.extensions \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_eac75262","line":576,"updated":"2015-12-10 09:21:11.000000000","message":"Does this validate the HMAC_KEY? what happens if there\u0027s a cut and paste problem and a character got dropped off?","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"72cbf96c27229b51b76a6cada903f4e54c748bb8","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        (args, args_list) \u003d parser.parse_known_args(argv)"},{"line_number":574,"context_line":"        profile \u003d osprofiler_profiler and args.profile"},{"line_number":575,"context_line":"        if profile:"},{"line_number":576,"context_line":"            osprofiler_profiler.init(args.profile)"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        self.setup_debugging(args.debug)"},{"line_number":579,"context_line":"        self.extensions \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_8908ff29","line":576,"in_reply_to":"7a740942_520889d9","updated":"2015-12-10 16:48:51.000000000","message":"Thanks Dina.","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"4bccadbced1f96e1868ba405ac8abcbb484dafe1","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        (args, args_list) \u003d parser.parse_known_args(argv)"},{"line_number":574,"context_line":"        profile \u003d osprofiler_profiler and args.profile"},{"line_number":575,"context_line":"        if profile:"},{"line_number":576,"context_line":"            osprofiler_profiler.init(args.profile)"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        self.setup_debugging(args.debug)"},{"line_number":579,"context_line":"        self.extensions \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_520889d9","line":576,"in_reply_to":"7a740942_eac75262","updated":"2015-12-10 14:54:06.000000000","message":"I\u0027ve answered here - https://review.openstack.org/#/c/254703/5\n\nDiagram with the flow explanation: http://paste.openstack.org/show/Lg2U2b4rULeoAhDNKBMF/","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"dd6dc1077e3b8953f5b22af1eaf83972c52737f4","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        if profile:"},{"line_number":855,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":856,"context_line":"            print(\"Trace ID: %s\" % trace_id)"},{"line_number":857,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":858,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"        if args.timings:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_3d1da60f","line":857,"updated":"2015-12-10 09:21:11.000000000","message":"Just this line is enough i think. Don\u0027t think we need the previous line","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"7505852f1e30aea7812e2c30ed6aa4537848c987","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        if profile:"},{"line_number":855,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":856,"context_line":"            print(\"Trace ID: %s\" % trace_id)"},{"line_number":857,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":858,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"        if args.timings:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_6e84b9b0","line":857,"in_reply_to":"7a740942_3d1da60f","updated":"2015-12-10 16:42:20.000000000","message":"Ok, I can remove it - I just used the same scheme I\u0027ve seen in the Glance, Trove, Cinder and Heat. Although I suppose that\u0027s just the question of the format used in every project.","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"72cbf96c27229b51b76a6cada903f4e54c748bb8","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        if profile:"},{"line_number":855,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":856,"context_line":"            print(\"Trace ID: %s\" % trace_id)"},{"line_number":857,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":858,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"        if args.timings:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_89a47f08","line":857,"in_reply_to":"7a740942_6e84b9b0","updated":"2015-12-10 16:48:51.000000000","message":"To deal with Nits like mine :) you should just have a method on osprofiler you should call from here! it\u0027s ok to leave it as-is :)","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"5a838a3d9f9da94ead6dce193be2a6aa5059b3ba","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        if profile:"},{"line_number":855,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":856,"context_line":"            print(\"Trace ID: %s\" % trace_id)"},{"line_number":857,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":858,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"        if args.timings:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_c98e0727","line":857,"in_reply_to":"7a740942_89a47f08","updated":"2015-12-10 16:51:42.000000000","message":"oh, I was typing \"git review\" at the moment you typed this :D","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"7de69829c2679d8a6a02ad6a4031844deebd04be","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        if profile:"},{"line_number":855,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":856,"context_line":"            print(\"Trace ID: %s\" % trace_id)"},{"line_number":857,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":858,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"        if args.timings:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_09e5efa6","line":857,"in_reply_to":"7a740942_c98e0727","updated":"2015-12-10 16:56:14.000000000","message":"And yeah, I\u0027ll add this method to osprofiler and the method describing the info on #428 line in this file - it\u0027s almost the same everywhere. I\u0027ll do that some day :D","commit_id":"5dbc8592ef81350940fbcddda5f71c808292ae19"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"0c992abeced55da0f86272f354d131266db10536","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        if profile:"},{"line_number":850,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":851,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":852,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        if args.timings:"},{"line_number":855,"context_line":"            self._dump_timings(self.times + self.cs.get_timings())"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_e1daaf4b","line":852,"updated":"2016-01-29 20:02:33.000000000","message":"I have a minor suggestion to indent this line in the output.  Doesn\u0027t need to be by much; even two leading spaces would be sufficient.","commit_id":"f730a626ddfc80bf2d3ea43523d2e5d4e8e213b3"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"e7ff8ee7ee0c6cdf4313abe2f8224871e527a4d4","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        if profile:"},{"line_number":850,"context_line":"            trace_id \u003d osprofiler_profiler.get().get_base_id()"},{"line_number":851,"context_line":"            print(\"To display trace use the command:\\n\\n\""},{"line_number":852,"context_line":"                  \"osprofiler trace show --html %s \" % trace_id)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        if args.timings:"},{"line_number":855,"context_line":"            self._dump_timings(self.times + self.cs.get_timings())"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a74a57a_3cade388","line":852,"in_reply_to":"7a5de9d1_e1daaf4b","updated":"2016-12-02 15:04:43.000000000","message":"Done","commit_id":"f730a626ddfc80bf2d3ea43523d2e5d4e8e213b3"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                                \u0027This key should be the value of the HMAC key \u0027"},{"line_number":520,"context_line":"                                \u0027configured for the OSprofiler middleware in \u0027"},{"line_number":521,"context_line":"                                \u0027nova; it is specified in the Nova \u0027"},{"line_number":522,"context_line":"                                \u0027configuration file at /etc/nova/nova.conf \u0027"},{"line_number":523,"context_line":"                                \u0027Without the key, profiling will not be \u0027"},{"line_number":524,"context_line":"                                \u0027triggered even if OSprofiler is enabled on \u0027"},{"line_number":525,"context_line":"                                \u0027the server side.\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"da4df55a_e0774300","line":522,"range":{"start_line":522,"start_character":55,"end_line":522,"end_character":74},"updated":"2016-12-22 16:41:14.000000000","message":"Without punctuation, this becomes a run-on sentence.  Let me suggest putting the filename in quotes, so the period is clearly distinguished from the file name, e.g.:\n\n    \u0027configuration file at \"/etc/nova/nova.conf\". \u0027","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                                \u0027This key should be the value of the HMAC key \u0027"},{"line_number":520,"context_line":"                                \u0027configured for the OSprofiler middleware in \u0027"},{"line_number":521,"context_line":"                                \u0027nova; it is specified in the Nova \u0027"},{"line_number":522,"context_line":"                                \u0027configuration file at /etc/nova/nova.conf \u0027"},{"line_number":523,"context_line":"                                \u0027Without the key, profiling will not be \u0027"},{"line_number":524,"context_line":"                                \u0027triggered even if OSprofiler is enabled on \u0027"},{"line_number":525,"context_line":"                                \u0027the server side.\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba5201f7_ed5762c8","line":522,"range":{"start_line":522,"start_character":55,"end_line":522,"end_character":74},"in_reply_to":"da4df55a_e0774300","updated":"2016-12-29 14:44:55.000000000","message":"Agreed. Done.","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"}],"novaclient/tests/unit/test_shell.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3ceb1c504ac20d603fbe503cb204b363df290bc6","unresolved":false,"context_lines":[{"line_number":659,"context_line":"    @requests_mock.Mocker()"},{"line_number":660,"context_line":"    def test_osprofiler(self, m_requests):"},{"line_number":661,"context_line":"        osprofiler \u003d importutils.try_import(\u0027osprofiler\u0027)"},{"line_number":662,"context_line":"        if osprofiler is None:"},{"line_number":663,"context_line":"            self.skip(\u0027osprofiler is not available\u0027)"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        self.make_env()"},{"line_number":666,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"da4df55a_7bb6a5dd","line":663,"range":{"start_line":662,"start_character":8,"end_line":663,"end_character":52},"updated":"2016-12-22 17:06:15.000000000","message":"as Kevin mention, it will never be executed.\n\nTo check both cases(when osprofile is installed and not), you can use `sys.modules[\u0027osprofile\u0027] \u003d None`.","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":659,"context_line":"    @requests_mock.Mocker()"},{"line_number":660,"context_line":"    def test_osprofiler(self, m_requests):"},{"line_number":661,"context_line":"        osprofiler \u003d importutils.try_import(\u0027osprofiler\u0027)"},{"line_number":662,"context_line":"        if osprofiler is None:"},{"line_number":663,"context_line":"            self.skip(\u0027osprofiler is not available\u0027)"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        self.make_env()"},{"line_number":666,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"ba5201f7_d0087194","line":663,"range":{"start_line":662,"start_character":8,"end_line":663,"end_character":52},"in_reply_to":"da4df55a_7bb6a5dd","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"c727049c6afd7f5754677b5fa2c4d7eba1d32fe8","unresolved":false,"context_lines":[{"line_number":672,"context_line":"        # NOTE(rpodolyaka): osprofiler is in test-requirements, so we have to"},{"line_number":673,"context_line":"        # simulate its absence here"},{"line_number":674,"context_line":"        with mock.patch(\u0027novaclient.shell.osprofiler_profiler\u0027, None):"},{"line_number":675,"context_line":"            _, stderr \u003d self.shell(\u0027list --profile swordfish\u0027, (0, 2))"},{"line_number":676,"context_line":"            self.assertIn(\u0027unrecognized arguments: --profile swordfish\u0027,"},{"line_number":677,"context_line":"                          stderr)"},{"line_number":678,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"ba5201f7_1941a8a9","line":675,"range":{"start_line":675,"start_character":12,"end_line":675,"end_character":13},"updated":"2017-01-05 16:31:59.000000000","message":"I like to avoid using \u0027_\u0027 in this manner because it is used for internationalization.  Given that this usage is in the test suite, I\u0027m willing to call this a femtonit, but if you need to re-roll this change, please change this to something like \"_out\" (leading underscore to indicate that the variable is not being used).","commit_id":"70cf2596f01adee5c003c26be4ace428fe5ce128"}],"releasenotes/notes/add-osprofiler-support-cc9dd228242e9919.yaml":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"7a0c5639803dd7ec13659342bf985da00827d265","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    profiling from the CLI. In case if user wishes to trace"},{"line_number":9,"context_line":"    nova boot request he or she needs to type the following"},{"line_number":10,"context_line":"    command -- ``nova --profile \u003csecret_key\u003e boot --image \u003cimage\u003e"},{"line_number":11,"context_line":"    --flavor \u003cflavor\u003e \u003cvm_name\u003e secret_key`` should match with one"},{"line_number":12,"context_line":"    of the keys defined in nova.conf. As a result of this operation"},{"line_number":13,"context_line":"    additional information regarding ``trace_id`` will be"},{"line_number":14,"context_line":"    printed, that can be used to generate human-friendly"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"1a7b0d38_74bd10b6","line":11,"updated":"2015-12-29 11:18:43.000000000","message":"--flavor \u003cflavor\u003e \u003cvm_name\u003e secret_key`` \n\n-\u003e \n\n``--flavor \u003cflavor\u003e \u003cvm_name\u003e``. The ``secret_key`` value","commit_id":"c9e272ae0274e7b73720757f11b8c698c4f95e39"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    the CLI."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - A new ``--profile`` option was added to allow Nova"},{"line_number":8,"context_line":"    profiling from the CLI. In case if user wishes to trace"},{"line_number":9,"context_line":"    nova boot request he or she needs to type the following"},{"line_number":10,"context_line":"    command -- ``nova --profile \u003csecret_key\u003e boot --image \u003cimage\u003e"},{"line_number":11,"context_line":"    --flavor \u003cflavor\u003e \u003cvm_name\u003e``, where ``secret_key`` should match with one"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da4df55a_2095cbe3","line":8,"range":{"start_line":8,"start_character":28,"end_line":8,"end_character":38},"updated":"2016-12-22 16:41:14.000000000","message":"s/In case if/If the/\n\ns/trace$/trace a/","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    the CLI."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - A new ``--profile`` option was added to allow Nova"},{"line_number":8,"context_line":"    profiling from the CLI. In case if user wishes to trace"},{"line_number":9,"context_line":"    nova boot request he or she needs to type the following"},{"line_number":10,"context_line":"    command -- ``nova --profile \u003csecret_key\u003e boot --image \u003cimage\u003e"},{"line_number":11,"context_line":"    --flavor \u003cflavor\u003e \u003cvm_name\u003e``, where ``secret_key`` should match with one"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ba5201f7_70f2659c","line":8,"range":{"start_line":8,"start_character":28,"end_line":8,"end_character":38},"in_reply_to":"da4df55a_2095cbe3","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    profiling from the CLI. In case if user wishes to trace"},{"line_number":9,"context_line":"    nova boot request he or she needs to type the following"},{"line_number":10,"context_line":"    command -- ``nova --profile \u003csecret_key\u003e boot --image \u003cimage\u003e"},{"line_number":11,"context_line":"    --flavor \u003cflavor\u003e \u003cvm_name\u003e``, where ``secret_key`` should match with one"},{"line_number":12,"context_line":"    of the keys defined in nova.conf. As a result of this operation"},{"line_number":13,"context_line":"    additional information regarding ``trace_id`` will be"},{"line_number":14,"context_line":"    printed, that can be used to generate human-friendly"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da4df55a_409acf15","line":11,"range":{"start_line":11,"start_character":69,"end_line":11,"end_character":73},"updated":"2016-12-22 16:41:14.000000000","message":"s/match with one/match one/","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    profiling from the CLI. In case if user wishes to trace"},{"line_number":9,"context_line":"    nova boot request he or she needs to type the following"},{"line_number":10,"context_line":"    command -- ``nova --profile \u003csecret_key\u003e boot --image \u003cimage\u003e"},{"line_number":11,"context_line":"    --flavor \u003cflavor\u003e \u003cvm_name\u003e``, where ``secret_key`` should match with one"},{"line_number":12,"context_line":"    of the keys defined in nova.conf. As a result of this operation"},{"line_number":13,"context_line":"    additional information regarding ``trace_id`` will be"},{"line_number":14,"context_line":"    printed, that can be used to generate human-friendly"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ba5201f7_f034954b","line":11,"range":{"start_line":11,"start_character":69,"end_line":11,"end_character":73},"in_reply_to":"da4df55a_409acf15","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    html report -- ``osprofiler trace show --html \u003ctrace_id\u003e --out"},{"line_number":16,"context_line":"    trace.html``."},{"line_number":17,"context_line":"    To enable profiling, user needs to have osprofiler"},{"line_number":18,"context_line":"    installed to local environment via ``pip install osprofiler``."},{"line_number":19,"context_line":"security:"},{"line_number":20,"context_line":"  - OSprofiler support, that was added during the cycle,"},{"line_number":21,"context_line":"    requires passing of trace information between various"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da4df55a_e093c3f8","line":18,"range":{"start_line":18,"start_character":4,"end_line":18,"end_character":22},"updated":"2016-12-22 16:41:14.000000000","message":"s/installed to local/installed in the local/","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    html report -- ``osprofiler trace show --html \u003ctrace_id\u003e --out"},{"line_number":16,"context_line":"    trace.html``."},{"line_number":17,"context_line":"    To enable profiling, user needs to have osprofiler"},{"line_number":18,"context_line":"    installed to local environment via ``pip install osprofiler``."},{"line_number":19,"context_line":"security:"},{"line_number":20,"context_line":"  - OSprofiler support, that was added during the cycle,"},{"line_number":21,"context_line":"    requires passing of trace information between various"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ba5201f7_303ffd26","line":18,"range":{"start_line":18,"start_character":4,"end_line":18,"end_character":22},"in_reply_to":"da4df55a_e093c3f8","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    To enable profiling, user needs to have osprofiler"},{"line_number":18,"context_line":"    installed to local environment via ``pip install osprofiler``."},{"line_number":19,"context_line":"security:"},{"line_number":20,"context_line":"  - OSprofiler support, that was added during the cycle,"},{"line_number":21,"context_line":"    requires passing of trace information between various"},{"line_number":22,"context_line":"    OpenStack services. This information is signed by one of"},{"line_number":23,"context_line":"    HMAC keys defined in nova.conf file. That means that"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da4df55a_80bbd771","line":20,"range":{"start_line":20,"start_character":50,"end_line":20,"end_character":55},"updated":"2016-12-22 16:41:14.000000000","message":"Which cycle?","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    To enable profiling, user needs to have osprofiler"},{"line_number":18,"context_line":"    installed to local environment via ``pip install osprofiler``."},{"line_number":19,"context_line":"security:"},{"line_number":20,"context_line":"  - OSprofiler support, that was added during the cycle,"},{"line_number":21,"context_line":"    requires passing of trace information between various"},{"line_number":22,"context_line":"    OpenStack services. This information is signed by one of"},{"line_number":23,"context_line":"    HMAC keys defined in nova.conf file. That means that"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ba5201f7_503c812f","line":20,"range":{"start_line":20,"start_character":50,"end_line":20,"end_character":55},"in_reply_to":"da4df55a_80bbd771","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  - OSprofiler support, that was added during the cycle,"},{"line_number":21,"context_line":"    requires passing of trace information between various"},{"line_number":22,"context_line":"    OpenStack services. This information is signed by one of"},{"line_number":23,"context_line":"    HMAC keys defined in nova.conf file. That means that"},{"line_number":24,"context_line":"    only person who knows this key is able to send proper"},{"line_number":25,"context_line":"    header to trigger profiling."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da4df55a_e0aae318","line":23,"range":{"start_line":23,"start_character":4,"end_line":23,"end_character":8},"updated":"2016-12-22 16:41:14.000000000","message":"s/HMAC/the HMAC/","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  - OSprofiler support, that was added during the cycle,"},{"line_number":21,"context_line":"    requires passing of trace information between various"},{"line_number":22,"context_line":"    OpenStack services. This information is signed by one of"},{"line_number":23,"context_line":"    HMAC keys defined in nova.conf file. That means that"},{"line_number":24,"context_line":"    only person who knows this key is able to send proper"},{"line_number":25,"context_line":"    header to trigger profiling."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ba5201f7_9046e9bd","line":23,"range":{"start_line":23,"start_character":4,"end_line":23,"end_character":8},"in_reply_to":"da4df55a_e0aae318","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    requires passing of trace information between various"},{"line_number":22,"context_line":"    OpenStack services. This information is signed by one of"},{"line_number":23,"context_line":"    HMAC keys defined in nova.conf file. That means that"},{"line_number":24,"context_line":"    only person who knows this key is able to send proper"},{"line_number":25,"context_line":"    header to trigger profiling."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da4df55a_8072f7e3","line":24,"range":{"start_line":24,"start_character":9,"end_line":24,"end_character":15},"updated":"2016-12-22 16:41:14.000000000","message":"s/person/someone/\n\ns/send proper/send the proper/","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    requires passing of trace information between various"},{"line_number":22,"context_line":"    OpenStack services. This information is signed by one of"},{"line_number":23,"context_line":"    HMAC keys defined in nova.conf file. That means that"},{"line_number":24,"context_line":"    only person who knows this key is able to send proper"},{"line_number":25,"context_line":"    header to trigger profiling."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ba5201f7_30261d17","line":24,"range":{"start_line":24,"start_character":9,"end_line":24,"end_character":15},"in_reply_to":"da4df55a_8072f7e3","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"}],"test-requirements.txt":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87cd41fe79dbd62b9c4af0b2ff066821cd35dc9f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"sphinx!\u003d1.3b1,\u003c1.4,\u003e\u003d1.2.1 # BSD"},{"line_number":16,"context_line":"os-client-config\u003e\u003d1.22.0 # Apache-2.0"},{"line_number":17,"context_line":"oslosphinx\u003e\u003d4.7.0 # Apache-2.0"},{"line_number":18,"context_line":"osprofiler\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":19,"context_line":"testrepository\u003e\u003d0.0.18 # Apache-2.0/BSD"},{"line_number":20,"context_line":"testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"},{"line_number":21,"context_line":"testtools\u003e\u003d1.4.0 # MIT"}],"source_content_type":"text/plain","patch_set":15,"id":"da4df55a_00560729","line":18,"updated":"2016-12-22 16:41:14.000000000","message":"Wait, I thought the test suite went out of its way to ensure that if osprofiler wasn\u0027t installed, the test would be skipped?  If we\u0027re going to add osprofiler to the test suite (which, frankly, makes sense), we should drop the \"self.skip()\" logic from the test.","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ef3ad4bf4bc9209787f7532f236e35fe67ad5619","unresolved":false,"context_lines":[{"line_number":15,"context_line":"sphinx!\u003d1.3b1,\u003c1.4,\u003e\u003d1.2.1 # BSD"},{"line_number":16,"context_line":"os-client-config\u003e\u003d1.22.0 # Apache-2.0"},{"line_number":17,"context_line":"oslosphinx\u003e\u003d4.7.0 # Apache-2.0"},{"line_number":18,"context_line":"osprofiler\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":19,"context_line":"testrepository\u003e\u003d0.0.18 # Apache-2.0/BSD"},{"line_number":20,"context_line":"testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"},{"line_number":21,"context_line":"testtools\u003e\u003d1.4.0 # MIT"}],"source_content_type":"text/plain","patch_set":15,"id":"ba5201f7_d07dd1e8","line":18,"in_reply_to":"da4df55a_00560729","updated":"2016-12-29 14:44:55.000000000","message":"Done","commit_id":"27e6a5602d61b2780b36e2f3778990d32da988de"}]}
