)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"8ea4251792ec03957b42316779be32eae0730de1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use keystoneauth1 instead of manual setup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change moves our code the the new keystoneauth1 library."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This allows to wipe out all authentification code from Ceilometer."},{"line_number":12,"context_line":"Ceilometer become compatible with all keystone API version and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":28,"id":"9a8ffd7b_0da5c0a0","line":9,"updated":"2015-12-02 15:13:03.000000000","message":"nit: \"the the\" should probably read \"to the\"","commit_id":"4c8d541be0670f8c9c11f48a0af87054156fbbd4"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"029dfd8daa6b888e03be1c6330791ed13486dfdd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use keystoneauth1 instead of manual setup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change moves our code the the new keystoneauth1 library."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This allows to wipe out all authentification code from Ceilometer."},{"line_number":12,"context_line":"Ceilometer become compatible with all keystone API version and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":28,"id":"9a8ffd7b_d970b074","line":9,"in_reply_to":"9a8ffd7b_0da5c0a0","updated":"2015-12-03 06:29:21.000000000","message":"Done","commit_id":"4c8d541be0670f8c9c11f48a0af87054156fbbd4"}],"ceilometer/keystone_client.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1ae4c10844d94059f8f9ef92996e9d074eaa3a41","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def get_auth_token(client):"},{"line_number":48,"context_line":"    return client.session.auth.get_access(client.session).auth_token"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"def get_client_on_behalf_user(auth_plugin, trust_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":30,"id":"9a8ffd7b_d25b9020","line":48,"updated":"2015-12-03 14:29:08.000000000","message":"client.session is passed into itself? this looks very easy to use :/","commit_id":"23b3364b9d038e76ca8da9931d17035b835933e3"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"506fca5b6e35ec5a177e7ec0e8131649fe76b725","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"CLI_OPTS \u003d ["},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027region-name\u0027,"},{"line_number":85,"context_line":"               deprecated_group\u003d\"DEFAULT\","},{"line_number":86,"context_line":"               deprecated_name\u003d\"os-region-name\","},{"line_number":87,"context_line":"               default\u003dos.environ.get(\u0027OS_REGION_NAME\u0027),"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_9b42973d","line":84,"updated":"2015-12-04 17:15:31.000000000","message":"not objection,just a question, why only change os-region-name to region-name, but leaves all other os-username/os-password as the original?","commit_id":"23b3364b9d038e76ca8da9931d17035b835933e3"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"11c5e3ee5354824b61b7d6105ab67e70c7791b3b","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"CLI_OPTS \u003d ["},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027region-name\u0027,"},{"line_number":85,"context_line":"               deprecated_group\u003d\"DEFAULT\","},{"line_number":86,"context_line":"               deprecated_name\u003d\"os-region-name\","},{"line_number":87,"context_line":"               default\u003dos.environ.get(\u0027OS_REGION_NAME\u0027),"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_01604a00","line":84,"in_reply_to":"7a740942_9b42973d","updated":"2015-12-07 11:13:16.000000000","message":"keystoneauth1 uses a plugin system, all options depends of the used plugin.\n\nTo select the plugin \"auth_type\" must be set. For backward compatibilty I have set the default to \"password-ceilometer-legacy\". This plugin loads all our legacy \"os-XXXXX\" options.\n\nPlugin list can be found here: https://github.com/openstack/keystoneauth/blob/master/setup.cfg#L37\n\nAll plugins in keystoneauth doesn\u0027t use the prefix \u0027os-\u0027 that why I have removed them here.","commit_id":"23b3364b9d038e76ca8da9931d17035b835933e3"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"506fca5b6e35ec5a177e7ec0e8131649fe76b725","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                default\u003dos.environ.get(\u0027OS_AUTH_URL\u0027,"},{"line_number":147,"context_line":"                                       \u0027http://localhost:5000/v2.0\u0027),"},{"line_number":148,"context_line":"                help\u003d\u0027Auth URL to use for OpenStack service access.\u0027),"},{"line_number":149,"context_line":"        ])"},{"line_number":150,"context_line":"        return options"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def load_from_options(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_7bc00b2b","line":149,"updated":"2015-12-04 17:15:31.000000000","message":"I think moving those configuration here will prevent \u0027tox -e genconfig\u0027 to generate the correct configuration sample file.","commit_id":"23b3364b9d038e76ca8da9931d17035b835933e3"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"11c5e3ee5354824b61b7d6105ab67e70c7791b3b","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                default\u003dos.environ.get(\u0027OS_AUTH_URL\u0027,"},{"line_number":147,"context_line":"                                       \u0027http://localhost:5000/v2.0\u0027),"},{"line_number":148,"context_line":"                help\u003d\u0027Auth URL to use for OpenStack service access.\u0027),"},{"line_number":149,"context_line":"        ])"},{"line_number":150,"context_line":"        return options"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def load_from_options(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a740942_e12bbe92","line":149,"in_reply_to":"7a740942_7bc00b2b","updated":"2015-12-07 11:13:16.000000000","message":"Good catch, I have added all we need to have the configuration file up2date.","commit_id":"23b3364b9d038e76ca8da9931d17035b835933e3"}],"ceilometer/service.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"559cbb5c9faa48cd97223be64ca8207144528278","unresolved":false,"context_lines":[{"line_number":41,"context_line":"cfg.CONF.register_opts(OPTS)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"CLI_OPTS \u003d ["},{"line_number":44,"context_line":"    cfg.StrOpt(\u0027os-username\u0027,"},{"line_number":45,"context_line":"               deprecated_group\u003d\"DEFAULT\","},{"line_number":46,"context_line":"               default\u003dos.environ.get(\u0027OS_USERNAME\u0027, \u0027ceilometer\u0027),"},{"line_number":47,"context_line":"               help\u003d\u0027User name to use for OpenStack service access.\u0027),"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a740942_80eb0db0","side":"PARENT","line":44,"updated":"2015-12-10 09:43:38.000000000","message":"No deprecation process?","commit_id":"6751acb767ef0fe31d4ee2643cc4c327abcf8abd"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"559cbb5c9faa48cd97223be64ca8207144528278","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                  [\u0027stevedore\u003dINFO\u0027, \u0027keystoneclient\u003dINFO\u0027,"},{"line_number":78,"context_line":"                   \u0027neutronclient\u003dINFO\u0027])"},{"line_number":79,"context_line":"    log.set_defaults(default_log_levels\u003dlog_levels)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    if argv is None:"},{"line_number":82,"context_line":"        argv \u003d sys.argv"},{"line_number":83,"context_line":"    cfg.CONF(argv[1:], project\u003d\u0027ceilometer\u0027, validate_default_values\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a740942_20a339a0","line":80,"updated":"2015-12-10 09:43:38.000000000","message":":(","commit_id":"51a6096a85bf66e918f5981546841e73e038bceb"}],"ceilometer/tests/unit/dispatcher/test_gnocchi.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"143ec010b17e4bf2c513359736bcd195a9db9420","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        post_responses.append(MockResponse(self.measure))"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        if self.measure \u003d\u003d 401:"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"            type(self.ks_client.session.auth.get_access.return_value"},{"line_number":358,"context_line":"                 ).auth_token \u003d (mock.PropertyMock("},{"line_number":359,"context_line":"                     side_effect\u003d[\u0027fake_token\u0027, \u0027new_token\u0027, \u0027new_token\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_910edd30","line":356,"updated":"2015-12-01 20:13:46.000000000","message":"(nit) remove extra line","commit_id":"7e982fe25a346fa237ce6eee0e1816e19b7c0a9b"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"a2dbc76271f31e2f9f7e0c7cfe148c7fb3bc35e4","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        post_responses.append(MockResponse(self.measure))"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        if self.measure \u003d\u003d 401:"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"            type(self.ks_client.session.auth.get_access.return_value"},{"line_number":358,"context_line":"                 ).auth_token \u003d (mock.PropertyMock("},{"line_number":359,"context_line":"                     side_effect\u003d[\u0027fake_token\u0027, \u0027new_token\u0027, \u0027new_token\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_2920d39a","line":356,"in_reply_to":"9a8ffd7b_910edd30","updated":"2015-12-02 07:19:30.000000000","message":"This line is removed by the next patch (gnocchiclient one)","commit_id":"7e982fe25a346fa237ce6eee0e1816e19b7c0a9b"}],"setup.cfg":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"1e8866423adbf2adfea30ad3413b6c00ad88bd2b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"ceilometer.discover \u003d"},{"line_number":61,"context_line":"    local_instances \u003d ceilometer.compute.discovery:InstanceDiscovery"},{"line_number":62,"context_line":"    endpoint \u003d ceilometer.agent.discovery.endpoint:EndpointDiscovery"},{"line_number":63,"context_line":"    project \u003d ceilometer.agent.discovery.tenant:ProjectDiscovery"},{"line_number":64,"context_line":"    local_node \u003d ceilometer.agent.discovery.localnode:LocalNodeDiscovery"},{"line_number":65,"context_line":"    lb_pools \u003d ceilometer.network.services.discovery:LBPoolsDiscovery"},{"line_number":66,"context_line":"    lb_vips \u003d ceilometer.network.services.discovery:LBVipsDiscovery"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"3a29b11f_15ddea0d","line":63,"updated":"2015-10-20 13:36:34.000000000","message":"-1: objectstorage still use the tenant discover, so please modify those  two files to reflect such change","commit_id":"2f64ecc551f7ef976be11a1745c1223a8a12920b"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"15e9e9e64997d2f47655b58be3002d6389f81fd5","unresolved":false,"context_lines":[{"line_number":60,"context_line":"ceilometer.discover \u003d"},{"line_number":61,"context_line":"    local_instances \u003d ceilometer.compute.discovery:InstanceDiscovery"},{"line_number":62,"context_line":"    endpoint \u003d ceilometer.agent.discovery.endpoint:EndpointDiscovery"},{"line_number":63,"context_line":"    project \u003d ceilometer.agent.discovery.tenant:ProjectDiscovery"},{"line_number":64,"context_line":"    local_node \u003d ceilometer.agent.discovery.localnode:LocalNodeDiscovery"},{"line_number":65,"context_line":"    lb_pools \u003d ceilometer.network.services.discovery:LBPoolsDiscovery"},{"line_number":66,"context_line":"    lb_vips \u003d ceilometer.network.services.discovery:LBVipsDiscovery"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"3a29b11f_473c192f","line":63,"in_reply_to":"3a29b11f_15ddea0d","updated":"2015-10-20 13:50:22.000000000","message":"I have restored tenant here. This can be changed in a separate change.","commit_id":"2f64ecc551f7ef976be11a1745c1223a8a12920b"}]}
