@@ -78,17 +78,17 @@ def test_010_drive_cdrom(self):
7878 self .app .expected_calls [
7979 ('some-vm' , 'admin.vm.CurrentState' , None , None )] = \
8080 b'0\x00 power_state=Halted'
81- self .app .expected_calls [
82- ('dom0' , 'admin.vm.device.block.Available' , None , None )] = \
83- b'0\x00 sr0\n '
8481 self .app .expected_calls [
8582 ('some-vm' , 'admin.vm.Start' , None , None )] = b'0\x00 '
8683 self .app .expected_calls [
87- ('some-vm' , 'admin.vm.device.block.Attach' , 'dom0+sr0' ,
88- b'devtype=cdrom required=True read-only=True' )] = b'0\x00 '
84+ ('some-vm' , 'admin.vm.device.block.Assign' , 'dom0+sr0' ,
85+ b"required='yes' attach_automatically='yes' ident='sr0' "
86+ b"devclass='block' backend_domain='dom0' "
87+ b"frontend_domain='some-vm' _devtype='cdrom' "
88+ b"_read-only='True'" )] = b'0\x00 '
8989 self .app .expected_calls [
90- ('some-vm' , 'admin.vm.device.block.Set.assignment ' , 'dom0+sr0' ,
91- b'False' )] = b' 0\x00 '
90+ ('some-vm' , 'admin.vm.device.block.Unassign ' , 'dom0+sr0' , None )] = \
91+ b'0\x00 '
9292 qubesadmin .tools .qvm_start .main (['--cdrom=dom0:sr0' , 'some-vm' ],
9393 app = self .app )
9494 self .assertAllCalled ()
@@ -101,17 +101,17 @@ def test_011_drive_disk(self):
101101 self .app .expected_calls [
102102 ('some-vm' , 'admin.vm.CurrentState' , None , None )] = \
103103 b'0\x00 power_state=Halted'
104- self .app .expected_calls [
105- ('dom0' , 'admin.vm.device.block.Available' , None , None )] = \
106- b'0\x00 sdb1\n '
107104 self .app .expected_calls [
108105 ('some-vm' , 'admin.vm.Start' , None , None )] = b'0\x00 '
109106 self .app .expected_calls [
110- ('some-vm' , 'admin.vm.device.block.Attach' , 'dom0+sdb1' ,
111- b'devtype=disk required=True read-only=False' )] = b'0\x00 '
107+ ('some-vm' , 'admin.vm.device.block.Assign' , 'dom0+sdb1' ,
108+ b"required='yes' attach_automatically='yes' ident='sdb1' "
109+ b"devclass='block' backend_domain='dom0' "
110+ b"frontend_domain='some-vm' _devtype='disk' "
111+ b"_read-only='False'" )] = b'0\x00 '
112112 self .app .expected_calls [
113- ('some-vm' , 'admin.vm.device.block.Set.assignment ' , 'dom0+sdb1' ,
114- b'False' )] = b'0\x00 '
113+ ('some-vm' , 'admin.vm.device.block.Unassign ' , 'dom0+sdb1' ,
114+ None )] = b'0\x00 '
115115 qubesadmin .tools .qvm_start .main (['--hd=dom0:sdb1' , 'some-vm' ],
116116 app = self .app )
117117 self .assertAllCalled ()
@@ -124,17 +124,17 @@ def test_012_drive_disk(self):
124124 self .app .expected_calls [
125125 ('some-vm' , 'admin.vm.CurrentState' , None , None )] = \
126126 b'0\x00 power_state=Halted'
127- self .app .expected_calls [
128- ('dom0' , 'admin.vm.device.block.Available' , None , None )] = \
129- b'0\x00 sdb1\n '
130127 self .app .expected_calls [
131128 ('some-vm' , 'admin.vm.Start' , None , None )] = b'0\x00 '
132129 self .app .expected_calls [
133- ('some-vm' , 'admin.vm.device.block.Attach' , 'dom0+sdb1' ,
134- b'devtype=disk required=True read-only=False' )] = b'0\x00 '
130+ ('some-vm' , 'admin.vm.device.block.Assign' , 'dom0+sdb1' ,
131+ b"required='yes' attach_automatically='yes' ident='sdb1' "
132+ b"devclass='block' backend_domain='dom0' "
133+ b"frontend_domain='some-vm' _devtype='disk' "
134+ b"_read-only='False'" )] = b'0\x00 '
135135 self .app .expected_calls [
136- ('some-vm' , 'admin.vm.device.block.Set.assignment ' , 'dom0+sdb1' ,
137- b'False' )] = b'0\x00 '
136+ ('some-vm' , 'admin.vm.device.block.Unassign ' , 'dom0+sdb1' ,
137+ None )] = b'0\x00 '
138138 qubesadmin .tools .qvm_start .main (['--drive=hd:dom0:sdb1' , 'some-vm' ],
139139 app = self .app )
140140 self .assertAllCalled ()
@@ -154,12 +154,15 @@ def test_013_drive_loop_local(self, mock_subprocess):
154154 self .app .expected_calls [
155155 ('some-vm' , 'admin.vm.Start' , None , None )] = b'0\x00 '
156156 self .app .expected_calls [
157- ('some-vm' , 'admin.vm.device.block.Attach' , 'dom0+loop12' ,
158- b'devtype=cdrom required=True read-only=True' )] = b'0\x00 '
157+ ('some-vm' , 'admin.vm.device.block.Assign' , 'dom0+loop12' ,
158+ b"required='yes' attach_automatically='yes' ident='loop12' "
159+ b"devclass='block' backend_domain='dom0' "
160+ b"frontend_domain='some-vm' _devtype='cdrom' "
161+ b"_read-only='True'" )] = b'0\x00 '
159162 self .app .expected_calls [
160- ('some-vm' , 'admin.vm.device.block.Set.assignment ' , 'dom0+loop12' ,
161- b'False' )] = b'0\x00 '
162- mock_subprocess .return_value = b' /dev/loop12'
163+ ('some-vm' , 'admin.vm.device.block.Unassign ' , 'dom0+loop12' , None
164+ )] = b'0\x00 loop12 \n '
165+ mock_subprocess .return_value = b" /dev/loop12"
163166 qubesadmin .tools .qvm_start .main ([
164167 '--cdrom=dom0:/home/some/image.iso' ,
165168 'some-vm' ],
@@ -183,12 +186,14 @@ def test_014_drive_loop_remote(self):
183186 self .app .expected_calls [
184187 ('some-vm' , 'admin.vm.Start' , None , None )] = b'0\x00 '
185188 self .app .expected_calls [
186- ('some-vm' , 'admin.vm.device.block.Attach' , 'other-vm+loop7' ,
187- b'devtype=cdrom required=True read-only=True' )] = b'0\x00 '
189+ ('some-vm' , 'admin.vm.device.block.Assign' , 'other-vm+loop7' ,
190+ b"required='yes' attach_automatically='yes' ident='loop7' "
191+ b"devclass='block' backend_domain='other-vm' "
192+ b"frontend_domain='some-vm' _devtype='cdrom' "
193+ b"_read-only='True'" )] = b'0\x00 '
188194 self .app .expected_calls [
189- ('some-vm' , 'admin.vm.device.block.Set.assignment' ,
190- 'other-vm+loop7' ,
191- b'False' )] = b'0\x00 '
195+ ('some-vm' , 'admin.vm.device.block.Unassign' , 'other-vm+loop7' ,
196+ None )] = b'0\x00 '
192197 self .app .expected_calls [
193198 ('other-vm' , 'admin.vm.feature.CheckWithTemplate' , 'vmexec' ,
194199 None )] = b'2\x00 QubesFeatureNotFoundError\x00 \x00 Feature \' vmexec\' not set\x00 '
@@ -215,8 +220,11 @@ def test_015_drive_failed_start(self):
215220 ('some-vm' , 'admin.vm.CurrentState' , None , None )] = \
216221 b'0\x00 power_state=Halted'
217222 self .app .expected_calls [
218- ('some-vm' , 'admin.vm.device.block.Attach' , 'other-vm+loop7' ,
219- b'devtype=cdrom required=True read-only=True' )] = b'0\x00 '
223+ ('some-vm' , 'admin.vm.device.block.Assign' , 'other-vm+loop7' ,
224+ b"required='yes' attach_automatically='yes' ident='loop7' "
225+ b"devclass='block' backend_domain='other-vm' "
226+ b"frontend_domain='some-vm' _devtype='cdrom' "
227+ b"_read-only='True'" )] = b'0\x00 '
220228 self .app .expected_calls [
221229 ('some-vm' , 'admin.vm.Start' , None , None )] = \
222230 b'2\x00 QubesException\x00 \x00 An error occurred\x00 '
@@ -239,8 +247,11 @@ def test_016_drive_failed_attach(self):
239247 ('some-vm' , 'admin.vm.CurrentState' , None , None )] = \
240248 b'0\x00 power_state=Halted'
241249 self .app .expected_calls [
242- ('some-vm' , 'admin.vm.device.block.Attach' , 'other-vm+loop7' ,
243- b'devtype=cdrom required=True read-only=True' )] = \
250+ ('some-vm' , 'admin.vm.device.block.Assign' , 'other-vm+loop7' ,
251+ b"required='yes' attach_automatically='yes' ident='loop7' "
252+ b"devclass='block' backend_domain='other-vm' "
253+ b"frontend_domain='some-vm' _devtype='cdrom' "
254+ b"_read-only='True'" )] = \
244255 b'2\x00 QubesException\x00 \x00 An error occurred\x00 '
245256 retcode = qubesadmin .tools .qvm_start .main ([
246257 '--cdrom=other-vm:loop7' ,
0 commit comments