)]}'
{"etc/keystone.conf.sample":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fbc2a2b7fa8cf9bb4defdffa81245648faf0596d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"# advertised to clients (NOTE: this does NOT affect how"},{"line_number":39,"context_line":"# keystone listens for connections) (string value)."},{"line_number":40,"context_line":"# Defaults to the host URL. Need only be set if the"},{"line_number":41,"context_line":"# endpoint is on another host or has a path prefix."},{"line_number":42,"context_line":"#public_endpoint\u003dhttp://localhost:%(public_port)s/"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# The base admin endpoint URL for keystone that are advertised"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAAWH%2F%2Fw2E%3D","line":41,"updated":"2014-03-13 23:50:04.000000000","message":"This says \"the endpoint\" -- which endpoint? What does \"another host\" mean here?","commit_id":"0b676a22659656ebdebd33c5a26ff006be2f735c"}],"keystone/assignment/controllers.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"98853c72bbbd8ab6b79b11ad2fdc14d1497542be","unresolved":false,"context_lines":[{"line_number":572,"context_line":"        # the wrapper as have already included the links in the entities"},{"line_number":573,"context_line":"        pass"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    def _format_entity(self, entity, context):"},{"line_number":576,"context_line":"        \"\"\"Format an assignment entity for API response."},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        The driver layer returns entities as dicts containing the ids of the"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FB6A%3D","line":575,"updated":"2014-03-10 15:33:39.000000000","message":"there\u0027s a general convention to pass context as the first parameter to any function that requires it, followed by any parameters specific to that function. when it\u0027s reversed, i find the callers to be confusing to read (it\u0027s not clear what they\u0027re doing with context anymore)\n\nso, just reverse this method signature to \n\n  def _format_entity(self, context, entity)","commit_id":"9f0e527c0a3013d9b981aff401747f3438646a56"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"98853c72bbbd8ab6b79b11ad2fdc14d1497542be","unresolved":false,"context_lines":[{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        return formatted_entity"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    def _expand_indirect_assignments(self, refs, context):"},{"line_number":653,"context_line":"        \"\"\"Processes entity list into all-direct assignments."},{"line_number":654,"context_line":""},{"line_number":655,"context_line":"        For any group role assignments in the list, create a role assignment"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FB54%3D","line":652,"updated":"2014-03-10 15:33:39.000000000","message":"same","commit_id":"9f0e527c0a3013d9b981aff401747f3438646a56"}],"keystone/common/config.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"98853c72bbbd8ab6b79b11ad2fdc14d1497542be","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                        \u0027advertised to clients (NOTE: this does NOT affect \u0027"},{"line_number":55,"context_line":"                        \u0027how keystone listens for connections). \u0027"},{"line_number":56,"context_line":"                        \u0027This value does not need to be set if the \u0027"},{"line_number":57,"context_line":"                        \u0027endpoint is the current server\u0027),"},{"line_number":58,"context_line":"        cfg.StrOpt(\u0027admin_endpoint\u0027,"},{"line_number":59,"context_line":"                   help\u003d\u0027The base admin endpoint URL for keystone that are \u0027"},{"line_number":60,"context_line":"                        \u0027advertised to clients (NOTE: this does NOT affect \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FB4k%3D","line":57,"updated":"2014-03-10 15:33:39.000000000","message":"is there a better way you could word this, other than \"the current server\"? (i have no idea what that means)\n\n\"if the actual host is set in the WSGI environment\" maybe?\n\nfor example, i think you could avoid setting the endpoint if running behind nginx by configuring nginx with:\n\n  proxy_set_header Host $host;","commit_id":"9f0e527c0a3013d9b981aff401747f3438646a56"}],"keystone/common/controller.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"98853c72bbbd8ab6b79b11ad2fdc14d1497542be","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        return \u0027%s/%s/%s\u0027 % (endpoint, \u0027v3\u0027, path.lstrip(\u0027/\u0027))"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @classmethod"},{"line_number":302,"context_line":"    def _add_self_referential_link(cls, ref, context):"},{"line_number":303,"context_line":"        ref.setdefault(\u0027links\u0027, {})"},{"line_number":304,"context_line":"        ref[\u0027links\u0027][\u0027self\u0027] \u003d cls.base_url(context) + \u0027/\u0027 + ref[\u0027id\u0027]"},{"line_number":305,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FB4A%3D","line":302,"updated":"2014-03-10 15:33:39.000000000","message":"same","commit_id":"9f0e527c0a3013d9b981aff401747f3438646a56"}],"keystone/common/wsgi.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"029fd40f180926432f2049f06edbe216f99acb93","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        if url:"},{"line_number":314,"context_line":"            url \u003d url % CONF"},{"line_number":315,"context_line":"        else:"},{"line_number":316,"context_line":"            # NOTE(jamielennox): if url is not set via the config file we"},{"line_number":317,"context_line":"            # should set it relative to the url that the user used to get here"},{"line_number":318,"context_line":"            # so as not to mess with version discovery. This is not perfect."},{"line_number":319,"context_line":"            # host_url omits the path prefix, but there isn\u0027t another good"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2FyAI%3D","line":316,"updated":"2014-03-13 21:03:23.000000000","message":"Should we add a bug as a placeholder to come back and visit this?","commit_id":"0b676a22659656ebdebd33c5a26ff006be2f735c"}],"keystone/tests/test_content_types.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"a787a45c8c2e240d68fe8861e25f601670a93a2b","unresolved":false,"context_lines":[{"line_number":679,"context_line":"        self.assertValidErrorResponse(r)"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    def test_www_authenticate_header(self):"},{"line_number":682,"context_line":"        test_url \u003d \u0027http://server:554\u0027"},{"line_number":683,"context_line":"        self.config_fixture.config(public_endpoint\u003dtest_url)"},{"line_number":684,"context_line":"        r \u003d self.public_request("},{"line_number":685,"context_line":"            path\u003d\u0027/v2.0/tenants\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2B1E8%3D","line":682,"updated":"2014-03-11 21:59:16.000000000","message":"i\u0027d prefer this to be randomly generated since it\u0027s (i hope) intended to be arbitrary","commit_id":"b922f0339b62b63baba8a81615d8d112f9f32996"}],"keystone/tests/test_v3.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"a787a45c8c2e240d68fe8861e25f601670a93a2b","unresolved":false,"context_lines":[{"line_number":404,"context_line":"    def assertValidListLinks(self, links):"},{"line_number":405,"context_line":"        self.assertIsNotNone(links)"},{"line_number":406,"context_line":"        self.assertIsNotNone(links.get(\u0027self\u0027))"},{"line_number":407,"context_line":"        self.assertIn(\u0027http://localhost\u0027, links[\u0027self\u0027])"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        self.assertIn(\u0027next\u0027, links)"},{"line_number":410,"context_line":"        if links[\u0027next\u0027] is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2B1Ek%3D","line":407,"updated":"2014-03-11 21:59:16.000000000","message":"could be a bit stronger, but it\u0027s not a new issue\n\n   self.assertTrue(links[\u0027self\u0027].startswith(\u0027http://localhost\u0027))","commit_id":"b922f0339b62b63baba8a81615d8d112f9f32996"}],"keystone/tests/test_wsgi.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"a787a45c8c2e240d68fe8861e25f601670a93a2b","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    def test_render_exception(self):"},{"line_number":111,"context_line":"        e \u003d exception.Unauthorized(message\u003du\u0027\\u7f51\\u7edc\u0027)"},{"line_number":112,"context_line":"        context \u003d {\u0027host_url\u0027: \u0027http://localhost:5000\u0027}"},{"line_number":113,"context_line":"        resp \u003d wsgi.render_exception(e, context\u003dcontext)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        self.assertEqual(resp.status_int, 401)"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2B1D8%3D","line":113,"updated":"2014-03-11 21:59:16.000000000","message":"since this is supposed to be optional, it should be tested by a new test rather than rewriting an existing, still-valid test","commit_id":"b922f0339b62b63baba8a81615d8d112f9f32996"}]}
