)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"a01021e6b23bd707a9780e2a2ff1c6017f47ed26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a2637092_ec2d6b0e","updated":"2024-03-07 20:29:13.000000000","message":"WIP for now","commit_id":"09f81d4cc89657c77e5b2cd4d5ffa9d61f409a5a"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"04847b264ea76ad5ca95c3a56bf0c5f43c747c29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0a8d81df_83528f34","updated":"2024-03-14 14:27:46.000000000","message":"LGTM!","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"}],"keystone/cmd/cli.py":[{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"7a82e0d6b937fd9616da4151c5dada4a4d6be8a8","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    @classmethod"},{"line_number":231,"context_line":"    def main(cls):"},{"line_number":232,"context_line":"        klass \u003d cls()"},{"line_number":233,"context_line":"        klass.do_project_setup()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"294fabf9_0bef6247","line":232,"range":{"start_line":232,"start_character":8,"end_line":232,"end_character":13},"updated":"2024-03-13 12:32:11.000000000","message":"Maybe you should use a better variable name? :-)","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"54b3e5b84f107fbc04bdf8e61e0ed9388b6d89cb","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    @classmethod"},{"line_number":231,"context_line":"    def main(cls):"},{"line_number":232,"context_line":"        klass \u003d cls()"},{"line_number":233,"context_line":"        klass.do_project_setup()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"4b86a14d_0c1ccdd4","line":232,"range":{"start_line":232,"start_character":8,"end_line":232,"end_character":13},"in_reply_to":"294fabf9_0bef6247","updated":"2024-03-13 12:53:09.000000000","message":"This actually follows the same convention as the other classes in keystone-manage, I agree it\u0027s not very descriptive.","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"}],"keystone/cmd/idutils.py":[{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"7a82e0d6b937fd9616da4151c5dada4a4d6be8a8","unresolved":true,"context_lines":[{"line_number":54,"context_line":"                \u0027name\u0027: self.project_name"},{"line_number":55,"context_line":"            }"},{"line_number":56,"context_line":"            PROVIDERS.resource_api.create_project(project_id, project)"},{"line_number":57,"context_line":"            LOG.info(\u0027Created project %s\u0027, self.project_name)"},{"line_number":58,"context_line":"        except exception.Conflict:"},{"line_number":59,"context_line":"            LOG.info(\u0027Project %s already exists, skipping creation.\u0027,"},{"line_number":60,"context_line":"                     self.project_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aefb519_3dd081d5","line":57,"range":{"start_line":57,"start_character":43,"end_line":57,"end_character":61},"updated":"2024-03-13 12:32:11.000000000","message":"Is this attribute set by the previous instruction?","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"54b3e5b84f107fbc04bdf8e61e0ed9388b6d89cb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                \u0027name\u0027: self.project_name"},{"line_number":55,"context_line":"            }"},{"line_number":56,"context_line":"            PROVIDERS.resource_api.create_project(project_id, project)"},{"line_number":57,"context_line":"            LOG.info(\u0027Created project %s\u0027, self.project_name)"},{"line_number":58,"context_line":"        except exception.Conflict:"},{"line_number":59,"context_line":"            LOG.info(\u0027Project %s already exists, skipping creation.\u0027,"},{"line_number":60,"context_line":"                     self.project_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"73591d19_45ed0316","line":57,"range":{"start_line":57,"start_character":43,"end_line":57,"end_character":61},"in_reply_to":"1aefb519_3dd081d5","updated":"2024-03-13 12:53:09.000000000","message":"There is a do_project_setup method in cli.py that sets this.","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"7a82e0d6b937fd9616da4151c5dada4a4d6be8a8","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        domain_id \u003d user[\u0027domain_id\u0027]"},{"line_number":75,"context_line":"        PROVIDERS.resource_api.get_domain(domain_id)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        _self._assert_default_project_id_is_not_domain("},{"line_number":78,"context_line":"            user_ref.get(\u0027default_project_id\u0027))"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # For creating a user, the domain is in the object itself"},{"line_number":81,"context_line":"        domain_id \u003d user_ref[\u0027domain_id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"1053d429_cc736082","line":78,"range":{"start_line":77,"start_character":8,"end_line":78,"end_character":47},"updated":"2024-03-13 12:32:11.000000000","message":"What is this part exactly doing?","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"54b3e5b84f107fbc04bdf8e61e0ed9388b6d89cb","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        domain_id \u003d user[\u0027domain_id\u0027]"},{"line_number":75,"context_line":"        PROVIDERS.resource_api.get_domain(domain_id)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        _self._assert_default_project_id_is_not_domain("},{"line_number":78,"context_line":"            user_ref.get(\u0027default_project_id\u0027))"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # For creating a user, the domain is in the object itself"},{"line_number":81,"context_line":"        domain_id \u003d user_ref[\u0027domain_id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"552765ff_eec1ac3f","line":78,"range":{"start_line":77,"start_character":8,"end_line":78,"end_character":47},"in_reply_to":"1053d429_cc736082","updated":"2024-03-13 12:53:09.000000000","message":"This just ensures that the users default project ID it not actually a domain ID. The definition is in keystone/identity/core.py L910","commit_id":"a8366c4827b1455a9daa89d2f49f9cd1b7673685"}]}
