Fix issues with Python3

Partially implements: blueprint python-3

Change-Id: Iac7a61026e83dfa977de7edb2cf141c285603e2b
This commit is contained in:
Hiroaki Kobayashi 2018-01-19 17:35:11 +09:00 committed by Pierre Riteau
parent 5e14c75392
commit f2748d36aa
4 changed files with 24 additions and 30 deletions

View File

@ -13,8 +13,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import json from oslo_serialization import jsonutils as json
from tempest.lib.common import rest_client from tempest.lib.common import rest_client
@ -41,12 +40,12 @@ class ResourceReservationV1Client(rest_client.RestClient):
return self._response_helper(resp, body) return self._response_helper(resp, body)
def create_lease(self, body): def create_lease(self, body):
body = json.dumps(body) body = json.dump_as_bytes(body)
resp, body = self.post(self.lease, body=body) resp, body = self.post(self.lease, body=body)
return self._response_helper(resp, body) return self._response_helper(resp, body)
def update_lease(self, lease, body): def update_lease(self, lease, body):
body = json.dumps(body) body = json.dump_as_bytes(body)
resp, body = self.put(self.lease_path % lease, body=body) resp, body = self.put(self.lease_path % lease, body=body)
return self._response_helper(resp, body) return self._response_helper(resp, body)
@ -63,12 +62,12 @@ class ResourceReservationV1Client(rest_client.RestClient):
return self._response_helper(resp, body) return self._response_helper(resp, body)
def create_host(self, body): def create_host(self, body):
body = json.dumps(body) body = json.dump_as_bytes(body)
resp, body = self.post(self.host, body=body) resp, body = self.post(self.host, body=body)
return self._response_helper(resp, body) return self._response_helper(resp, body)
def update_host(self, host, body): def update_host(self, host, body):
body = json.dumps(body) body = json.dump_as_bytes(body)
resp, body = self.put(self.host_path % host, body=body) resp, body = self.put(self.host_path % host, body=body)
return self._response_helper(resp, body) return self._response_helper(resp, body)

View File

@ -58,8 +58,8 @@ class ResourceReservationScenarioTest(manager.ScenarioTest):
named_lease = [] named_lease = []
# and then search by lease_name # and then search by lease_name
named_lease = ( named_lease = [lease for lease in lease_list
filter(lambda lease: lease['name'] == lease_name, lease_list)) if lease['name'] == lease_name]
if named_lease: if named_lease:
return self.reservation_client.get_lease( return self.reservation_client.get_lease(
@ -78,16 +78,15 @@ class ResourceReservationScenarioTest(manager.ScenarioTest):
lease = self.reservation_client.get_lease(lease_id)['lease'] lease = self.reservation_client.get_lease(lease_id)['lease']
if lease: if lease:
events = lease['events'] events = lease['events']
return len(filter(lambda evt: return len([evt for evt in events
evt['event_type'] == 'end_lease' and if evt['event_type'] == 'end_lease'
evt['status'] == 'DONE', and evt['status'] == 'DONE']) > 0
events)) > 0
else: else:
LOG.info("Lease with id %s is empty", lease_id) LOG.info("Lease with id %s is empty", lease_id)
except Exception as e: except Exception as e:
LOG.info("Unable to find lease with id %(lease_id)s. " LOG.info("Unable to find lease with id %(lease_id)s. "
"Exception: %(message)s", "Exception: %(message)s",
{'lease_id': lease_id, 'message': e.message}) {'lease_id': lease_id, 'message': str(e)})
return True return True
if not test_utils.call_until_true( if not test_utils.call_until_true(
@ -99,14 +98,13 @@ class ResourceReservationScenarioTest(manager.ScenarioTest):
def remove_image_snapshot(self, image_name): def remove_image_snapshot(self, image_name):
try: try:
image = filter(lambda i: image = [i for i in self.image_client.list()
i['name'] == image_name, if ['name'] == image_name]
self.image_client.list())
self.image_client.delete(image) self.image_client.delete(image)
except Exception as e: except Exception as e:
LOG.info("Unable to delete %(image_name)s snapshot. " LOG.info("Unable to delete %(image_name)s snapshot. "
"Exception: %(message)s", "Exception: %(message)s",
{'image_name': image_name, 'message': e.message}) {'image_name': image_name, 'message': str(e)})
def is_flavor_enough(self, flavor_id, image_id): def is_flavor_enough(self, flavor_id, image_id):
image = self.compute_images_client.show_image(image_id)['image'] image = self.compute_images_client.show_image(image_id)['image']

View File

@ -139,9 +139,8 @@ class TestHostReservationScenario(rrs.ResourceReservationScenarioTest):
def fetch_aggregate_by_name(self, name): def fetch_aggregate_by_name(self, name):
aggregates = self.aggr_client.list_aggregates()['aggregates'] aggregates = self.aggr_client.list_aggregates()['aggregates']
try: try:
aggr = next(iter(filter(lambda aggr: aggr['name'] == name, aggr = [aggr for aggr in aggregates if aggr['name'] == name][0]
aggregates))) except IndexError:
except StopIteration:
err_msg = "aggregate with name %s doesn't exist." % name err_msg = "aggregate with name %s doesn't exist." % name
raise exceptions.NotFound(err_msg) raise exceptions.NotFound(err_msg)
return aggr return aggr
@ -163,9 +162,8 @@ class TestHostReservationScenario(rrs.ResourceReservationScenarioTest):
host = self.fetch_one_compute_host() host = self.fetch_one_compute_host()
hosts = self.reservation_client.list_host()['hosts'] hosts = self.reservation_client.list_host()['hosts']
try: try:
next(iter(filter( [h for h in hosts if h['hypervisor_hostname'] == host['host']][0]
lambda h: h['hypervisor_hostname'] == host['host'], hosts))) except IndexError:
except StopIteration:
self.reservation_client.create_host({'name': host['host']}) self.reservation_client.create_host({'name': host['host']})
return host return host

View File

@ -14,10 +14,10 @@
# under the License. # under the License.
import datetime import datetime
import json
import dateutil.parser import dateutil.parser
from oslo_log import log as logging from oslo_log import log as logging
from oslo_serialization import jsonutils as json
from tempest.common import waiters from tempest.common import waiters
from tempest import config from tempest import config
from tempest import exceptions from tempest import exceptions
@ -111,10 +111,9 @@ class TestInstanceReservationScenario(rrs.ResourceReservationScenarioTest):
self.assertTrue(len(events) >= 3) self.assertTrue(len(events) >= 3)
self.assertFalse( self.assertFalse(
len(filter(lambda evt: evt['event_type'] != 'start_lease' and len([evt for evt in events if evt['event_type'] != 'start_lease'
evt['event_type'] != 'end_lease' and and evt['event_type'] != 'end_lease'
evt['event_type'] != 'before_end_lease', and evt['event_type'] != 'before_end_lease']) > 0)
events)) > 0)
# check that only one reservation was made and it is for a vm # check that only one reservation was made and it is for a vm
# compare the resource id from the lease with the server.id attribute! # compare the resource id from the lease with the server.id attribute!
@ -129,10 +128,10 @@ class TestInstanceReservationScenario(rrs.ResourceReservationScenarioTest):
try: try:
images_list = self.image_client.list() images_list = self.image_client.list()
self.assertNotEmpty( self.assertNotEmpty(
filter(lambda image: image.name == image_name, images_list)) [image for image in images_list if image.name == image_name])
except Exception as e: except Exception as e:
message = ("Unable to find image with name '%s'. " message = ("Unable to find image with name '%s'. "
"Exception: %s" % (image_name, e.message)) "Exception: %s" % (image_name, str(e)))
raise exceptions.NotFound(message) raise exceptions.NotFound(message)
def check_server_status(self, expected_status): def check_server_status(self, expected_status):