cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
s110_disk_attach_in_init.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 # Attach disk to VM in init state
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_private_vm_images)
38 actions.append(list_templates)
39 actions.append(list_available_networks)
40 
41 actions.append({'u': u_new,
42  'fname': 'vm.user.create',
43  'args': [{'vnc': True,
44  'name': 'TestVMStorage',
45  'iso_list': [],
46  'image_id': MACRO_GET_PRIVATE_VM_IMAGE_ID(settings.PRIVATE_IMAGE),
47  'disk_list': [],
48  'template_id': MACRO_GET_TEMPLATE_ID("Small"),
49  'description': 'asd'}]
50  })
51 
52 # Attach disk in init
53 actions.append(list_user_vms)
54 actions.append({'u': u_new,
55  'fname': 'image.user.attach',
56  'args': [MACRO_GET_USER_VM_ID("TestVMStorage"),
57  {'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage1"),
58  'disk_controller': MACRO_GET_DISK_CONTROLLER_ID("scsi")}],
59  'estatus': 'vm_get_lv_domain'
60  })
61 
62 actions.append(wait_vm_is_running("TestVMStorage"))
63 
64 # Attach scsi and usb disk in running
65 actions.append(list_user_vms)
66 actions.append({'u': u_new,
67  'fname': 'image.user.attach',
68  'args': [MACRO_GET_USER_VM_ID("TestVMStorage"),
69  {'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage1"),
70  'disk_controller': MACRO_GET_DISK_CONTROLLER_ID("scsi")}],
71  })
72 actions.append({'u': u_new,
73  'fname': 'image.user.attach',
74  'args': [MACRO_GET_USER_VM_ID("TestVMStorage"),
75  {'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage2"),
76  'disk_controller': MACRO_GET_DISK_CONTROLLER_ID("usb")}],
77  })
78 
79 # Attach previously attached disk
80 actions.append({'u': u_new,
81  'fname': 'image.user.attach',
82  'args': [MACRO_GET_USER_VM_ID("TestVMStorage"),
83  {'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage2"),
84  'disk_controller': MACRO_GET_DISK_CONTROLLER_ID("scsi")}],
85  'estatus': 'image_attached'
86  })
87 
88 
89 # Detach disks
90 actions.append({'u': u_new,
91  'fname': 'image.user.detach',
92  'args': [{'vm_id': MACRO_GET_USER_VM_ID("TestVMStorage"),
93  'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage1")}],
94  })
95 actions.append({'u': u_new,
96  'fname': 'image.user.detach',
97  'args': [{'vm_id': MACRO_GET_USER_VM_ID("TestVMStorage"),
98  'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage2")}],
99  })
100 
101 # Detach not attached disk
102 actions.append({'u': u_new,
103  'fname': 'image.user.detach',
104  'args': [{'vm_id': MACRO_GET_USER_VM_ID("TestVMStorage"),
105  'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage1")}],
106  'estatus': 'storage_image_detach'
107  })
108 
109 # Destroy VM
110 actions.append({'u': u_new,
111  'fname': 'vm.user.destroy',
112  'args': [[MACRO_GET_USER_VM_ID("TestVMStorage")]]})
113 
114 # Attach to closed VM
115 actions.append({'u': u_new,
116  'fname': 'image.user.attach',
117  'args': [MACRO_GET_USER_VM_ID("TestVMStorage"),
118  {'img_id': MACRO_GET_PRIVATE_STORAGE_ID("Test Storage1"),
119  'disk_controller': MACRO_GET_DISK_CONTROLLER_ID("scsi")}],
120  'estatus': 'vm_get_lv_domain'
121  })
122