cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
s032_create_destroy_vm_storage.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_public_vm_images)
29 actions.append(list_private_storage_images)
30 actions.append(list_templates)
31 actions.append(list_user_public_ip)
32 
33 # Create normal VM with storage
34 actions.append({'u': u_new,
35  'fname': 'vm.user.create',
36  'args': [{'vnc': True,
37  'name': 'TestVMDisk1',
38  'iso_list': [],
39  'image_id': MACRO_GET_PRIVATE_VM_IMAGE_ID(settings.PRIVATE_IMAGE),
40  'disk_list': [MACRO_GET_PRIVATE_STORAGE_ID("Test Storage")],
41  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
42  'description': 'asd'}],
43  })
44 
45 # At second try, storage disk should NOT be attached
46 actions.append({'u': u_new,
47  'fname': 'vm.user.create',
48  'args': [{'vnc': True,
49  'name': 'TestVMDisk1',
50  'iso_list': [],
51  'image_id': MACRO_GET_PRIVATE_VM_IMAGE_ID(settings.PRIVATE_IMAGE),
52  'disk_list': [MACRO_GET_PRIVATE_STORAGE_ID("Test Storage")],
53  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
54  'description': 'asd'}],
55  'estatus': 'image_attached',
56  })
57 
58 # This should not be allowed (not my VM image)
59 actions.append({'u': test_users[1],
60  'fname': 'vm.user.create',
61  'args': [{'vnc': True,
62  'name': 'TestVMDisk2',
63  'iso_list': [],
64  'image_id': MACRO_GET_PRIVATE_VM_IMAGE_ID(settings.PRIVATE_IMAGE),
65  'disk_list': [MACRO_GET_PRIVATE_STORAGE_ID("Test Storage")],
66  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
67  'description': 'asd'}],
68  'estatus': 'image_permission',
69  })
70 
71 # This should not be allowed (not my Storage image)
72 actions.append({'u': test_users[1],
73  'fname': 'vm.user.create',
74  'args': [{'vnc': True,
75  'name': 'TestVMDisk2',
76  'iso_list': [],
77  'image_id': MACRO_GET_PUBLIC_VM_IMAGE_ID(settings.PUBLIC_IMAGE),
78  'disk_list': [MACRO_GET_PRIVATE_STORAGE_ID("Test Storage")],
79  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
80  'description': 'asd'}],
81  'estatus': 'image_permission',
82  })
83 
84 # Let's try with not our image
85 actions.append({'u': test_users[1],
86  'fname': 'image.user.list',
87  'args': [{'access': 0, 'type': 2}],
88  'store_as': 'private_vm_images',
89  'predefined_action': True})
90 
91 
92 # wait until all are in running state
93 actions.append(wait_vm_is_running("TestVMDisk1"))
94 
95 actions.append(list_user_vms)
96 actions.append(list_admin_vms)
97 
98 # Kill it
99 actions.append({'u': test_users[1],
100  'fname': 'vm.user.destroy',
101  'args': [[MACRO_GET_USER_VM_ID("TestVMDisk1")]],
102  'estatus': 'user_permission'})
103 actions.append({'u': u_new,
104  'fname': 'vm.user.destroy',
105  'args': [[MACRO_GET_USER_VM_ID("TestVMDisk1")]],})
106 
107