)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"9a8a848359f26eaf038f3f16e7f1365badae61e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"89c20c49_6e27f6c0","updated":"2021-10-12 13:41:31.000000000","message":"There is a documentation error unrelated to this patch:\n\n/home/zuul/src/opendev.org/openstack/python-keystoneclient/.tox/docs/lib/python3.8/site-packages/keystoneauth1/fixture/discovery.py:docstring of keystoneauth1.fixture.discovery.DiscoveryList:1:duplicate object description of keystoneauth1.fixture.discovery.DiscoveryList, other instance in api/keystoneclient.fixture, use :noindex: for one of them\n","commit_id":"a03cf35063a57b5eb20971ab84ff05508bdf25be"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a7a441783aa78c0cddbc2729b0f27b8e0b7b2961","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f730fd3e_b2bc7b59","updated":"2021-11-02 14:58:01.000000000","message":"Couple suggestions to line this up with the API reference. Also a link to some similar tests that we can use.\n\nhttps://github.com/openstack/python-keystoneclient/commit/831ba037b0ba2077e168cb33976c78e565aece88\n\nThanks for the patch, Radomir!","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10ea25c396469e2868dc623069a43580766cdaa9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ef82ccbe_a9cc6bfe","updated":"2021-11-22 13:49:49.000000000","message":"Looks good outside of a couple minor comments about wording.\n\nThis worked locally for me and the tests make sense.","commit_id":"afbe2cf55d6409fde2f3420eb9f9f43fd1e74ba6"}],"keystoneclient/v3/auth.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a7a441783aa78c0cddbc2729b0f27b8e0b7b2961","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    _PROJECTS_URL \u003d \u0027/auth/projects\u0027"},{"line_number":35,"context_line":"    _DOMAINS_URL \u003d \u0027/auth/domains\u0027"},{"line_number":36,"context_line":"    _SYSTEMS_URL \u003d \u0027/auth/systems\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def projects(self):"},{"line_number":39,"context_line":"        \"\"\"List projects that the specified token can be rescoped to."}],"source_content_type":"text/x-python","patch_set":3,"id":"bec8666a_be6d7457","line":36,"range":{"start_line":36,"start_character":32,"end_line":36,"end_character":33},"updated":"2021-11-02 14:58:01.000000000","message":"We need to drop the \u0027s\u0027 otherwise we get a 404.\n\nhttps://docs.openstack.org/api-ref/identity/v3/index.html#get-available-system-scopes","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"328ef9d5ca3de09f18a8edfe772b19e8bdf57131","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    _PROJECTS_URL \u003d \u0027/auth/projects\u0027"},{"line_number":35,"context_line":"    _DOMAINS_URL \u003d \u0027/auth/domains\u0027"},{"line_number":36,"context_line":"    _SYSTEMS_URL \u003d \u0027/auth/systems\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def projects(self):"},{"line_number":39,"context_line":"        \"\"\"List projects that the specified token can be rescoped to."}],"source_content_type":"text/x-python","patch_set":3,"id":"4092ffd1_71ad19ba","line":36,"range":{"start_line":36,"start_character":32,"end_line":36,"end_character":33},"in_reply_to":"bec8666a_be6d7457","updated":"2021-11-03 11:19:58.000000000","message":"Done","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a7a441783aa78c0cddbc2729b0f27b8e0b7b2961","unresolved":true,"context_lines":[{"line_number":71,"context_line":"                              obj_class\u003dDomain,"},{"line_number":72,"context_line":"                              endpoint_filter\u003dendpoint_filter)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def systems(self):"},{"line_number":75,"context_line":"        \"\"\"List Systems that the specified token can be rescoped to."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        :returns: a list of systems."}],"source_content_type":"text/x-python","patch_set":3,"id":"494717d3_50c2e8eb","line":74,"updated":"2021-11-02 14:58:01.000000000","message":"Tested this using a areally quick functional test with devstack:\n\n  from keystoneauth1.identity import v3\n  from keystoneauth1 import session\n  from keystoneclient.v3 import client\n\n  auth \u003d v3.Password(auth_url\u003d\u0027http://192.168.1.154/identity/v3\u0027,\n                     username\u003d\u0027admin\u0027,\n                     password\u003d\u0027nomoresecret\u0027,\n                     user_domain_id\u003d\u0027default\u0027)\n  sess \u003d session.Session(auth\u003dauth)\n  ks \u003d client.Client(session\u003dsess)\n  systems \u003d ks.auth.systems()\n  for system in systems:\n      assert system.all","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"328ef9d5ca3de09f18a8edfe772b19e8bdf57131","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                              obj_class\u003dDomain,"},{"line_number":72,"context_line":"                              endpoint_filter\u003dendpoint_filter)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def systems(self):"},{"line_number":75,"context_line":"        \"\"\"List Systems that the specified token can be rescoped to."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        :returns: a list of systems."}],"source_content_type":"text/x-python","patch_set":3,"id":"16a496bf_7b497eac","line":74,"in_reply_to":"494717d3_50c2e8eb","updated":"2021-11-03 11:19:58.000000000","message":"Ack","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a7a441783aa78c0cddbc2729b0f27b8e0b7b2961","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            return self._list(self._SYSTEM_URL,"},{"line_number":83,"context_line":"                              \u0027systems\u0027,"},{"line_number":84,"context_line":"                              obj_class\u003dSystem)"},{"line_number":85,"context_line":"        except exceptions.EndpointNotFound:"}],"source_content_type":"text/x-python","patch_set":3,"id":"6bb37184_0b5d9452","line":82,"range":{"start_line":82,"start_character":35,"end_line":82,"end_character":46},"updated":"2021-11-02 14:58:01.000000000","message":"This needs to be _SYSTEMS_URL to match the constant above:\n\n  *** AttributeError: \u0027AuthManager\u0027 object has no attribute \u0027_SYSTEM_URL\u0027","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"328ef9d5ca3de09f18a8edfe772b19e8bdf57131","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            return self._list(self._SYSTEM_URL,"},{"line_number":83,"context_line":"                              \u0027systems\u0027,"},{"line_number":84,"context_line":"                              obj_class\u003dSystem)"},{"line_number":85,"context_line":"        except exceptions.EndpointNotFound:"}],"source_content_type":"text/x-python","patch_set":3,"id":"e488e948_b442c59d","line":82,"range":{"start_line":82,"start_character":35,"end_line":82,"end_character":46},"in_reply_to":"6bb37184_0b5d9452","updated":"2021-11-03 11:19:58.000000000","message":"Done","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a7a441783aa78c0cddbc2729b0f27b8e0b7b2961","unresolved":true,"context_lines":[{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            return self._list(self._SYSTEM_URL,"},{"line_number":83,"context_line":"                              \u0027systems\u0027,"},{"line_number":84,"context_line":"                              obj_class\u003dSystem)"},{"line_number":85,"context_line":"        except exceptions.EndpointNotFound:"},{"line_number":86,"context_line":"            endpoint_filter \u003d {\u0027interface\u0027: plugin.AUTH_INTERFACE}"}],"source_content_type":"text/x-python","patch_set":3,"id":"705979eb_ad17704e","line":83,"range":{"start_line":83,"start_character":37,"end_line":83,"end_character":38},"updated":"2021-11-02 14:58:01.000000000","message":"Same comment here as above.","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"328ef9d5ca3de09f18a8edfe772b19e8bdf57131","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            return self._list(self._SYSTEM_URL,"},{"line_number":83,"context_line":"                              \u0027systems\u0027,"},{"line_number":84,"context_line":"                              obj_class\u003dSystem)"},{"line_number":85,"context_line":"        except exceptions.EndpointNotFound:"},{"line_number":86,"context_line":"            endpoint_filter \u003d {\u0027interface\u0027: plugin.AUTH_INTERFACE}"}],"source_content_type":"text/x-python","patch_set":3,"id":"2b343c2c_0295156d","line":83,"range":{"start_line":83,"start_character":37,"end_line":83,"end_character":38},"in_reply_to":"705979eb_ad17704e","updated":"2021-11-03 11:19:58.000000000","message":"Done","commit_id":"54cbe8f608db9cdeca9fef07533c6c76b5db49c4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1c5ffb430ee09b412b0e39f4ba6a5ac592cab590","unresolved":true,"context_lines":[{"line_number":16,"context_line":"from keystoneclient import base"},{"line_number":17,"context_line":"from keystoneclient.v3 import domains"},{"line_number":18,"context_line":"from keystoneclient.v3 import projects"},{"line_number":19,"context_line":"from keystoneclient.v3 import systems"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Domain \u003d domains.Domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"a727ce85_f630861e","line":19,"range":{"start_line":19,"start_character":36,"end_line":19,"end_character":37},"updated":"2021-11-03 20:01:23.000000000","message":"The \u0027s\u0027 here could be dropped to be consistent with everything else. I\u0027m indifferent, curious what other people think.","commit_id":"fb6cec86c2ac412c15625f0d8ee6c756cef2f5ba"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"ed7dabf51bb313c7d133e8dec8d8df1735893ae7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from keystoneclient import base"},{"line_number":17,"context_line":"from keystoneclient.v3 import domains"},{"line_number":18,"context_line":"from keystoneclient.v3 import projects"},{"line_number":19,"context_line":"from keystoneclient.v3 import systems"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Domain \u003d domains.Domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"399d8883_dd7b7d48","line":19,"range":{"start_line":19,"start_character":36,"end_line":19,"end_character":37},"in_reply_to":"a727ce85_f630861e","updated":"2021-11-09 11:57:21.000000000","message":"Done","commit_id":"fb6cec86c2ac412c15625f0d8ee6c756cef2f5ba"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10ea25c396469e2868dc623069a43580766cdaa9","unresolved":true,"context_lines":[{"line_number":72,"context_line":"                              endpoint_filter\u003dendpoint_filter)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def systems(self):"},{"line_number":75,"context_line":"        \"\"\"List Systems that the specified token can be rescoped to."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        :returns: a list of systems."},{"line_number":78,"context_line":"        :rtype: list of :class:`keystoneclient.v3.systems.System`."}],"source_content_type":"text/x-python","patch_set":7,"id":"899f1bda_44c06077","line":75,"range":{"start_line":75,"start_character":0,"end_line":75,"end_character":68},"updated":"2021-11-22 13:49:49.000000000","message":"This will only ever be one today. It could be expanded in the future, but that would require additional keystone work that isn\u0027t planned, yet.","commit_id":"afbe2cf55d6409fde2f3420eb9f9f43fd1e74ba6"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"785f05207847b7d813de4639a9ac39030ed9e335","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                              endpoint_filter\u003dendpoint_filter)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def systems(self):"},{"line_number":75,"context_line":"        \"\"\"List Systems that the specified token can be rescoped to."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        :returns: a list of systems."},{"line_number":78,"context_line":"        :rtype: list of :class:`keystoneclient.v3.systems.System`."}],"source_content_type":"text/x-python","patch_set":7,"id":"a7cf23d6_d751883d","line":75,"range":{"start_line":75,"start_character":0,"end_line":75,"end_character":68},"in_reply_to":"899f1bda_44c06077","updated":"2021-11-22 14:15:47.000000000","message":"Done","commit_id":"afbe2cf55d6409fde2f3420eb9f9f43fd1e74ba6"}],"keystoneclient/v3/system.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10ea25c396469e2868dc623069a43580766cdaa9","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class System(base.Resource):"},{"line_number":20,"context_line":"    \"\"\"Represents an Identity system."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    Attributes:"},{"line_number":23,"context_line":"        * all: boolean"}],"source_content_type":"text/x-python","patch_set":7,"id":"911dd3c5_17c5bf8d","line":20,"range":{"start_line":20,"start_character":21,"end_line":20,"end_character":29},"updated":"2021-11-22 13:49:49.000000000","message":"Another way to think of this is that it represents the entire deployment system, including all services in the cloud you\u0027re interacting with.\n\nIt might be more accurate to say something along those lines.","commit_id":"afbe2cf55d6409fde2f3420eb9f9f43fd1e74ba6"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"785f05207847b7d813de4639a9ac39030ed9e335","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class System(base.Resource):"},{"line_number":20,"context_line":"    \"\"\"Represents an Identity system."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    Attributes:"},{"line_number":23,"context_line":"        * all: boolean"}],"source_content_type":"text/x-python","patch_set":7,"id":"79cdd4a6_cf842127","line":20,"range":{"start_line":20,"start_character":21,"end_line":20,"end_character":29},"in_reply_to":"911dd3c5_17c5bf8d","updated":"2021-11-22 14:15:47.000000000","message":"Done","commit_id":"afbe2cf55d6409fde2f3420eb9f9f43fd1e74ba6"}],"keystoneclient/v3/systems.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5567607081cbbb788b5274616d3fc2b7e5240f24","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"fef6cf45_0a9ed1fc","line":2,"updated":"2021-10-08 05:39:09.000000000","message":"nit: The year of the copyright header looks incorrect.","commit_id":"4eaf426a87ac156af5d7e366400336869fc0be7b"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"e2a532ca2fbd9d512606e3fb371e4d093dea4c07","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"61da8631_8a8338e8","line":2,"in_reply_to":"fef6cf45_0a9ed1fc","updated":"2021-10-11 09:39:00.000000000","message":"Done","commit_id":"4eaf426a87ac156af5d7e366400336869fc0be7b"}]}
