cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
s106_create_vm_in_unavailable_pool.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 ##
21 #
22 # Try to create VM with unavailable network
23 #
24 from predefined.actions import *
25 from predefined.users import *
26 from predefined.macros import *
27 import settings
28 
29 actions = []
30 actions.append(list_clusters)
31 
32 actions.append(list_filesystems)
33 actions.append(list_video_devices)
34 actions.append(list_network_devices)
35 actions.append(list_disk_controllers)
36 actions.append(list_private_storage_images)
37 actions.append(list_templates)
38 actions.append(list_private_vm_images)
39 actions.append(list_public_vm_images)
40 actions.append(list_available_networks)
41 
42 # Lock available pool
43 actions.append({'u': u_admin_cm,
44  'as_cmadmin': True,
45  'fname': 'network.admin_cm.lock',
46  'args': ['@r["available_networks"][0]["id"]']})
47 
48 # This should not pass
49 actions.append({'u': u_new,
50  'fname': 'vm.user.create',
51  'args': [{'vnc': True,
52  'name': 'TestVMNetwork',
53  'iso_list': [],
54  'image_id': MACRO_GET_PRIVATE_VM_IMAGE_ID(settings.PRIVATE_IMAGE),
55  'disk_list': [],
56  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
57  'description': 'asd'}],
58  'estatus': 'network_not_available'
59  })
60 
61 actions.append({'u': u_admin_cm,
62  'as_cmadmin': True,
63  'fname': 'network.admin_cm.unlock',
64  'args': ['@r["available_networks"][0]["id"]']})
65 
66 # Create vm for user with no network. CM should allocate one for him
67 actions.append({'u': test_users[2],
68  'fname': 'vm.user.create',
69  'args': [{'vnc': True,
70  'name': 'TestVMNetwork',
71  'iso_list': [],
72  'image_id': MACRO_GET_PUBLIC_VM_IMAGE_ID(settings.PUBLIC_IMAGE),
73  'disk_list': [],
74  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
75  'description': 'asd'}],
76  })
77 
78 actions.append(list_admin_vms);
79 actions.append({'u': u_admin_cm,
80  'as_cmadmin': True,
81  'fname': 'vm.admin_cm.erase',
82  'args': [[MACRO_GET_ADMIN_VM_ID("TestVMNetwork")]]})
83 
84