blob: f4abbb2427319eed3ebe738db3547725db7c0a17 [file] [log] [blame]
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +09001# Copyright 2014 NEC Corporation.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
15import json
16import urllib
17
Marc Koderer6fbd74f2014-08-04 09:38:19 +020018from tempest.api_schema.response.compute import migrations as schema
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +090019from tempest.common import rest_client
20from tempest import config
21
22CONF = config.CONF
23
24
25class MigrationsClientJSON(rest_client.RestClient):
26
27 def __init__(self, auth_provider):
28 super(MigrationsClientJSON, self).__init__(auth_provider)
29 self.service = CONF.compute.catalog_type
30
31 def list_migrations(self, params=None):
32 """Lists all migrations."""
33
34 url = 'os-migrations'
35 if params:
36 url += '?%s' % urllib.urlencode(params)
37
38 resp, body = self.get(url)
39 body = json.loads(body)
Ken'ichi Ohmichia7a14f12014-04-08 22:31:17 +090040 self.validate_response(schema.list_migrations, resp, body)
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +090041 return resp, body['migrations']