From 126fee83726c585e31cf77b7812aeffeae9f3cf8 Mon Sep 17 00:00:00 2001 From: Masahito Muroi Date: Mon, 24 Sep 2018 16:23:03 +0200 Subject: [PATCH] Add a lease update scenario for instance reservation Change-Id: Ib02ddb5edf8e68fc7de43b3f0c89c496a56a8ea2 --- .../scenario/test_instance_reservation.py | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/blazar_tempest_plugin/tests/scenario/test_instance_reservation.py b/blazar_tempest_plugin/tests/scenario/test_instance_reservation.py index fbff525..4b9d84f 100644 --- a/blazar_tempest_plugin/tests/scenario/test_instance_reservation.py +++ b/blazar_tempest_plugin/tests/scenario/test_instance_reservation.py @@ -179,3 +179,39 @@ class TestInstanceReservationScenario(rrs.ResourceReservationScenarioTest): self.assertTrue(lease['status'] == 'TERMINATED') self.assertTrue('deleted' in next(iter(lease['reservations']))['status']) + + @decorators.attr(type='smoke') + def test_update_instance_reservation(self): + body = self.get_lease_body('instance-scenario-update') + lease = self.reservation_client.create_lease(body)['lease'] + reservation = next(iter(lease['reservations'])) + + self.wait_for_lease_status(lease['id'], 'ACTIVE') + + create_kwargs = { + 'image_id': CONF.compute.image_ref, + 'flavor': reservation['id'], + 'scheduler_hints': { + 'group': reservation['server_group_id'] + }, + } + server = self.create_server(clients=self.os_admin, + **create_kwargs) + + # Updating the lease end_date to 1 minute from now to avoid a failure + # of the lease update request + now = datetime.datetime.utcnow() + end_time = now + datetime.timedelta(minutes=1) + body = { + 'end_date': end_time.strftime(LEASE_DATE_FORMAT) + } + self.reservation_client.update_lease(lease['id'], body) + + waiters.wait_for_server_termination(self.os_admin.servers_client, + server['id']) + + # check the lease status and reservation status + lease = self.reservation_client.get_lease(lease['id'])['lease'] + self.assertTrue(lease['status'] == 'TERMINATED') + self.assertTrue('deleted' in + next(iter(lease['reservations']))['status'])