Add a lease update scenario for instance reservation

Change-Id: Ib02ddb5edf8e68fc7de43b3f0c89c496a56a8ea2
This commit is contained in:
Masahito Muroi 2018-09-24 16:23:03 +02:00
parent 23cb84635c
commit 126fee8372
1 changed files with 36 additions and 0 deletions

View File

@ -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'])