cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
s031_create_erase_vm.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 # @COPYRIGHT_begin
3 #
4 # Copyright [2010-2014] Institute of Nuclear Physics PAN, Krakow, Poland
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # @COPYRIGHT_end
19 
20 from predefined.users import *
21 from predefined.actions import *
22 from predefined.macros import *
23 import settings
24 
25 actions = []
26 actions.append(list_clusters)
27 actions.append(list_private_vm_images)
28 actions.append(list_templates)
29 actions.append(list_user_public_ip)
30 
31 # Create VMs
32 vm_names = []
33 for i in range(10):
34  actions.append({'u': u_new,
35  'fname': 'vm.user.create',
36  'args': [{'vnc': True,
37  'name': 'TestVM%d' % i,
38  'iso_list': [],
39  'image_id': MACRO_GET_PRIVATE_VM_IMAGE_ID(settings.PRIVATE_IMAGE),
40  'disk_list': [],
41  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
42  'description': 'asd'}],
43  })
44  vm_names.append("TestVM%d" % i)
45 
46 # wailt until all are in init
47 actions.append({'u': u_new,
48  'fname': 'vm.user.list',
49  'args': [],
50  'wait_response': 'len(filter(lambda x: x["state"] == 0 and x["name"] in %s, r)) > 0' % str(vm_names),
51  'wait_max': 3})
52 
53 # wait until all are in running state
54 for i in range(10):
55  actions.append({'u': u_new,
56  'fname': 'vm.user.list',
57  'args': [],
58  'wait_response': 'len(filter(lambda x: x["state"] == 1 and x["name"] == "TestVM%d", r)) > 0' % i,
59  'wait_max': 120})
60 
61 actions.append(list_user_vms)
62 
63 # Generate list to kill them all
64 vm_ids = []
65 for i in range(10):
66  vm_ids.append(MACRO_GET_USER_VM_ID("TestVM%d" % i))
67 
68 # Kill them all
69 actions.append({'u': u_new,
70  'fname': 'vm.user.destroy',
71  'args': [vm_ids]})
72