def test_lxc_teardown_container_with_namespace_cleaned(self): def proc_mounts(self, mount_point): return None self.stubs.Set(os.path, 'exists', lambda _: True) self.stubs.Set(disk_api._DiskImage, '_device_for_path', proc_mounts) expected_commands = [] disk_api.teardown_container('/mnt/loop/nopart', '/dev/loop0') expected_commands += [ ('losetup', '--detach', '/dev/loop0'), ] disk_api.teardown_container('/mnt/loop/part', '/dev/loop0') expected_commands += [ ('losetup', '--detach', '/dev/loop0'), ] disk_api.teardown_container('/mnt/nbd/nopart', '/dev/nbd15') expected_commands += [ ('qemu-nbd', '-d', '/dev/nbd15'), ] disk_api.teardown_container('/mnt/nbd/part', '/dev/nbd15') expected_commands += [ ('qemu-nbd', '-d', '/dev/nbd15'), ] self.assertEqual(self.executes, expected_commands)
def test_lxc_teardown_container(self): def proc_mounts(self, mount_point): mount_points = { '/mnt/loop/nopart': '/dev/loop0', '/mnt/loop/part': '/dev/mapper/loop0p1', '/mnt/nbd/nopart': '/dev/nbd15', '/mnt/nbd/part': '/dev/mapper/nbd15p1', } return mount_points[mount_point] self.stubs.Set(os.path, 'exists', lambda _: True) self.stubs.Set(disk_api._DiskImage, '_device_for_path', proc_mounts) expected_commands = [] disk_api.teardown_container('/mnt/loop/nopart') expected_commands += [ ('umount', '/dev/loop0'), ('losetup', '--detach', '/dev/loop0'), ] disk_api.teardown_container('/mnt/loop/part') expected_commands += [ ('umount', '/dev/mapper/loop0p1'), ('kpartx', '-d', '/dev/loop0'), ('losetup', '--detach', '/dev/loop0'), ] disk_api.teardown_container('/mnt/nbd/nopart') expected_commands += [ ('blockdev', '--flushbufs', '/dev/nbd15'), ('umount', '/dev/nbd15'), ('qemu-nbd', '-d', '/dev/nbd15'), ] disk_api.teardown_container('/mnt/nbd/part') expected_commands += [ ('blockdev', '--flushbufs', '/dev/nbd15'), ('umount', '/dev/mapper/nbd15p1'), ('kpartx', '-d', '/dev/nbd15'), ('qemu-nbd', '-d', '/dev/nbd15'), ] self.assertEqual(self.executes, expected_commands)
def test_lxc_teardown_container_with_namespace_cleaned(self): def proc_mounts(self, mount_point): return None self.stubs.Set(os.path, "exists", lambda _: True) self.stubs.Set(disk_api._DiskImage, "_device_for_path", proc_mounts) expected_commands = [] disk_api.teardown_container("/mnt/loop/nopart", "/dev/loop0") expected_commands += [("losetup", "--detach", "/dev/loop0")] disk_api.teardown_container("/mnt/loop/part", "/dev/loop0") expected_commands += [("losetup", "--detach", "/dev/loop0")] disk_api.teardown_container("/mnt/nbd/nopart", "/dev/nbd15") expected_commands += [("qemu-nbd", "-d", "/dev/nbd15")] disk_api.teardown_container("/mnt/nbd/part", "/dev/nbd15") expected_commands += [("qemu-nbd", "-d", "/dev/nbd15")] self.assertEqual(self.executes, expected_commands)
def test_lxc_teardown_container(self): def proc_mounts(self, mount_point): mount_points = { "/mnt/loop/nopart": "/dev/loop0", "/mnt/loop/part": "/dev/mapper/loop0p1", "/mnt/nbd/nopart": "/dev/nbd15", "/mnt/nbd/part": "/dev/mapper/nbd15p1", } return mount_points[mount_point] self.stubs.Set(os.path, "exists", lambda _: True) self.stubs.Set(disk_api._DiskImage, "_device_for_path", proc_mounts) expected_commands = [] disk_api.teardown_container("/mnt/loop/nopart") expected_commands += [("umount", "/dev/loop0"), ("losetup", "--detach", "/dev/loop0")] disk_api.teardown_container("/mnt/loop/part") expected_commands += [ ("umount", "/dev/mapper/loop0p1"), ("kpartx", "-d", "/dev/loop0"), ("losetup", "--detach", "/dev/loop0"), ] disk_api.teardown_container("/mnt/nbd/nopart") expected_commands += [ ("blockdev", "--flushbufs", "/dev/nbd15"), ("umount", "/dev/nbd15"), ("qemu-nbd", "-d", "/dev/nbd15"), ] disk_api.teardown_container("/mnt/nbd/part") expected_commands += [ ("blockdev", "--flushbufs", "/dev/nbd15"), ("umount", "/dev/mapper/nbd15p1"), ("kpartx", "-d", "/dev/nbd15"), ("qemu-nbd", "-d", "/dev/nbd15"), ] self.assertEqual(self.executes, expected_commands)