)]}'
{"watcher/applier/primitives/migration.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"92b80c7af617c3d7aa2a39ab5caa5a9047d4e464","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                             session\u003dkeystone.get_session())"},{"line_number":48,"context_line":"        instance \u003d wrapper.find_instance(self.instance_uuid)"},{"line_number":49,"context_line":"        if instance:"},{"line_number":50,"context_line":"            project_id \u003d getattr(instance, \"tenant_id\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"            creds2 \u003d \\"},{"line_number":53,"context_line":"                {\u0027auth_url\u0027: CONF.keystone_authtoken.auth_uri,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a7e1126_13bfc061","side":"PARENT","line":50,"updated":"2015-12-22 08:46:17.000000000","message":"IMHO, this code was here for adding the project_id attribute.\n\nI believe that if we are not providing this attribute it is possible that we will have no authorization on the project and so, the live migration will be denied.","commit_id":"853145f4d1ffebd47faf3cdbee7c5cc04d4707d3"},{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"c9aceada4e9b964564b603fddfc0cd5dbafba1ff","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                             session\u003dkeystone.get_session())"},{"line_number":48,"context_line":"        instance \u003d wrapper.find_instance(self.instance_uuid)"},{"line_number":49,"context_line":"        if instance:"},{"line_number":50,"context_line":"            project_id \u003d getattr(instance, \"tenant_id\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"            creds2 \u003d \\"},{"line_number":53,"context_line":"                {\u0027auth_url\u0027: CONF.keystone_authtoken.auth_uri,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_9fef0cb0","side":"PARENT","line":50,"in_reply_to":"3a7e1126_13bfc061","updated":"2015-12-23 04:01:34.000000000","message":"Actually if CONF.keystone_authtoken.admin_user doesn\u0027t have any role in the project where the instance lives, it still cannot get authorized:\n\n(Pdb) self.keystone \u003d keystone.KeystoneClient().get_ksclient(creds)\n*** Unauthorized: User 6bc1a1d09d434763b1334eed4aeb1df1 is unauthorized for tenant 23997363b73448de9e5d6e353a2b4e66 (Disable debug mode to suppress these details.) (HTTP 401) (Request-ID: req-bd605ccd-c82d-4800-b2c2-cb05a00477b1)\n\n\nA keystone developer suggests to assign a _member_ role of that project to CONF.keystone_authtoken.admin_user and then we also don\u0027t need another novaclient.","commit_id":"853145f4d1ffebd47faf3cdbee7c5cc04d4707d3"}]}
