Merge lp:~james-page/charms/trusty/cinder/unit-test-fixes into lp:~openstack-charmers-archive/charms/trusty/cinder/next

Proposed by James Page
Status: Merged
Merged at revision: 113
Proposed branch: lp:~james-page/charms/trusty/cinder/unit-test-fixes
Merge into: lp:~openstack-charmers-archive/charms/trusty/cinder/next
Diff against target: 280 lines (+63/-59)
1 file modified
unit_tests/test_cinder_utils.py (+63/-59)
To merge this branch: bzr merge lp:~james-page/charms/trusty/cinder/unit-test-fixes
Reviewer Review Type Date Requested Status
Liam Young (community) Approve
Review via email: mp+266692@code.launchpad.net
To post a comment you must log in.
Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_lint_check #7456 cinder-next for james-page mp266692
    LINT OK: passed

Build: http://10.245.162.77:8080/job/charm_lint_check/7456/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_unit_test #6916 cinder-next for james-page mp266692
    UNIT FAIL: unit-test failed

UNIT Results (max last 2 lines):
make: *** [test] Error 1
ERROR:root:Make target returned non-zero.

Full unit test output: http://paste.ubuntu.com/11991809/
Build: http://10.245.162.77:8080/job/charm_unit_test/6916/

114. By James Page

Prefix device names in test to avoid conflicts with real device names.

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_lint_check #7457 cinder-next for james-page mp266692
    LINT OK: passed

Build: http://10.245.162.77:8080/job/charm_lint_check/7457/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_unit_test #6917 cinder-next for james-page mp266692
    UNIT OK: passed

Build: http://10.245.162.77:8080/job/charm_unit_test/6917/

Revision history for this message
Liam Young (gnuoy) wrote :

LGTM, thanks

review: Approve
Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_amulet_test #5583 cinder-next for james-page mp266692
    AMULET FAIL: amulet-test failed

AMULET Results (max last 2 lines):
make: *** [functional_test] Error 1
ERROR:root:Make target returned non-zero.

Full amulet test output: http://paste.ubuntu.com/11996103/
Build: http://10.245.162.77:8080/job/charm_amulet_test/5583/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'unit_tests/test_cinder_utils.py'
--- unit_tests/test_cinder_utils.py 2015-07-27 15:49:26 +0000
+++ unit_tests/test_cinder_utils.py 2015-08-03 09:22:44 +0000
@@ -55,7 +55,7 @@
5555
5656
57MOUNTS = [57MOUNTS = [
58 ['/mnt', '/dev/vdb']58 ['/mnt', '/dev/fakevbd']
59]59]
6060
61DPKG_OPTIONS = [61DPKG_OPTIONS = [
@@ -64,9 +64,9 @@
64]64]
6565
66FDISKDISPLAY = """66FDISKDISPLAY = """
67 Disk /dev/vdb doesn't contain a valid partition table67 Disk /dev/fakevbd doesn't contain a valid partition table
6868
69 Disk /dev/vdb: 21.5 GB, 21474836480 bytes69 Disk /dev/fakevbd: 21.5 GB, 21474836480 bytes
70 16 heads, 63 sectors/track, 41610 cylinders, total 41943040 sectors70 16 heads, 63 sectors/track, 41610 cylinders, total 41943040 sectors
71 Units = sectors of 1 * 512 = 512 bytes71 Units = sectors of 1 * 512 = 512 bytes
72 Sector size (logical/physical): 512 bytes / 512 bytes72 Sector size (logical/physical): 512 bytes / 512 bytes
@@ -207,34 +207,34 @@
207 self.is_lvm_physical_volume.return_value = False207 self.is_lvm_physical_volume.return_value = False
208 self.zap_disk.return_value = True208 self.zap_disk.return_value = True
209 self.mounts.return_value = MOUNTS209 self.mounts.return_value = MOUNTS
210 cinder_utils.clean_storage('/dev/vdb')210 cinder_utils.clean_storage('/dev/fakevbd')
211 self.umount.called_with('/dev/vdb', True)211 self.umount.called_with('/dev/fakevbd', True)
212212
213 def test_clean_storage_lvm_wipe(self):213 def test_clean_storage_lvm_wipe(self):
214 'It removes traces of LVM when cleaning storage'214 'It removes traces of LVM when cleaning storage'
215 self.mounts.return_value = []215 self.mounts.return_value = []
216 self.is_lvm_physical_volume.return_value = True216 self.is_lvm_physical_volume.return_value = True
217 cinder_utils.clean_storage('/dev/vdb')217 cinder_utils.clean_storage('/dev/fakevbd')
218 self.remove_lvm_physical_volume.assert_called_with('/dev/vdb')218 self.remove_lvm_physical_volume.assert_called_with('/dev/fakevbd')
219 self.deactivate_lvm_volume_group.assert_called_with('/dev/vdb')219 self.deactivate_lvm_volume_group.assert_called_with('/dev/fakevbd')
220 self.zap_disk.assert_called_with('/dev/vdb')220 self.zap_disk.assert_called_with('/dev/fakevbd')
221221
222 def test_clean_storage_zap_disk(self):222 def test_clean_storage_zap_disk(self):
223 'It removes traces of LVM when cleaning storage'223 'It removes traces of LVM when cleaning storage'
224 self.mounts.return_value = []224 self.mounts.return_value = []
225 self.is_lvm_physical_volume.return_value = False225 self.is_lvm_physical_volume.return_value = False
226 cinder_utils.clean_storage('/dev/vdb')226 cinder_utils.clean_storage('/dev/fakevbd')
227 self.zap_disk.assert_called_with('/dev/vdb')227 self.zap_disk.assert_called_with('/dev/fakevbd')
228228
229 def test_parse_block_device(self):229 def test_parse_block_device(self):
230 self.assertTrue(cinder_utils._parse_block_device(None),230 self.assertTrue(cinder_utils._parse_block_device(None),
231 (None, 0))231 (None, 0))
232 self.assertTrue(cinder_utils._parse_block_device('vdc'),232 self.assertTrue(cinder_utils._parse_block_device('fakevdc'),
233 ('/dev/vdc', 0))233 ('/dev/fakevdc', 0))
234 self.assertTrue(cinder_utils._parse_block_device('/dev/vdc'),234 self.assertTrue(cinder_utils._parse_block_device('/dev/fakevdc'),
235 ('/dev/vdc', 0))235 ('/dev/fakevdc', 0))
236 self.assertTrue(cinder_utils._parse_block_device('/dev/vdc'),236 self.assertTrue(cinder_utils._parse_block_device('/dev/fakevdc'),
237 ('/dev/vdc', 0))237 ('/dev/fakevdc', 0))
238 self.assertTrue(cinder_utils._parse_block_device('/mnt/loop0|10'),238 self.assertTrue(cinder_utils._parse_block_device('/mnt/loop0|10'),
239 ('/mnt/loop0', 10))239 ('/mnt/loop0', 10))
240 self.assertTrue(cinder_utils._parse_block_device('/mnt/loop0'),240 self.assertTrue(cinder_utils._parse_block_device('/mnt/loop0'),
@@ -243,9 +243,9 @@
243 @patch('subprocess.check_output')243 @patch('subprocess.check_output')
244 def test_has_partition_table(self, _check):244 def test_has_partition_table(self, _check):
245 _check.return_value = FDISKDISPLAY245 _check.return_value = FDISKDISPLAY
246 block_device = '/dev/vdb'246 block_device = '/dev/fakevbd'
247 cinder_utils.has_partition_table(block_device)247 cinder_utils.has_partition_table(block_device)
248 _check.assert_called_with(['fdisk', '-l', '/dev/vdb'], stderr=-2)248 _check.assert_called_with(['fdisk', '-l', '/dev/fakevbd'], stderr=-2)
249249
250 @patch('cinder_utils.log_lvm_info', Mock())250 @patch('cinder_utils.log_lvm_info', Mock())
251 @patch.object(cinder_utils, 'ensure_lvm_volume_group_non_existent')251 @patch.object(cinder_utils, 'ensure_lvm_volume_group_non_existent')
@@ -254,20 +254,20 @@
254 @patch.object(cinder_utils, 'extend_lvm_volume_group')254 @patch.object(cinder_utils, 'extend_lvm_volume_group')
255 def test_configure_lvm_storage(self, extend_lvm, reduce_lvm,255 def test_configure_lvm_storage(self, extend_lvm, reduce_lvm,
256 clean_storage, ensure_non_existent):256 clean_storage, ensure_non_existent):
257 devices = ['/dev/vdb', '/dev/vdc']257 devices = ['/dev/fakevbd', '/dev/fakevdc']
258 self.is_lvm_physical_volume.return_value = False258 self.is_lvm_physical_volume.return_value = False
259 cinder_utils.configure_lvm_storage(devices, 'test', True, True)259 cinder_utils.configure_lvm_storage(devices, 'test', True, True)
260 clean_storage.assert_has_calls(260 clean_storage.assert_has_calls(
261 [call('/dev/vdb'),261 [call('/dev/fakevbd'),
262 call('/dev/vdc')]262 call('/dev/fakevdc')]
263 )263 )
264 self.create_lvm_physical_volume.assert_has_calls(264 self.create_lvm_physical_volume.assert_has_calls(
265 [call('/dev/vdb'),265 [call('/dev/fakevbd'),
266 call('/dev/vdc')]266 call('/dev/fakevdc')]
267 )267 )
268 self.create_lvm_volume_group.assert_called_with('test', '/dev/vdb')268 self.create_lvm_volume_group.assert_called_with('test', '/dev/fakevbd')
269 reduce_lvm.assert_called_with('test')269 reduce_lvm.assert_called_with('test')
270 extend_lvm.assert_called_with('test', '/dev/vdc')270 extend_lvm.assert_called_with('test', '/dev/fakevdc')
271 ensure_non_existent.assert_called_with('test')271 ensure_non_existent.assert_called_with('test')
272272
273 @patch('cinder_utils.log_lvm_info', Mock())273 @patch('cinder_utils.log_lvm_info', Mock())
@@ -277,27 +277,27 @@
277 @patch.object(cinder_utils, 'extend_lvm_volume_group')277 @patch.object(cinder_utils, 'extend_lvm_volume_group')
278 def test_configure_lvm_storage_unused_dev(self, extend_lvm, reduce_lvm,278 def test_configure_lvm_storage_unused_dev(self, extend_lvm, reduce_lvm,
279 clean_storage, has_part):279 clean_storage, has_part):
280 devices = ['/dev/vdb', '/dev/vdc']280 devices = ['/dev/fakevbd', '/dev/fakevdc']
281 self.is_lvm_physical_volume.return_value = False281 self.is_lvm_physical_volume.return_value = False
282 has_part.return_value = False282 has_part.return_value = False
283 cinder_utils.configure_lvm_storage(devices, 'test', False, True)283 cinder_utils.configure_lvm_storage(devices, 'test', False, True)
284 clean_storage.assert_has_calls(284 clean_storage.assert_has_calls(
285 [call('/dev/vdb'),285 [call('/dev/fakevbd'),
286 call('/dev/vdc')]286 call('/dev/fakevdc')]
287 )287 )
288 self.create_lvm_physical_volume.assert_has_calls(288 self.create_lvm_physical_volume.assert_has_calls(
289 [call('/dev/vdb'),289 [call('/dev/fakevbd'),
290 call('/dev/vdc')]290 call('/dev/fakevdc')]
291 )291 )
292 self.create_lvm_volume_group.assert_called_with('test', '/dev/vdb')292 self.create_lvm_volume_group.assert_called_with('test', '/dev/fakevbd')
293 reduce_lvm.assert_called_with('test')293 reduce_lvm.assert_called_with('test')
294 extend_lvm.assert_called_with('test', '/dev/vdc')294 extend_lvm.assert_called_with('test', '/dev/fakevdc')
295295
296 @patch('cinder_utils.log_lvm_info', Mock())296 @patch('cinder_utils.log_lvm_info', Mock())
297 @patch.object(cinder_utils, 'has_partition_table')297 @patch.object(cinder_utils, 'has_partition_table')
298 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')298 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')
299 def test_configure_lvm_storage_used_dev(self, reduce_lvm, has_part):299 def test_configure_lvm_storage_used_dev(self, reduce_lvm, has_part):
300 devices = ['/dev/vdb', '/dev/vdc']300 devices = ['/dev/fakevbd', '/dev/fakevdc']
301 self.is_lvm_physical_volume.return_value = False301 self.is_lvm_physical_volume.return_value = False
302 has_part.return_value = True302 has_part.return_value = True
303 cinder_utils.configure_lvm_storage(devices, 'test', False, True)303 cinder_utils.configure_lvm_storage(devices, 'test', False, True)
@@ -323,66 +323,70 @@
323 self.assertFalse(extend_lvm.called)323 self.assertFalse(extend_lvm.called)
324 ensure_non_existent.assert_called_with('test')324 ensure_non_existent.assert_called_with('test')
325325
326 @patch.object(cinder_utils, 'lvm_volume_group_exists')
326 @patch('cinder_utils.log_lvm_info', Mock())327 @patch('cinder_utils.log_lvm_info', Mock())
327 @patch.object(cinder_utils, 'clean_storage')328 @patch.object(cinder_utils, 'clean_storage')
328 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')329 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')
329 @patch.object(cinder_utils, 'extend_lvm_volume_group')330 @patch.object(cinder_utils, 'extend_lvm_volume_group')
330 def test_configure_lvm_storage_existing_vg(self, extend_lvm, reduce_lvm,331 def test_configure_lvm_storage_existing_vg(self, extend_lvm, reduce_lvm,
331 clean_storage):332 clean_storage, lvm_exists):
332 def pv_lookup(device):333 def pv_lookup(device):
333 devices = {334 devices = {
334 '/dev/vdb': True,335 '/dev/fakevbd': True,
335 '/dev/vdc': False336 '/dev/fakevdc': False
336 }337 }
337 return devices[device]338 return devices[device]
338339
339 def vg_lookup(device):340 def vg_lookup(device):
340 devices = {341 devices = {
341 '/dev/vdb': 'test',342 '/dev/fakevbd': 'test',
342 '/dev/vdc': None343 '/dev/fakevdc': None
343 }344 }
344 return devices[device]345 return devices[device]
345 devices = ['/dev/vdb', '/dev/vdc']346 devices = ['/dev/fakevbd', '/dev/fakevdc']
347 lvm_exists.return_value = False
346 self.is_lvm_physical_volume.side_effect = pv_lookup348 self.is_lvm_physical_volume.side_effect = pv_lookup
347 self.list_lvm_volume_group.side_effect = vg_lookup349 self.list_lvm_volume_group.side_effect = vg_lookup
348 cinder_utils.configure_lvm_storage(devices, 'test', True, True)350 cinder_utils.configure_lvm_storage(devices, 'test', True, True)
349 clean_storage.assert_has_calls(351 clean_storage.assert_has_calls(
350 [call('/dev/vdc')]352 [call('/dev/fakevdc')]
351 )353 )
352 self.create_lvm_physical_volume.assert_has_calls(354 self.create_lvm_physical_volume.assert_has_calls(
353 [call('/dev/vdc')]355 [call('/dev/fakevdc')]
354 )356 )
355 reduce_lvm.assert_called_with('test')357 reduce_lvm.assert_called_with('test')
356 extend_lvm.assert_called_with('test', '/dev/vdc')358 extend_lvm.assert_called_with('test', '/dev/fakevdc')
357 self.assertFalse(self.create_lvm_volume_group.called)359 self.assertFalse(self.create_lvm_volume_group.called)
358360
361 @patch.object(cinder_utils, 'lvm_volume_group_exists')
359 @patch('cinder_utils.log_lvm_info', Mock())362 @patch('cinder_utils.log_lvm_info', Mock())
360 @patch.object(cinder_utils, 'clean_storage')363 @patch.object(cinder_utils, 'clean_storage')
361 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')364 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')
362 @patch.object(cinder_utils, 'extend_lvm_volume_group')365 @patch.object(cinder_utils, 'extend_lvm_volume_group')
363 def test_configure_lvm_storage_different_vg(self, extend_lvm, reduce_lvm,366 def test_configure_lvm_storage_different_vg(self, extend_lvm, reduce_lvm,
364 clean_storage):367 clean_storage, lvm_exists):
365 def pv_lookup(device):368 def pv_lookup(device):
366 devices = {369 devices = {
367 '/dev/vdb': True,370 '/dev/fakevbd': True,
368 '/dev/vdc': True371 '/dev/fakevdc': True
369 }372 }
370 return devices[device]373 return devices[device]
371374
372 def vg_lookup(device):375 def vg_lookup(device):
373 devices = {376 devices = {
374 '/dev/vdb': 'test',377 '/dev/fakevbd': 'test',
375 '/dev/vdc': 'another'378 '/dev/fakevdc': 'another'
376 }379 }
377 return devices[device]380 return devices[device]
378 devices = ['/dev/vdb', '/dev/vdc']381 devices = ['/dev/fakevbd', '/dev/fakevdc']
379 self.is_lvm_physical_volume.side_effect = pv_lookup382 self.is_lvm_physical_volume.side_effect = pv_lookup
380 self.list_lvm_volume_group.side_effect = vg_lookup383 self.list_lvm_volume_group.side_effect = vg_lookup
384 lvm_exists.return_value = False
381 cinder_utils.configure_lvm_storage(devices, 'test', True, True)385 cinder_utils.configure_lvm_storage(devices, 'test', True, True)
382 clean_storage.assert_called_with('/dev/vdc')386 clean_storage.assert_called_with('/dev/fakevdc')
383 self.create_lvm_physical_volume.assert_called_with('/dev/vdc')387 self.create_lvm_physical_volume.assert_called_with('/dev/fakevdc')
384 reduce_lvm.assert_called_with('test')388 reduce_lvm.assert_called_with('test')
385 extend_lvm.assert_called_with('test', '/dev/vdc')389 extend_lvm.assert_called_with('test', '/dev/fakevdc')
386 self.assertFalse(self.create_lvm_volume_group.called)390 self.assertFalse(self.create_lvm_volume_group.called)
387391
388 @patch('cinder_utils.log_lvm_info', Mock())392 @patch('cinder_utils.log_lvm_info', Mock())
@@ -394,18 +398,18 @@
394 clean_storage):398 clean_storage):
395 def pv_lookup(device):399 def pv_lookup(device):
396 devices = {400 devices = {
397 '/dev/vdb': True,401 '/dev/fakevbd': True,
398 '/dev/vdc': True402 '/dev/fakevdc': True
399 }403 }
400 return devices[device]404 return devices[device]
401405
402 def vg_lookup(device):406 def vg_lookup(device):
403 devices = {407 devices = {
404 '/dev/vdb': 'test',408 '/dev/fakevbd': 'test',
405 '/dev/vdc': 'another'409 '/dev/fakevdc': 'another'
406 }410 }
407 return devices[device]411 return devices[device]
408 devices = ['/dev/vdb', '/dev/vdc']412 devices = ['/dev/fakevbd', '/dev/fakevdc']
409 self.is_lvm_physical_volume.side_effect = pv_lookup413 self.is_lvm_physical_volume.side_effect = pv_lookup
410 self.list_lvm_volume_group.side_effect = vg_lookup414 self.list_lvm_volume_group.side_effect = vg_lookup
411 cinder_utils.configure_lvm_storage(devices, 'test', False, False)415 cinder_utils.configure_lvm_storage(devices, 'test', False, False)
@@ -419,7 +423,7 @@
419 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')423 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')
420 def test_configure_lvm_storage_unforced_remove_default(self, reduce_lvm):424 def test_configure_lvm_storage_unforced_remove_default(self, reduce_lvm):
421 """It doesn't force remove missing by default."""425 """It doesn't force remove missing by default."""
422 devices = ['/dev/vdb']426 devices = ['/dev/fakevbd']
423 cinder_utils.configure_lvm_storage(devices, 'test', False, True)427 cinder_utils.configure_lvm_storage(devices, 'test', False, True)
424 reduce_lvm.assert_called_with('test')428 reduce_lvm.assert_called_with('test')
425429
@@ -427,7 +431,7 @@
427 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')431 @patch.object(cinder_utils, 'reduce_lvm_volume_group_missing')
428 def test_configure_lvm_storage_force_removemissing(self, reduce_lvm):432 def test_configure_lvm_storage_force_removemissing(self, reduce_lvm):
429 """It forces remove missing when asked to."""433 """It forces remove missing when asked to."""
430 devices = ['/dev/vdb']434 devices = ['/dev/fakevbd']
431 cinder_utils.configure_lvm_storage(435 cinder_utils.configure_lvm_storage(
432 devices, 'test', False, True, remove_missing_force=True)436 devices, 'test', False, True, remove_missing_force=True)
433 reduce_lvm.assert_called_with('test', extra_args=['--force'])437 reduce_lvm.assert_called_with('test', extra_args=['--force'])

Subscribers

People subscribed via source and target branches