)]}'
{"shade/operatorcloud.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"29cb0a2cf5732ec0819487c65b50694ea3375648","unresolved":false,"context_lines":[{"line_number":1299,"context_line":"            ret.append({\u0027id\u0027: tmprole.id,"},{"line_number":1300,"context_line":"                        \u0027project\u0027: project,"},{"line_number":1301,"context_line":"                        \u0027user\u0027: user})"},{"line_number":1302,"context_line":"        return ret"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"    def list_role_assignments(self, filters\u003dNone):"},{"line_number":1305,"context_line":"        \"\"\"List Keystone role assignments"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a68dd71_94ec8e90","line":1302,"updated":"2016-01-21 22:25:00.000000000","message":"You need to run the return values through normalize_role_assignments().","commit_id":"1b8b53e57ef3711544d2ea7ea6fd8f03d83f98f4"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"29cb0a2cf5732ec0819487c65b50694ea3375648","unresolved":false,"context_lines":[{"line_number":1339,"context_line":"            if not filters:"},{"line_number":1340,"context_line":"                raise OpenStackCloudException("},{"line_number":1341,"context_line":"                    \"Must provide at least user for keystone v2\""},{"line_number":1342,"context_line":"                )"},{"line_number":1343,"context_line":"            return self._keystone_v2_role_assignments(**filters)"},{"line_number":1344,"context_line":"        else:"},{"line_number":1345,"context_line":"            with _utils.shade_exceptions(\"Failed to list role assignments\"):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a68dd71_d47d26e8","line":1342,"updated":"2016-01-21 22:25:00.000000000","message":"I get an exception thrown when I don\u0027t specify a project.\n\nshade.exc.OpenStackCloudException: Failed to list role assignments (Inner Exception: User roles not supported: tenant_id required (HTTP 501)\n\nDo we need to require project as well as user?","commit_id":"1b8b53e57ef3711544d2ea7ea6fd8f03d83f98f4"},{"author":{"_account_id":8016,"name":"Daniel Wallace","email":"danielwallace@gtmanfred.com","username":"gtmanfred"},"change_message_id":"260dacf2a3c90d1b22acc0f2b6f8663ec5571364","unresolved":false,"context_lines":[{"line_number":1339,"context_line":"            if not filters:"},{"line_number":1340,"context_line":"                raise OpenStackCloudException("},{"line_number":1341,"context_line":"                    \"Must provide at least user for keystone v2\""},{"line_number":1342,"context_line":"                )"},{"line_number":1343,"context_line":"            return self._keystone_v2_role_assignments(**filters)"},{"line_number":1344,"context_line":"        else:"},{"line_number":1345,"context_line":"            with _utils.shade_exceptions(\"Failed to list role assignments\"):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a68dd71_ff828393","line":1342,"in_reply_to":"9a68dd71_d47d26e8","updated":"2016-01-21 22:38:08.000000000","message":"according to upstream keystoneclient, the tenant should not be required.\n\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/v2_0/roles.py#L49\n\nSo I think it requires a different configuration of keystone maybe? but I had the same error.\n\nI can add a requirement of tenant_id, but i don\u0027t know if that will prevent certain configurations of keystone from using a feature that they should have.\n\nIt would certainly not break anything to require it for now, and then remove it for someone if they come back with a configuration that does not require the tenant.","commit_id":"1b8b53e57ef3711544d2ea7ea6fd8f03d83f98f4"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"7b6734c7c5872b87aefcd2664b4a8318385e1f7f","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"            filters \u003d {}"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"        if self.cloud_config.get_api_version(\u0027identity\u0027).startswith(\u00272\u0027):"},{"line_number":1349,"context_line":"            if \u0027project\u0027 not in filters or \u0027user\u0027 not in filters:"},{"line_number":1350,"context_line":"                raise OpenStackCloudException("},{"line_number":1351,"context_line":"                    \"Must provide project and user for keystone v2\""},{"line_number":1352,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_cfcec32d","line":1349,"updated":"2016-01-22 16:46:25.000000000","message":"You should also check for None values for project/user. I can pass None for project and will end up with a \u0027tenant_id required\u0027 exception.","commit_id":"d738e83e6e00e94471852f58e7c8625b49d1ad4d"}]}
