)]}'
{"keystone/resource/core.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"0a1841c34e88050e595d32c202934ee098dfe975","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        update_domain \u003d (\u0027domain_id\u0027 in project and"},{"line_number":316,"context_line":"                         project[\u0027domain_id\u0027] !\u003d original_project[\u0027domain_id\u0027])"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        # NOTE(htruta): A project.domain_id can only be updated for root"},{"line_number":319,"context_line":"        # projects that have no children. The update of domain_id of a project"},{"line_number":320,"context_line":"        # in the middle of the hierarchy creates an inconsistent project"},{"line_number":321,"context_line":"        # hierarchy."},{"line_number":322,"context_line":"        if update_domain:"},{"line_number":323,"context_line":"            if original_project[\u0027is_domain\u0027]:"},{"line_number":324,"context_line":"                raise exception.ValidationError("},{"line_number":325,"context_line":"                    message\u003d_(\u0027Update of domain_id of projects acting as \u0027"},{"line_number":326,"context_line":"                              \u0027domains is not allowed.\u0027))"},{"line_number":327,"context_line":"            parent_project \u003d ("},{"line_number":328,"context_line":"                self.driver.get_project(original_project[\u0027parent_id\u0027]))"},{"line_number":329,"context_line":"            is_root_project \u003d parent_project[\u0027is_domain\u0027]"},{"line_number":330,"context_line":"            if not is_root_project:"},{"line_number":331,"context_line":"                raise exception.ValidationError("},{"line_number":332,"context_line":"                    message\u003d_(\u0027Update of domain_id is only allowed for \u0027"},{"line_number":333,"context_line":"                              \u0027root projects.\u0027))"},{"line_number":334,"context_line":"            subtree_list \u003d self.list_projects_in_subtree(project_id)"},{"line_number":335,"context_line":"            if subtree_list:"},{"line_number":336,"context_line":"                raise exception.ValidationError("},{"line_number":337,"context_line":"                    message\u003d_(\u0027Cannot update domain_id of a project that \u0027"},{"line_number":338,"context_line":"                              \u0027has children.\u0027))"},{"line_number":339,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":340,"context_line":"                LOG,"},{"line_number":341,"context_line":"                _(\u0027update of domain_id is deprecated as of Mitaka \u0027"},{"line_number":342,"context_line":"                  \u0027and will be removed in O.\u0027)"},{"line_number":343,"context_line":"            )"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        original_project_enabled \u003d original_project.get(\u0027enabled\u0027, True)"},{"line_number":346,"context_line":"        project_enabled \u003d project.get(\u0027enabled\u0027, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_485e5c77","line":343,"range":{"start_line":318,"start_character":0,"end_line":343,"end_character":13},"updated":"2017-01-03 16:01:21.000000000","message":"is this useful at all ?\n\nuser, group and project update calls (at controller level) call _require_matching_domain_id which does not allow domain_id to be updated, that means domain_id can\u0027t be updated at all.\n\nif this is not needed by any other internal code (which I don\u0027t think is the case), let\u0027s just remove it.","commit_id":"fa4594c7a187f88f76c81cc66c4da30ad5b3a201"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9e66171630c396b4fd68778f8a4964841c04f6ad","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        update_domain \u003d (\u0027domain_id\u0027 in project and"},{"line_number":316,"context_line":"                         project[\u0027domain_id\u0027] !\u003d original_project[\u0027domain_id\u0027])"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        # NOTE(htruta): A project.domain_id can only be updated for root"},{"line_number":319,"context_line":"        # projects that have no children. The update of domain_id of a project"},{"line_number":320,"context_line":"        # in the middle of the hierarchy creates an inconsistent project"},{"line_number":321,"context_line":"        # hierarchy."},{"line_number":322,"context_line":"        if update_domain:"},{"line_number":323,"context_line":"            if original_project[\u0027is_domain\u0027]:"},{"line_number":324,"context_line":"                raise exception.ValidationError("},{"line_number":325,"context_line":"                    message\u003d_(\u0027Update of domain_id of projects acting as \u0027"},{"line_number":326,"context_line":"                              \u0027domains is not allowed.\u0027))"},{"line_number":327,"context_line":"            parent_project \u003d ("},{"line_number":328,"context_line":"                self.driver.get_project(original_project[\u0027parent_id\u0027]))"},{"line_number":329,"context_line":"            is_root_project \u003d parent_project[\u0027is_domain\u0027]"},{"line_number":330,"context_line":"            if not is_root_project:"},{"line_number":331,"context_line":"                raise exception.ValidationError("},{"line_number":332,"context_line":"                    message\u003d_(\u0027Update of domain_id is only allowed for \u0027"},{"line_number":333,"context_line":"                              \u0027root projects.\u0027))"},{"line_number":334,"context_line":"            subtree_list \u003d self.list_projects_in_subtree(project_id)"},{"line_number":335,"context_line":"            if subtree_list:"},{"line_number":336,"context_line":"                raise exception.ValidationError("},{"line_number":337,"context_line":"                    message\u003d_(\u0027Cannot update domain_id of a project that \u0027"},{"line_number":338,"context_line":"                              \u0027has children.\u0027))"},{"line_number":339,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":340,"context_line":"                LOG,"},{"line_number":341,"context_line":"                _(\u0027update of domain_id is deprecated as of Mitaka \u0027"},{"line_number":342,"context_line":"                  \u0027and will be removed in O.\u0027)"},{"line_number":343,"context_line":"            )"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        original_project_enabled \u003d original_project.get(\u0027enabled\u0027, True)"},{"line_number":346,"context_line":"        project_enabled \u003d project.get(\u0027enabled\u0027, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_545b512e","line":343,"range":{"start_line":318,"start_character":0,"end_line":343,"end_character":13},"in_reply_to":"ba5201f7_485e5c77","updated":"2017-01-03 17:10:45.000000000","message":"this is fine to do in a follow on patch","commit_id":"fa4594c7a187f88f76c81cc66c4da30ad5b3a201"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bef8da76f22a2c9520b3a0ac9de42a825cc0f644","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                LOG,"},{"line_number":341,"context_line":"                _(\u0027update of domain_id is deprecated as of Mitaka \u0027"},{"line_number":342,"context_line":"                  \u0027and will be removed in O.\u0027)"},{"line_number":343,"context_line":"            )"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        original_project_enabled \u003d original_project.get(\u0027enabled\u0027, True)"},{"line_number":346,"context_line":"        project_enabled \u003d project.get(\u0027enabled\u0027, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_14dc62e3","line":343,"in_reply_to":"ba5201f7_545b512e","updated":"2017-01-03 21:18:24.000000000","message":"Aha - good point. I\u0027ll remove this in the next patch set.","commit_id":"fa4594c7a187f88f76c81cc66c4da30ad5b3a201"}],"releasenotes/notes/removed-as-of-ocata-436bb4b839e74494.yaml":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6a619fe4a920350459dfbc29463a1f9a083d0090","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    This removes the ability to change the ``domain_id`` attribute of"},{"line_number":69,"context_line":"    users, groups, and projects. The behavior was introduced to allow"},{"line_number":70,"context_line":"    deployers to migrate entities from one domain to another by updating"},{"line_number":71,"context_line":"    the `domain_id` attribute of an entity. This functionality was"},{"line_number":72,"context_line":"    deprecated in the Mitaka release is now removed."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba5201f7_619faf50","line":71,"range":{"start_line":71,"start_character":9,"end_line":71,"end_character":18},"updated":"2017-01-03 22:14:05.000000000","message":"``domain_id``","commit_id":"0c2b996eadf2dbda8c7da554d7780955f1c53aca"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"50b3a51d802b5e18bcfc59ea582dcbef3f0630b4","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    This removes the ability to change the ``domain_id`` attribute of"},{"line_number":69,"context_line":"    users, groups, and projects. The behavior was introduced to allow"},{"line_number":70,"context_line":"    deployers to migrate entities from one domain to another by updating"},{"line_number":71,"context_line":"    the `domain_id` attribute of an entity. This functionality was"},{"line_number":72,"context_line":"    deprecated in the Mitaka release is now removed."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba5201f7_24ecd58e","line":71,"in_reply_to":"ba5201f7_619faf50","updated":"2017-01-03 22:51:31.000000000","message":"Done","commit_id":"0c2b996eadf2dbda8c7da554d7780955f1c53aca"}]}
