def list_keypairs(self, req, tenant_id): ''' list key pairs support all_tenants=True ''' result, headers = self._nova_request(req) auth_token = req.headers.get("x-auth-token") try: keypairs = result['keypairs'] keypair_list_ret = [] for item in keypairs: keypair = item['keypair'] user = ops_api.get_user(keypair['user_id'], auth_token) keypair.update(user_name=user['name']) if 'tenantName' in user: keypair.update( tenant_name=user['tenantName'], tenant_id=user['tenantId']) fingerprint = keypair.get('fingerprint', '').\ replace('.create', '') keypair.update(fingerprint=fingerprint) keypair_list_ret.append(keypair) keypair_list_ret = list_filter.filter_keypairs(req, keypair_list_ret) keypair_list_ret = list_sort.sort_keypairs(req, keypair_list_ret) except KeyError: LOG.exception(_("repack keypair data error.")) raise exc.HTTPFailedDependency(_("Nova method deprecated.")) return dict(keypairs=keypair_list_ret)