)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"ca6b42fa18ed897a3020b6e967dd68ecf7ed52f9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ivan Kolodyazhny \u003ce0ne@e0ne.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-03-13 21:16:57 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix noath support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch includes several improvements:"},{"line_number":10,"context_line":"1. Use keystoneauth1 plugin mechanism for auth plugins."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a1ff146_047c961f","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":9},"updated":"2017-03-14 13:51:56.000000000","message":"typo: noauth","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ivan Kolodyazhny \u003ce0ne@e0ne.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-03-13 21:16:57 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix noath support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch includes several improvements:"},{"line_number":10,"context_line":"1. Use keystoneauth1 plugin mechanism for auth plugins."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a1ff146_87dc081a","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":9},"in_reply_to":"3a1ff146_047c961f","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"218f855c450f871a62816b00121c3528fd049e90"}],"cinderclient/contrib/noauth.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        options.extend(["},{"line_number":69,"context_line":"            CinderOpt(\u0027user-id\u0027, help\u003d\u0027User ID\u0027, required\u003dTrue,"},{"line_number":70,"context_line":"                      metavar\u003d\"\u003ccinder user id\u003e\"),"},{"line_number":71,"context_line":"            CinderOpt(\u0027project-id\u0027, help\u003d\u0027Project ID\u0027, required\u003dTrue,"},{"line_number":72,"context_line":"                      metavar\u003d\"\u003ccinder project id\u003e\"),"},{"line_number":73,"context_line":"            CinderOpt(\u0027endpoint\u0027, help\u003d\u0027Cinder endpoint\u0027,"},{"line_number":74,"context_line":"                      dest\u003d\"endpoint\", required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_58ce645b","line":71,"range":{"start_line":71,"start_character":55,"end_line":71,"end_character":68},"updated":"2017-03-14 11:55:24.000000000","message":"-1: I believe we should have the same behavior in the client as we have in the NoAuth server middleware, where only the user id is a requirement and if the project-id is not present it will use the user-id for the project-id as well.","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        options.extend(["},{"line_number":69,"context_line":"            CinderOpt(\u0027user-id\u0027, help\u003d\u0027User ID\u0027, required\u003dTrue,"},{"line_number":70,"context_line":"                      metavar\u003d\"\u003ccinder user id\u003e\"),"},{"line_number":71,"context_line":"            CinderOpt(\u0027project-id\u0027, help\u003d\u0027Project ID\u0027, required\u003dTrue,"},{"line_number":72,"context_line":"                      metavar\u003d\"\u003ccinder project id\u003e\"),"},{"line_number":73,"context_line":"            CinderOpt(\u0027endpoint\u0027, help\u003d\u0027Cinder endpoint\u0027,"},{"line_number":74,"context_line":"                      dest\u003d\"endpoint\", required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_f91631a6","line":71,"range":{"start_line":71,"start_character":55,"end_line":71,"end_character":68},"in_reply_to":"5a22e58a_58ce645b","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"218f855c450f871a62816b00121c3528fd049e90"}],"cinderclient/shell.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":622,"context_line":"        (os_username, os_password, os_tenant_name, os_auth_url,"},{"line_number":623,"context_line":"         os_region_name, os_tenant_id, endpoint_type,"},{"line_number":624,"context_line":"         service_type, service_name, volume_service_name, os_endpoint,"},{"line_number":625,"context_line":"         cacert, os_auth_system) \u003d ("},{"line_number":626,"context_line":"             args.os_username, args.os_password,"},{"line_number":627,"context_line":"             args.os_tenant_name, args.os_auth_url,"},{"line_number":628,"context_line":"             args.os_region_name, args.os_tenant_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_38db68ef","line":625,"range":{"start_line":625,"start_character":17,"end_line":625,"end_character":31},"updated":"2017-03-14 11:55:24.000000000","message":"-1: os_auth_type","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":622,"context_line":"        (os_username, os_password, os_tenant_name, os_auth_url,"},{"line_number":623,"context_line":"         os_region_name, os_tenant_id, endpoint_type,"},{"line_number":624,"context_line":"         service_type, service_name, volume_service_name, os_endpoint,"},{"line_number":625,"context_line":"         cacert, os_auth_system) \u003d ("},{"line_number":626,"context_line":"             args.os_username, args.os_password,"},{"line_number":627,"context_line":"             args.os_tenant_name, args.os_auth_url,"},{"line_number":628,"context_line":"             args.os_region_name, args.os_tenant_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_b91d99bf","line":625,"range":{"start_line":625,"start_character":17,"end_line":625,"end_character":31},"in_reply_to":"5a22e58a_38db68ef","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":633,"context_line":"             args.os_auth_type)"},{"line_number":634,"context_line":"        auth_session \u003d None"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        if os_auth_system and os_auth_system !\u003d \"keystone\":"},{"line_number":637,"context_line":"            auth_plugin \u003d loading.load_auth_from_argparse_arguments("},{"line_number":638,"context_line":"                self.options)"},{"line_number":639,"context_line":"            auth_session \u003d loading.load_session_from_argparse_arguments("}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_3889a8cb","line":636,"updated":"2017-03-14 11:55:24.000000000","message":"-1: os_auth_type","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":633,"context_line":"             args.os_auth_type)"},{"line_number":634,"context_line":"        auth_session \u003d None"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        if os_auth_system and os_auth_system !\u003d \"keystone\":"},{"line_number":637,"context_line":"            auth_plugin \u003d loading.load_auth_from_argparse_arguments("},{"line_number":638,"context_line":"                self.options)"},{"line_number":639,"context_line":"            auth_session \u003d loading.load_session_from_argparse_arguments("}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_d97895fb","line":636,"in_reply_to":"5a22e58a_3889a8cb","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                \"(env[OS_PROJECT_DOMAIN_NAME])\""},{"line_number":711,"context_line":"            ))"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"        if not os_auth_url:"},{"line_number":714,"context_line":"            raise exc.CommandError("},{"line_number":715,"context_line":"                \"You must provide an authentication URL \""},{"line_number":716,"context_line":"                \"through --os-auth-url or env[OS_AUTH_URL].\")"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"        if not auth_session:"},{"line_number":719,"context_line":"            auth_session \u003d self._get_keystone_session()"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_f3565305","line":716,"range":{"start_line":713,"start_character":1,"end_line":716,"end_character":61},"updated":"2017-03-14 11:55:24.000000000","message":"?: This doesn\u0027t look right, why do we need it for noauth?","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                \"(env[OS_PROJECT_DOMAIN_NAME])\""},{"line_number":711,"context_line":"            ))"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"        if not os_auth_url:"},{"line_number":714,"context_line":"            raise exc.CommandError("},{"line_number":715,"context_line":"                \"You must provide an authentication URL \""},{"line_number":716,"context_line":"                \"through --os-auth-url or env[OS_AUTH_URL].\")"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"        if not auth_session:"},{"line_number":719,"context_line":"            auth_session \u003d self._get_keystone_session()"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_9977fd01","line":716,"range":{"start_line":713,"start_character":1,"end_line":716,"end_character":61},"in_reply_to":"5a22e58a_f3565305","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":734,"context_line":"            retries\u003doptions.retries,"},{"line_number":735,"context_line":"            http_log_debug\u003dargs.debug,"},{"line_number":736,"context_line":"            insecure\u003dinsecure,"},{"line_number":737,"context_line":"            cacert\u003dcacert, auth_system\u003dos_auth_system,"},{"line_number":738,"context_line":"            auth_plugin\u003dauth_plugin,"},{"line_number":739,"context_line":"            session\u003dauth_session,"},{"line_number":740,"context_line":"            logger\u003dself.ks_logger if auth_session else self.client_logger)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_3341cb3a","line":737,"range":{"start_line":737,"start_character":39,"end_line":737,"end_character":53},"updated":"2017-03-14 11:55:24.000000000","message":"-1: os_auth_type","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":734,"context_line":"            retries\u003doptions.retries,"},{"line_number":735,"context_line":"            http_log_debug\u003dargs.debug,"},{"line_number":736,"context_line":"            insecure\u003dinsecure,"},{"line_number":737,"context_line":"            cacert\u003dcacert, auth_system\u003dos_auth_system,"},{"line_number":738,"context_line":"            auth_plugin\u003dauth_plugin,"},{"line_number":739,"context_line":"            session\u003dauth_session,"},{"line_number":740,"context_line":"            logger\u003dself.ks_logger if auth_session else self.client_logger)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_536567df","line":737,"range":{"start_line":737,"start_character":27,"end_line":737,"end_character":38},"updated":"2017-03-14 11:55:24.000000000","message":"?: Should we update the Client class to accept auth_system or auth_type arguments?  I think it\u0027s fine to leave it as auth_system","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":734,"context_line":"            retries\u003doptions.retries,"},{"line_number":735,"context_line":"            http_log_debug\u003dargs.debug,"},{"line_number":736,"context_line":"            insecure\u003dinsecure,"},{"line_number":737,"context_line":"            cacert\u003dcacert, auth_system\u003dos_auth_system,"},{"line_number":738,"context_line":"            auth_plugin\u003dauth_plugin,"},{"line_number":739,"context_line":"            session\u003dauth_session,"},{"line_number":740,"context_line":"            logger\u003dself.ks_logger if auth_session else self.client_logger)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_d92a55e7","line":737,"range":{"start_line":737,"start_character":27,"end_line":737,"end_character":38},"in_reply_to":"5a22e58a_536567df","updated":"2017-03-14 15:34:13.000000000","message":"We can\u0027t change param name due to the backward incompatibility issue","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c28207f39fb88a2c2c461f25163e9728978c560d","unresolved":false,"context_lines":[{"line_number":734,"context_line":"            retries\u003doptions.retries,"},{"line_number":735,"context_line":"            http_log_debug\u003dargs.debug,"},{"line_number":736,"context_line":"            insecure\u003dinsecure,"},{"line_number":737,"context_line":"            cacert\u003dcacert, auth_system\u003dos_auth_system,"},{"line_number":738,"context_line":"            auth_plugin\u003dauth_plugin,"},{"line_number":739,"context_line":"            session\u003dauth_session,"},{"line_number":740,"context_line":"            logger\u003dself.ks_logger if auth_session else self.client_logger)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a1ff146_54a52d02","line":737,"range":{"start_line":737,"start_character":27,"end_line":737,"end_character":38},"in_reply_to":"5a22e58a_d92a55e7","updated":"2017-03-15 12:33:45.000000000","message":"That\u0027s why I said to modify the client to accept one or the other, so we can pass it with auth_type for newer calls, but like I said, I\u0027m fine leaving as it is.","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5785c524e391c4aa2fb6e4bae003074cc002b88c","unresolved":false,"context_lines":[{"line_number":658,"context_line":"                                 self.options.os_project_id)"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"        if not utils.isunauthenticated(args.func):"},{"line_number":661,"context_line":"            if not os_password:"},{"line_number":662,"context_line":"                # No password, If we\u0027ve got a tty, try prompting for it"},{"line_number":663,"context_line":"                if hasattr(sys.stdin, \u0027isatty\u0027) and sys.stdin.isatty():"},{"line_number":664,"context_line":"                    # Check for Ctl-D"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a1ced50_76fe35af","line":661,"updated":"2017-03-21 22:47:57.000000000","message":"If we are using noauth, this code still gets called and prompts for an OS Password:.    We shouldn\u0027t get prompted for a password if we are using the noauth plugin.","commit_id":"595dbab311ad58ea4a3848eb7e2dc8008a98220a"}],"cinderclient/tests/unit/test_auth_plugins.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5a22e58a_73b9832e","line":1,"updated":"2017-03-14 11:55:24.000000000","message":"-1: I think we should test our noauth plugin","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5a22e58a_3940c956","line":1,"in_reply_to":"5a22e58a_73b9832e","updated":"2017-03-14 15:34:13.000000000","message":"OK","commit_id":"218f855c450f871a62816b00121c3528fd049e90"}],"cinderclient/tests/unit/test_shell.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    @mock.patch.object(requests, \"request\")"},{"line_number":177,"context_line":"    @mock.patch.object(pkg_resources, \"iter_entry_points\")"},{"line_number":178,"context_line":"    def test_auth_system_not_keystone(self, mock_iter_entry_points,"},{"line_number":179,"context_line":"                                      mock_request):"},{"line_number":180,"context_line":"        \"\"\"Test that we can authenticate using the auth plugin system.\"\"\""},{"line_number":181,"context_line":"        non_keystone_auth_url \u003d \"http://non-keystone-url.com/v2.0\""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_d3d4f748","side":"PARENT","line":178,"updated":"2017-03-14 11:55:24.000000000","message":"-1: We should still be testing that the shell can work with keystone plugins","commit_id":"1aabb4b0fd574f98bc04ec55f56272aa144595c2"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    @mock.patch.object(requests, \"request\")"},{"line_number":177,"context_line":"    @mock.patch.object(pkg_resources, \"iter_entry_points\")"},{"line_number":178,"context_line":"    def test_auth_system_not_keystone(self, mock_iter_entry_points,"},{"line_number":179,"context_line":"                                      mock_request):"},{"line_number":180,"context_line":"        \"\"\"Test that we can authenticate using the auth plugin system.\"\"\""},{"line_number":181,"context_line":"        non_keystone_auth_url \u003d \"http://non-keystone-url.com/v2.0\""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a22e58a_9cf1abd0","side":"PARENT","line":178,"in_reply_to":"5a22e58a_d3d4f748","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"1aabb4b0fd574f98bc04ec55f56272aa144595c2"}],"releasenotes/notes/noauth-7d95e5af31a00e96.yaml":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"20d4be82c261165bad581e7f24ea7c12845e6203","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Cinderclient now supports noauth mode using `--os-auth-type noauth`"},{"line_number":5,"context_line":"    param."},{"line_number":6,"context_line":"deprecations:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a22e58a_13468f23","line":4,"updated":"2017-03-14 11:55:24.000000000","message":"nit: I think this is selling this patch sort, this is doing much more, we are now supporting keystone client plugins!!","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5da6312551d194f67b96df82597f78310fc57c38","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Cinderclient now supports noauth mode using `--os-auth-type noauth`"},{"line_number":5,"context_line":"    param."},{"line_number":6,"context_line":"deprecations:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a22e58a_b94bd9af","line":4,"in_reply_to":"5a22e58a_13468f23","updated":"2017-03-14 15:34:13.000000000","message":"Done","commit_id":"218f855c450f871a62816b00121c3528fd049e90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"3860a95a514c2fddd91c872db9c89faaf06a8345","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Cinderclient now supports noauth mode using `--os-auth-type noauth`"},{"line_number":5,"context_line":"    param. Also python-cinderclietn now supports keystoneauth1 plugins."},{"line_number":6,"context_line":"deprecations:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    --bypass-url param is now deprecated. Please use --os-endpoint instead"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3a1ff146_54260d69","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":35},"updated":"2017-03-15 12:33:37.000000000","message":"nit: cinderclient","commit_id":"57cc4d123580c80d334f5290277f77361748f38f"}]}
