コード例 #1
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_and_upload_volume_to_image(self):
        fake_volume = mock.Mock()
        fake_image = mock.Mock()
        scenario = volumes.CinderVolumes()

        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario._upload_volume_to_image = mock.MagicMock(
            return_value=fake_image)
        scenario._delete_volume = mock.MagicMock()
        scenario._delete_image = mock.MagicMock()

        scenario.create_and_upload_volume_to_image(2,
                                                   container_format="fake",
                                                   disk_format="disk",
                                                   do_delete=False)

        scenario._create_volume.assert_called_once_with(2)
        scenario._upload_volume_to_image.assert_called_once_with(
            fake_volume, False, "fake", "disk")
        scenario._create_volume.reset_mock()
        scenario._upload_volume_to_image.reset_mock()

        scenario.create_and_upload_volume_to_image(1, do_delete=True)

        scenario._create_volume.assert_called_once_with(1)
        scenario._upload_volume_to_image.assert_called_once_with(
            fake_volume, False, "bare", "raw")
        scenario._delete_volume.assert_called_once_with(fake_volume)
        scenario._delete_image.assert_called_once_with(fake_image)
コード例 #2
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_volume(self):
        fake_volume = mock.MagicMock()
        scenario = volumes.CinderVolumes()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)

        scenario.create_volume(1, fakearg="f")
        scenario._create_volume.assert_called_once_with(1, fakearg="f")
コード例 #3
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
 def test_create_and_list_volume(self):
     scenario = volumes.CinderVolumes()
     scenario._create_volume = mock.MagicMock()
     scenario._list_volumes = mock.MagicMock()
     scenario.create_and_list_volume(1, True, fakearg="f")
     scenario._create_volume.assert_called_once_with(1, fakearg="f")
     scenario._list_volumes.assert_called_once_with(True)
コード例 #4
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_and_delete_snapshot(self):
        fake_snapshot = mock.MagicMock()
        scenario = volumes.CinderVolumes(
            context={
                "user": {
                    "tenant_id": "fake"
                },
                "tenant": {
                    "id": "fake",
                    "name": "fake",
                    "volumes": [{
                        "id": "uuid"
                    }]
                }
            })

        scenario._create_snapshot = mock.MagicMock(return_value=fake_snapshot)
        scenario.sleep_between = mock.MagicMock()
        scenario._delete_snapshot = mock.MagicMock()

        scenario.create_and_delete_snapshot(False, 10, 20, fakearg="f")

        scenario._create_snapshot.assert_called_once_with("uuid",
                                                          force=False,
                                                          fakearg="f")
        scenario.sleep_between.assert_called_once_with(10, 20)
        scenario._delete_snapshot.assert_called_once_with(fake_snapshot)
コード例 #5
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_volume_from_image(self):
        fake_volume = mock.MagicMock()
        scenario = volumes.CinderVolumes()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)

        scenario.create_volume(1, image="fake_image")
        scenario._create_volume.assert_called_once_with(1,
                                                        imageRef="fake_image")
コード例 #6
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_snapshot_and_attach_volume_use_volume_type(self):
        fake_volume = mock.MagicMock()
        fake_snapshot = mock.MagicMock()
        fake_server = mock.MagicMock()
        context = {
            "user": {
                "tenant_id": "fake"
            },
            "users": [{
                "tenant_id": "fake",
                "users_per_tenant": 1
            }],
            "tenant": {
                "id": "fake",
                "name": "fake",
                "servers": [1]
            }
        }

        scenario = volumes.CinderVolumes(context)

        scenario._attach_volume = mock.MagicMock()
        scenario._detach_volume = mock.MagicMock()
        scenario._boot_server = mock.MagicMock(return_value=fake_server)
        scenario._delete_server = mock.MagicMock()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario._delete_volume = mock.MagicMock()
        scenario._create_snapshot = mock.MagicMock(return_value=fake_snapshot)
        scenario._delete_snapshot = mock.MagicMock()
        fake = fake_type()

        scenario.clients = mock.MagicMock()
        scenario.clients("cinder").volume_types.list = mock.MagicMock(
            return_value=[fake])
        scenario.clients("nova").servers.get = mock.MagicMock(
            return_value=fake_server)

        scenario.create_snapshot_and_attach_volume(volume_type=True)

        # Make sure create volume's second arg was the correct volume type.
        # fake or none (randomly selected)
        self.assertTrue(scenario._create_volume.called)
        vol_type = scenario._create_volume.call_args_list[0][1]["volume_type"]
        self.assertTrue(vol_type is fake.name or vol_type is None)
        scenario._create_snapshot.assert_called_once_with(
            fake_volume.id, False)
        scenario._delete_snapshot.assert_called_once_with(fake_snapshot)
        scenario._attach_volume.assert_called_once_with(
            fake_server, fake_volume)
        scenario._detach_volume.assert_called_once_with(
            fake_server, fake_volume)
        scenario._delete_volume.assert_called_once_with(fake_volume)
コード例 #7
0
    def test_create_and_delete_volume(self):
        fake_volume = mock.MagicMock()

        scenario = volumes.CinderVolumes()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario.sleep_between = mock.MagicMock()
        scenario._delete_volume = mock.MagicMock()

        scenario.create_and_delete_volume(1, 10, 20, fakearg="f")

        scenario._create_volume.assert_called_once_with(1, fakearg="f")
        scenario.sleep_between.assert_called_once_with(10, 20)
        scenario._delete_volume.assert_called_once_with(fake_volume)
コード例 #8
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_nested_snapshots_calls_order(self):
        fake_volume1 = mock.MagicMock()
        fake_volume2 = mock.MagicMock()
        fake_snapshot1 = mock.MagicMock()
        fake_snapshot2 = mock.MagicMock()
        fake_clients = fakes.FakeClients()
        fake_server = fake_clients.nova().servers.create(
            "test_server", "image_id_01", "flavor_id_01")
        scenario = volumes.CinderVolumes(
            context={
                "user": {
                    "tenant_id": "fake"
                },
                "users": [{
                    "tenant_id": "fake",
                    "users_per_tenant": 1
                }],
                "tenant": {
                    "id": "fake",
                    "name": "fake",
                    "servers": [fake_server.uuid]
                }
            })

        scenario._attach_volume = mock.MagicMock()
        scenario._detach_volume = mock.MagicMock()
        scenario._delete_server = mock.MagicMock()
        scenario._create_volume = mock.MagicMock(
            side_effect=[fake_volume1, fake_volume2])
        scenario._delete_volume = mock.MagicMock()
        scenario._create_snapshot = mock.MagicMock(
            side_effect=[fake_snapshot1, fake_snapshot2])
        scenario._delete_snapshot = mock.MagicMock()
        scenario._clients = fake_clients

        scenario.create_nested_snapshots_and_attach_volume(nested_level={
            "min": 2,
            "max": 2
        })

        vol_delete_calls = [mock.call(fake_volume2), mock.call(fake_volume1)]
        snap_delete_calls = [
            mock.call(fake_snapshot2),
            mock.call(fake_snapshot1)
        ]

        scenario._delete_volume.assert_has_calls(vol_delete_calls)
        scenario._delete_snapshot.assert_has_calls(snap_delete_calls)
コード例 #9
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_snapshot_and_attach_volume(self):
        fake_volume = mock.MagicMock()
        fake_snapshot = mock.MagicMock()
        fake_server = mock.MagicMock()

        context = {
            "user": {
                "tenant_id": "fake"
            },
            "users": [{
                "tenant_id": "fake",
                "users_per_tenant": 1
            }],
            "tenant": {
                "id": "fake",
                "name": "fake",
                "servers": [1]
            }
        }

        scenario = volumes.CinderVolumes(context)

        scenario._attach_volume = mock.MagicMock()
        scenario._detach_volume = mock.MagicMock()
        scenario._boot_server = mock.MagicMock(return_value=fake_server)
        scenario._delete_server = mock.MagicMock()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario._delete_volume = mock.MagicMock()
        scenario._create_snapshot = mock.MagicMock(return_value=fake_snapshot)
        scenario._delete_snapshot = mock.MagicMock()

        scenario.clients = mock.MagicMock()
        scenario.clients("nova").servers.get = mock.MagicMock(
            return_value=fake_server)

        scenario.create_snapshot_and_attach_volume()

        self.assertTrue(scenario._create_volume.called)
        scenario._create_snapshot.assert_called_once_with(
            fake_volume.id, False)
        scenario._delete_snapshot.assert_called_once_with(fake_snapshot)
        scenario._attach_volume.assert_called_once_with(
            fake_server, fake_volume)
        scenario._detach_volume.assert_called_once_with(
            fake_server, fake_volume)
        scenario._delete_volume.assert_called_once_with(fake_volume)
コード例 #10
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_nested_snapshots_and_attach_volume(self):
        fake_volume = mock.MagicMock()
        fake_snapshot = mock.MagicMock()
        fake_clients = fakes.FakeClients()
        fake_server = fake_clients.nova().servers.create(
            "test_server", "image_id_01", "flavor_id_01")
        scenario = volumes.CinderVolumes(
            context={
                "user": {
                    "tenant_id": "fake"
                },
                "users": [{
                    "tenant_id": "fake",
                    "users_per_tenant": 1
                }],
                "tenant": {
                    "id": "fake",
                    "name": "fake",
                    "servers": [fake_server.uuid]
                }
            })

        scenario._attach_volume = mock.MagicMock()
        scenario._detach_volume = mock.MagicMock()
        scenario._delete_server = mock.MagicMock()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario._delete_volume = mock.MagicMock()
        scenario._create_snapshot = mock.MagicMock(return_value=fake_snapshot)
        scenario._delete_snapshot = mock.MagicMock()

        scenario._clients = fake_clients

        scenario.create_nested_snapshots_and_attach_volume()

        volume_count = scenario._create_volume.call_count
        snapshots_count = scenario._create_snapshot.call_count
        attached_count = scenario._attach_volume.call_count

        self.assertEqual(scenario._delete_volume.call_count, volume_count)
        self.assertEqual(scenario._delete_snapshot.call_count, snapshots_count)
        self.assertEqual(scenario._detach_volume.call_count, attached_count)
コード例 #11
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_and_attach_volume(self):
        fake_volume = mock.MagicMock()
        fake_server = mock.MagicMock()
        scenario = volumes.CinderVolumes()

        scenario._attach_volume = mock.MagicMock()
        scenario._detach_volume = mock.MagicMock()

        scenario._boot_server = mock.MagicMock(return_value=fake_server)
        scenario._delete_server = mock.MagicMock()
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario._delete_volume = mock.MagicMock()

        scenario.create_and_attach_volume(10, "img", "0")
        scenario._attach_volume.assert_called_once_with(
            fake_server, fake_volume)
        scenario._detach_volume.assert_called_once_with(
            fake_server, fake_volume)

        scenario._delete_volume.assert_called_once_with(fake_volume)
        scenario._delete_server.assert_called_once_with(fake_server)
コード例 #12
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_from_volume_and_delete_volume(self):
        fake_volume = mock.MagicMock()
        vol_size = 1
        scenario = volumes.CinderVolumes(
            context={
                "user": {
                    "tenant_id": "fake"
                },
                "tenant": {
                    "id": "fake",
                    "name": "fake",
                    "volumes": [{
                        "id": "uuid"
                    }]
                }
            })
        scenario._create_volume = mock.MagicMock(return_value=fake_volume)
        scenario._delete_volume = mock.MagicMock()

        scenario.create_from_volume_and_delete_volume(vol_size)
        scenario._create_volume.assert_called_once_with(1, source_volid="uuid")
        scenario._delete_volume.assert_called_once_with(fake_volume)
コード例 #13
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
    def test_create_and_list_snapshots(self):
        fake_snapshot = mock.MagicMock()
        scenario = volumes.CinderVolumes(
            context={
                "user": {
                    "tenant_id": "fake"
                },
                "tenant": {
                    "id": "fake",
                    "name": "fake",
                    "volumes": [{
                        "id": "uuid"
                    }]
                }
            })

        scenario._create_snapshot = mock.MagicMock(return_value=fake_snapshot)
        scenario._list_snapshots = mock.MagicMock()
        scenario.create_and_list_snapshots(False, True, fakearg="f")
        scenario._create_snapshot.assert_called_once_with("uuid",
                                                          force=False,
                                                          fakearg="f")
        scenario._list_snapshots.assert_called_once_with(True)
コード例 #14
0
ファイル: test_volumes.py プロジェクト: varunarya10/rally
 def test_list_volumes(self):
     scenario = volumes.CinderVolumes()
     scenario._list_volumes = mock.MagicMock()
     scenario.list_volumes(True)
     scenario._list_volumes.assert_called_once_with(True)