)]}'
{"etc/default_catalog.templates":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fa6399be_885a234f","updated":"2016-10-12 05:05:27.000000000","message":"i don\u0027t think we want to change this, many places still use tenant","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"db77fe969d6f05f19fd013565f3acb8768f15d84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fa6399be_31e646e8","in_reply_to":"fa6399be_885a234f","updated":"2016-10-16 03:37:45.000000000","message":"Done","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"}],"keystone/tests/unit/catalog/test_core.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                          url_template,"},{"line_number":72,"context_line":"                          values)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_substitution_with_allowed_tenant_keyerror(self):"},{"line_number":75,"context_line":"        # No value of \u0027project_id\u0027 is passed into url_template."},{"line_number":76,"context_line":"        # mod: format_url will return None instead of raising"},{"line_number":77,"context_line":"        # \"MalformedEndpoint\" exception."},{"line_number":78,"context_line":"        # This is intentional behavior since we don\u0027t want to skip"},{"line_number":79,"context_line":"        # all the later endpoints once there is an URL of endpoint"},{"line_number":80,"context_line":"        # trying to replace \u0027project_id\u0027 with None."},{"line_number":81,"context_line":"        url_template \u003d (\u0027http://$(public_bind_host)s:$(admin_port)d/\u0027"},{"line_number":82,"context_line":"                        \u0027$(project_id)s/$(user_id)s\u0027)"},{"line_number":83,"context_line":"        values \u003d {\u0027public_bind_host\u0027: \u0027server\u0027, \u0027admin_port\u0027: 9090,"},{"line_number":84,"context_line":"                  \u0027user_id\u0027: \u0027B\u0027}"},{"line_number":85,"context_line":"        self.assertIsNone(utils.format_url(url_template, values,"},{"line_number":86,"context_line":"                          silent_keyerror_failures\u003d[\u0027project_id\u0027]))"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_substitution_with_allowed_project_keyerror(self):"},{"line_number":89,"context_line":"        # No value of \u0027project_id\u0027 is passed into url_template."}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_c82b3b93","line":86,"range":{"start_line":74,"start_character":4,"end_line":86,"end_character":67},"updated":"2016-10-12 05:05:27.000000000","message":"we need a test to ensure that tenant_id still works","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"db77fe969d6f05f19fd013565f3acb8768f15d84","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                          url_template,"},{"line_number":72,"context_line":"                          values)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_substitution_with_allowed_tenant_keyerror(self):"},{"line_number":75,"context_line":"        # No value of \u0027project_id\u0027 is passed into url_template."},{"line_number":76,"context_line":"        # mod: format_url will return None instead of raising"},{"line_number":77,"context_line":"        # \"MalformedEndpoint\" exception."},{"line_number":78,"context_line":"        # This is intentional behavior since we don\u0027t want to skip"},{"line_number":79,"context_line":"        # all the later endpoints once there is an URL of endpoint"},{"line_number":80,"context_line":"        # trying to replace \u0027project_id\u0027 with None."},{"line_number":81,"context_line":"        url_template \u003d (\u0027http://$(public_bind_host)s:$(admin_port)d/\u0027"},{"line_number":82,"context_line":"                        \u0027$(project_id)s/$(user_id)s\u0027)"},{"line_number":83,"context_line":"        values \u003d {\u0027public_bind_host\u0027: \u0027server\u0027, \u0027admin_port\u0027: 9090,"},{"line_number":84,"context_line":"                  \u0027user_id\u0027: \u0027B\u0027}"},{"line_number":85,"context_line":"        self.assertIsNone(utils.format_url(url_template, values,"},{"line_number":86,"context_line":"                          silent_keyerror_failures\u003d[\u0027project_id\u0027]))"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_substitution_with_allowed_project_keyerror(self):"},{"line_number":89,"context_line":"        # No value of \u0027project_id\u0027 is passed into url_template."}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_110a228a","line":86,"range":{"start_line":74,"start_character":4,"end_line":86,"end_character":67},"in_reply_to":"fa6399be_c82b3b93","updated":"2016-10-16 03:37:45.000000000","message":"Good catch! will revert this one, it\u0027s actually duplicated with the test below \u0027test_substitution_with_allowed_project_keyerror\u0027.","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"}],"keystone/tests/unit/test_catalog.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    def test_endpoint_create_with_valid_url(self):"},{"line_number":199,"context_line":"        \"\"\"Create endpoint with valid URL should be tested, too.\"\"\""},{"line_number":200,"context_line":"        # list one valid url is enough, no need to list too much"},{"line_number":201,"context_line":"        valid_url \u003d \u0027http://127.0.0.1:8774/v1.1/$(project_id)s\u0027"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # baseline tests that all valid URLs works"},{"line_number":204,"context_line":"        self._endpoint_create(expected_status\u003dhttp_client.OK,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_2813d767","line":201,"range":{"start_line":201,"start_character":8,"end_line":201,"end_character":63},"updated":"2016-10-12 05:05:27.000000000","message":"the other one is valid too, create another test","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"db77fe969d6f05f19fd013565f3acb8768f15d84","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    def test_endpoint_create_with_valid_url(self):"},{"line_number":199,"context_line":"        \"\"\"Create endpoint with valid URL should be tested, too.\"\"\""},{"line_number":200,"context_line":"        # list one valid url is enough, no need to list too much"},{"line_number":201,"context_line":"        valid_url \u003d \u0027http://127.0.0.1:8774/v1.1/$(project_id)s\u0027"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # baseline tests that all valid URLs works"},{"line_number":204,"context_line":"        self._endpoint_create(expected_status\u003dhttp_client.OK,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_1131425a","line":201,"range":{"start_line":201,"start_character":8,"end_line":201,"end_character":63},"in_reply_to":"fa6399be_2813d767","updated":"2016-10-16 03:37:45.000000000","message":"yep, I think we can revert the change here to honor the comment above, saying, \"list one valid url is enough, no need to list too much\".","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"}],"releasenotes/notes/catalog-interface-tenant-to-project-98313bb4c1edf250.yaml":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_0b036d0e","line":3,"range":{"start_line":3,"start_character":45,"end_line":3,"end_character":57},"updated":"2016-10-12 05:05:27.000000000","message":"need a space here","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"db77fe969d6f05f19fd013565f3acb8768f15d84","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_b1c33637","line":3,"range":{"start_line":3,"start_character":45,"end_line":3,"end_character":57},"in_reply_to":"fa6399be_0b036d0e","updated":"2016-10-16 03:37:45.000000000","message":"Done","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_cb19757b","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":73},"updated":"2016-10-12 05:05:27.000000000","message":"use double backticks here, and it\u0027s actually project_id: ``project_id``","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"db77fe969d6f05f19fd013565f3acb8768f15d84","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_d1beeaac","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":73},"in_reply_to":"fa6399be_cb19757b","updated":"2016-10-16 03:37:45.000000000","message":"Done","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_4b2485ae","line":5,"range":{"start_line":5,"start_character":16,"end_line":5,"end_character":22},"updated":"2016-10-12 05:05:27.000000000","message":"``tenant_id``","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c3050354b9a87335b19aecf139a1f80657cffcfe","unresolved":false,"context_lines":[{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_c8025b0b","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":11},"updated":"2016-10-12 05:05:27.000000000","message":"instead*","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"db77fe969d6f05f19fd013565f3acb8768f15d84","unresolved":false,"context_lines":[{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - The signature of keystone catalog driver interfaces``get_catalog``"},{"line_number":4,"context_line":"    and ``get_v3_catalog`` have been changed in favour of using `project`"},{"line_number":5,"context_line":"    intsead of `tenant`."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa6399be_f1df6e0a","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":11},"in_reply_to":"fa6399be_c8025b0b","updated":"2016-10-16 03:37:45.000000000","message":"Done","commit_id":"4d40d5e56e580af8e2f9b57f036f618d51fc584b"}]}
