Lines Matching +full:cdrom +full:- +full:test

30 target_backing_img = os.path.join(iotests.test_dir, 'target-backing.img')
31 test_img = os.path.join(iotests.test_dir, 'test.img')
44 qmp_cmd = 'drive-mirror'
49 qemu_img('create', '-f', iotests.imgfmt,
50 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
51 self.vm = iotests.VM().add_drive(test_img, "node-name=top,backing.node-name=base")
53 self.vm.add_drive(None, 'media=cdrom', 'ide')
72 result = self.vm.qmp('query-block')
85 result = self.vm.qmp('query-block')
95 result = self.vm.qmp('query-block')
109 result = self.vm.qmp('query-block-jobs')
113 result = self.vm.qmp('query-block-jobs')
116 self.vm.cmd('block-job-resume', device='drive0')
131 result = self.vm.qmp('query-block')
140 qemu_img('create', '-f', iotests.imgfmt, '-o', 'cluster_size=%d,size=%d'
146 result = self.vm.qmp('query-block')
155 qemu_img('create', '-f', iotests.imgfmt, '-o', 'cluster_size=%d,backing_file=%s'
157 '-F', 'raw', target_img)
162 result = self.vm.qmp('query-block')
169 # difference to query-block
176 result = self.vm.qmp('query-block')
182 self.assert_qmp(result, 'return[0]/inserted/image/backing-image/filename', backing_img)
184 result = self.vm.qmp('query-blockstats')
185 self.assert_qmp(result, 'return[0]/node-name', 'top')
186 self.assert_qmp(result, 'return[0]/backing/node-name', 'base')
189 result = self.vm.qmp('query-block')
195 self.assert_qmp(result, 'return[0]/inserted/image/backing-image/filename', backing_img)
197 result = self.vm.qmp('query-blockstats')
198 self.assert_qmp(result, 'return[0]/node-name', 'top')
199 self.assert_qmp(result, 'return[0]/backing/node-name', 'base')
205 result = self.vm.qmp(self.qmp_cmd, device='ide1-cd0', sync='full',
220 qmp_cmd = 'blockdev-mirror'
225 qemu_img('create', '-f', iotests.imgfmt,
226 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', target_img)
228 'node-name': self.qmp_target,
230 self.vm.cmd("blockdev-add", args)
307 qemu_img('create', '-f', iotests.imgfmt,
308 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
325 qemu_img('create', '-f', iotests.imgfmt,
326 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', target_img)
327 self.vm.cmd('drive-mirror', device='drive0', sync='full',
331 result = self.vm.qmp('query-block')
340 qemu_img('create', '-f', iotests.imgfmt,
341 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', target_img)
342 self.vm.cmd('drive-mirror', device='drive0', sync='full',
346 result = self.vm.qmp('query-block')
355 # qemu-img create fails if the image is not there
356 qemu_img('create', '-f', iotests.imgfmt, '-o', 'size=%d'
358 qemu_img('create', '-f', iotests.imgfmt, '-o', 'cluster_size=%d,backing_file=%s'
360 '-F', iotests.imgfmt, target_img)
362 self.vm.cmd('drive-mirror', device='drive0', sync='full',
366 result = self.vm.qmp('query-block')
378 qemu_img('create', '-f', iotests.imgfmt,
379 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
396 self.vm.cmd('drive-mirror', device='drive0', sync='top',
400 result = self.vm.qmp('query-block')
409 self.vm.cmd('drive-mirror', device='drive0', sync='full',
413 result = self.vm.qmp('query-block')
429 [inject-error]
437 [set-state]
442 [set-state]
453 qemu_img('create', '-f', iotests.imgfmt,
454 '-o', 'backing_file=blkdebug:%s:%s,backing_fmt=raw'
458 qemu_io('-c', 'write %d 512' % (self.MIRROR_GRANULARITY + 65536),
473 self.vm.cmd('drive-mirror', device='drive0', sync='full',
500 self.vm.cmd('drive-mirror', device='drive0', sync='full',
511 result = self.vm.qmp('query-block-jobs')
518 # Test COW into the target image. The first half of the
521 qemu_img('create', '-f', iotests.imgfmt,
522 '-ocluster_size=131072,backing_file=%s' %(backing_img),
523 '-F', 'raw', target_img)
524 self.vm.cmd('drive-mirror', device='drive0', sync='top',
536 result = self.vm.qmp('query-block-jobs')
542 qemu_img('rebase', '-f', iotests.imgfmt, '-u', '-b', backing_img,
543 '-F', 'raw', test_img)
550 self.vm.cmd('drive-mirror', device='drive0', sync='full',
561 if self.vm.qmp('query-block-jobs')['return'][0]['status'] != 'paused':
567 result = self.vm.qmp('query-block-jobs')
569 self.assert_qmp(result, 'return[0]/io-status', 'failed')
571 self.vm.cmd('block-job-resume', device='drive0')
578 result = self.vm.qmp('query-block-jobs')
580 self.assert_qmp(result, 'return[0]/io-status', 'ok')
595 [inject-error]
603 [set-state]
608 [set-state]
619 qemu_img('create', '-f', iotests.imgfmt,
620 '-obacking_file=%s' %(backing_img), '-F', 'raw', test_img)
623 … qemu_img('create', '-f', iotests.imgfmt, '-osize=%d' %(TestWriteErrors.image_len), target_img)
636 self.vm.cmd('drive-mirror', device='drive0', sync='full',
661 self.vm.cmd('drive-mirror', device='drive0', sync='full',
669 result = self.vm.qmp('query-block-jobs')
676 self.vm.cmd('drive-mirror', device='drive0', sync='full',
688 if self.vm.qmp('query-block-jobs')['return'][0]['status'] != 'paused':
694 result = self.vm.qmp('query-block-jobs')
696 self.assert_qmp(result, 'return[0]/io-status', 'failed')
698 self.vm.cmd('block-job-resume', device='drive0')
700 result = self.vm.qmp('query-block-jobs')
702 self.assert_qmp(result, 'return[0]/io-status', 'ok')
717 qemu_img('create', '-f', iotests.imgfmt,
718 '-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
731 self.vm.cmd('drive-mirror', device='drive0', sync='full',
735 result = self.vm.qmp('query-block-jobs')
739 self.vm.cmd('block-job-set-speed', device='drive0', speed=8 * 1024 * 1024)
742 result = self.vm.qmp('query-block-jobs')
748 # Check setting speed in drive-mirror works
749 self.vm.cmd('drive-mirror', device='drive0', sync='full',
752 result = self.vm.qmp('query-block-jobs')
761 result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
762 target=target_img, speed=-1)
767 self.vm.cmd('drive-mirror', device='drive0', sync='full',
770 result = self.vm.qmp('block-job-set-speed', device='drive0', speed=-1)
779 qemu_img('create', '-f', iotests.imgfmt, test_img,
783 self.vm.cmd('blockdev-add', node_name='drive0',
797 self.vm.cmd('drive-mirror', job_id='drive0', device='drive0',
799 mode='absolute-paths')
805 self.vm.cmd('drive-mirror', job_id='drive0', device='drive0',
807 mode='absolute-paths')
813 self.vm.cmd('drive-mirror', job_id='drive0', device='drive0',
815 mode='absolute-paths')
820 qemu_img('create', '-f', iotests.imgfmt, target_img,
822 qemu_io('-c', 'write -P 42 0 64k', target_img)
825 self.vm.cmd('drive-mirror', job_id='drive0', device='drive0',
830 self.vm.cmd('blockdev-del', node_name='drive0')
836 qemu_img('create', '-f', iotests.imgfmt, target_img,
838 qemu_io('-c', 'write -P 42 0 64k', target_img)
840 self.vm.cmd('blockdev-add', node_name='target',
848 self.vm.cmd('blockdev-mirror', job_id='drive0', device='drive0',
853 self.vm.cmd('blockdev-del', node_name='drive0')
855 self.vm.cmd('blockdev-del', node_name='target')
864 qemu_img('create', '-f', iotests.imgfmt, test_img,
866 qemu_io('-c', 'write 0 %d' % (self.image_len),
880 self.vm.cmd('drive-mirror', device='drive0',
882 mode='absolute-paths', granularity=8192)
895 """ This class test quorum file repair using drive-mirror.
905 self.vm.add_drive(None, 'media=cdrom', 'ide')
909 qemu_img('create', '-f', iotests.imgfmt, i,
913 opts = "node-name=img%i" % self.IMAGES.index(i)
922 args = { "driver": "quorum", "node-name": "quorum0",
923 "vote-threshold": 2, "children": [ "img0", "img1", "img2" ] }
924 self.vm.cmd("blockdev-add", args)
931 # Do a try/except because the test may have deleted some images
938 self.vm.cmd('drive-mirror', job_id='job0', device='quorum0',
950 self.vm.cmd('drive-mirror', job_id='job0', device='quorum0',
960 self.vm.cmd('drive-mirror', job_id='job0', device='quorum0',
973 self.vm.cmd('drive-mirror', job_id='job0', device='quorum0',
979 result = self.vm.qmp('query-block-jobs')
983 result = self.vm.qmp('query-block-jobs')
986 self.vm.cmd('block-job-resume', device='job0')
997 result = self.vm.qmp('drive-mirror', job_id='job0', device='drive0', # CD-ROM
1005 result = self.vm.qmp('drive-mirror', job_id='job0', device='quorum0',
1012 result = self.vm.qmp('drive-mirror', job_id='job0',
1020 result = self.vm.qmp('drive-mirror', device='quorum0', job_id='job0',
1027 result = self.vm.qmp('drive-mirror', job_id='job0', device='quorum0',
1033 result = self.vm.qmp('drive-mirror', job_id='job0', device='quorum0',
1039 self.vm.cmd('blockdev-snapshot-sync', node_name='img1',
1043 result = self.vm.qmp('drive-mirror', job_id='job0', device='quorum0',
1048 self.vm.cmd('drive-mirror', job_id='job0', device='quorum0',
1061 self.vm.cmd('nbd-server-start',
1067 self.vm.cmd('nbd-server-add', device='img1')
1069 result = self.vm.qmp('drive-mirror', job_id='mirror', device='quorum0',
1082 self.vm.cmd('nbd-server-start',
1088 self.vm.cmd('drive-mirror', job_id='mirror', device='quorum0',
1092 self.vm.cmd('nbd-server-add', device='img1')
1113 # Test mirroring with a source that does not have any parents (not even a
1117 blk0 = { 'node-name': 'src',
1118 'driver': 'null-co' }
1120 blk1 = { 'node-name': 'dest',
1121 'driver': 'null-co' }
1123 blk2 = { 'node-name': 'dest-ro',
1124 'driver': 'null-co',
1125 'read-only': 'on' }
1139 result = self.vm.qmp('blockdev-mirror', device='src', sync='full',
1146 self.vm.cmd('blockdev-mirror', job_id='job', device='src',
1154 result = self.vm.qmp('blockdev-mirror', device='src', sync='full',
1155 target='dest-ro')
1161 # Unshare consistent-read on the target
1163 self.vm.cmd('blockdev-add',
1165 node_name='dest-perm',
1167 unshare_child_perms=['consistent-read'])
1169 self.vm.cmd('blockdev-mirror', job_id='job', device='src',
1171 filter_node_name='mirror-filter')
1173 # Require consistent-read on the source
1175 # will complain that it does not want to run on non-root nodes)
1176 self.vm.cmd('blockdev-add',
1178 node_name='src-perm',
1180 take_child_perms=['consistent-read'])
1183 # dest, which must fail because src-perm requires
1184 # consistent-read but dest-perm does not share it; thus
1191 nodes = self.vm.qmp('query-named-block-nodes')['return']
1192 nodes = [node['node-name'] for node in nodes]
1194 for expect in ('src', 'src-perm', 'dest', 'dest-perm'):
1196 self.assertFalse('mirror-filter' in nodes,
1199 # Test cases for @replaces that do not necessarily involve Quorum
1201 # Each of these test cases needs their own block graph, so do not
1215 @iotests.skip_if_unsupported(['copy-on-read'])
1220 self.vm.cmd('blockdev-add', {
1221 'driver': 'copy-on-read',
1222 'node-name': 'filter0',
1224 'driver': 'copy-on-read',
1225 'node-name': 'filter1',
1227 'driver': 'null-co'
1232 self.vm.cmd('blockdev-add',
1233 node_name='target', driver='null-co')
1235 self.vm.cmd('blockdev-mirror', job_id='mirror', device='filter0',
1246 qemu_img('create', '-f', iotests.imgfmt, backing_img, '1M')
1247 qemu_img('create', '-f', iotests.imgfmt, '-b', backing_img,
1248 '-F', iotests.imgfmt, test_img)
1249 qemu_img('create', '-f', iotests.imgfmt, '-b', backing_img,
1250 '-F', iotests.imgfmt, target_img)
1252 qemu_io('-c', 'write -P 1 0 512k', backing_img)
1253 qemu_io('-c', 'write -P 2 512k 512k', test_img)
1255 self.vm = iotests.VM().add_device('virtio-scsi,id=vio-scsi')
1258 self.vm.cmd('blockdev-add', {
1259 'node-name': 'target',
1269 'node-name': 'source',
1276 'node-name': 'backing',
1293 self.vm.cmd('blockdev-add', {
1294 'node-name': 'filter',
1295 'driver': 'copy-on-read',
1299 self.vm.cmd('blockdev-mirror',
1307 self.vm.qmp('blockdev-del', node_name='target')
1320 self.vm.cmd('blockdev-add', self.filterless_chain)
1324 driver='scsi-hd',
1326 bus='vio-scsi.0',
1329 self.vm.cmd('blockdev-mirror',
1337 blockdevs = self.vm.qmp('query-block')['return']
1340 assert device_info['inserted']['node-name'] == 'source'
1344 assert image_info['backing-image']['filename'] == backing_img
1349 # Same test as above, but this time we give the mirror filter
1350 # a node-name so it will not be invisible
1351 self.vm.cmd('blockdev-add', self.filterless_chain)
1355 driver='scsi-hd',
1357 bus='vio-scsi.0',
1360 self.vm.cmd('blockdev-mirror',
1365 filter_node_name='mirror-filter')
1367 # With a node-name given to it, the mirror filter should now
1369 blockdevs = self.vm.qmp('query-block')['return']
1372 assert device_info['inserted']['node-name'] == 'mirror-filter'