blob: 68dc14891e5364ec5598de14242978b14fa034a6 [file] [log] [blame]
David Kranzb9d97502013-05-01 15:55:04 -04001# Copyright 2013 Quanta Research Cambridge, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain 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,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15from tempest.common.utils.data_utils import rand_name
Walter A. Boring IVb725e622013-07-11 17:21:33 -070016import tempest.stress.stressaction as stressaction
David Kranzb9d97502013-05-01 15:55:04 -040017
18
Walter A. Boring IVb725e622013-07-11 17:21:33 -070019class CreateDestroyServerTest(stressaction.StressAction):
20
21 def setUp(self, **kwargs):
22 self.image = self.manager.config.compute.image_ref
23 self.flavor = self.manager.config.compute.flavor_ref
24
25 def run(self):
David Kranzb9d97502013-05-01 15:55:04 -040026 name = rand_name("instance")
Walter A. Boring IVb725e622013-07-11 17:21:33 -070027 self.logger.info("creating %s" % name)
28 resp, server = self.manager.servers_client.create_server(
29 name, self.image, self.flavor)
David Kranzb9d97502013-05-01 15:55:04 -040030 server_id = server['id']
31 assert(resp.status == 202)
Walter A. Boring IVb725e622013-07-11 17:21:33 -070032 self.manager.servers_client.wait_for_server_status(server_id,
33 'ACTIVE')
34 self.logger.info("created %s" % server_id)
35 self.logger.info("deleting %s" % name)
36 resp, _ = self.manager.servers_client.delete_server(server_id)
David Kranzb9d97502013-05-01 15:55:04 -040037 assert(resp.status == 204)
Walter A. Boring IVb725e622013-07-11 17:21:33 -070038 self.manager.servers_client.wait_for_server_termination(server_id)
39 self.logger.info("deleted %s" % server_id)