示例#1
0
    def test_checkpoint_list(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [
            volume,
        ])

        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id, plan.id, timeout=2400)

        items = self.karbor_client.checkpoints.list(self.provider_id)
        ids = [item.id for item in items]
        self.assertTrue(checkpoint.id in ids)
示例#2
0
    def test_checkpoint_list(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [volume, ])

        checkpoints = self.karbor_client.checkpoints.list(self.provider_id)
        before_num = len(checkpoints)

        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id, plan.id)

        checkpoints = self.karbor_client.checkpoints.list(self.provider_id)
        after_num = len(checkpoints)
        self.assertEqual(1, after_num - before_num)
示例#3
0
    def test_checkpoint_get(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [volume, ])

        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id, plan.id)

        # sanity
        checkpoint_item = self.karbor_client.checkpoints.get(self.provider_id,
                                                             checkpoint.id)
        self.assertEqual(constants.CHECKPOINT_STATUS_AVAILABLE,
                         checkpoint_item.status)
        self.assertEqual(checkpoint.id, checkpoint_item.id)
    def test_restore_create_without_target_and_auth(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id_noop, [volume, ])
        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id_noop, plan.id)

        restore = self.store(objects.Restore())
        restore.create(self.provider_id_noop, checkpoint.id,
                       None, self.parameters, None)

        item = self.karbor_client.restores.get(restore.id)
        self.assertEqual(constants.RESTORE_STATUS_SUCCESS,
                         item.status)
        self._store(item.resources_status)
    def test_restore_resources_with_fs_bank(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id_noop, [volume, ])
        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id_noop, plan.id)

        restore_target = self.get_restore_target(self.keystone_endpoint)
        restore = self.store(objects.Restore())
        restore.create(self.provider_id_noop, checkpoint.id,
                       restore_target, self.parameters, self.restore_auth)

        item = self.karbor_client.restores.get(restore.id)
        self.assertEqual(constants.RESTORE_STATUS_SUCCESS,
                         item.status)
示例#6
0
    def test_checkpoint_create(self):
        self.skipTest('Requires cinder protection plugin adjustment')
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id_os, [
            volume,
        ])

        backups = self.cinder_client.backups.list()
        before_num = len(backups)

        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id, plan.id)

        backups = self.cinder_client.backups.list()
        after_num = len(backups)
        self.assertEqual(1, after_num - before_num)
    def test_restore_network_resources(self):
        network = self.store(objects.Network())
        network.create()
        plan = self.store(objects.Plan())
        plan.create(self.provider_id_os, [network, ])
        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id_os, plan.id)
        network.close()

        restore_target = self.get_restore_target(self.keystone_endpoint)
        restore = self.store(objects.Restore())
        restore.create(self.provider_id_os, checkpoint.id,
                       restore_target, self.parameters, self.restore_auth)

        item = self.karbor_client.restores.get(restore.id)
        self.assertEqual(constants.RESTORE_STATUS_SUCCESS,
                         item.status)
        self._store(item.resources_status)
    def test_checkpoint_delete(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [
            volume,
        ])

        checkpoint = objects.Checkpoint()
        checkpoint.create(self.provider_id, plan.id, timeout=2400)
        checkpoint_item = self.karbor_client.checkpoints.get(
            self.provider_id, checkpoint.id)
        self.assertEqual(constants.CHECKPOINT_STATUS_AVAILABLE,
                         checkpoint_item.status)

        checkpoint.close()
        items = self.karbor_client.checkpoints.list(self.provider_id)
        ids = [item.id for item in items]
        self.assertTrue(checkpoint.id not in ids)
    def test_server_attached_volume_protect_both(self):
        """Test checkpoint for server with attached volume

        Test checkpoint for server which has attached one volume,
        and add server and volume both in protect source
        """
        volume = self.store(objects.Volume())
        volume.create(1)
        server = self.store(objects.Server())
        server.create()
        server.attach_volume(volume.id)

        plan = self.store(objects.Plan())
        plan.create(self.provider_id_noop, [server, volume])

        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id_noop, plan.id, timeout=2400)

        items = self.karbor_client.checkpoints.list(self.provider_id_noop)
        ids = [item.id for item in items]
        self.assertTrue(checkpoint.id in ids)
示例#10
0
    def test_restore_get(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [
            volume,
        ])
        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id, plan.id)

        volumes_pre = self.cinder_client.volumes.list()

        restore_target = self.get_restore_target(self.keystone_endpoint)
        restore = self.store(objects.Restore())
        restore.create(self.provider_id, checkpoint.id, restore_target,
                       self.parameters, self.restore_auth)

        restore_item = self.karbor_client.restores.get(restore.id)
        self.assertEqual(restore.id, restore_item.id)

        volumes_post = self.cinder_client.volumes.list()
        self._store_volume(volumes_pre, volumes_post)
示例#11
0
    def test_checkpoint_delete(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [volume, ])

        checkpoints = self.karbor_client.checkpoints.list(self.provider_id)
        before_num = len(checkpoints)

        checkpoint = objects.Checkpoint()
        checkpoint.create(self.provider_id, plan.id)

        # sanity
        checkpoint_item = self.karbor_client.checkpoints.get(self.provider_id,
                                                             checkpoint.id)
        self.assertEqual(constants.CHECKPOINT_STATUS_AVAILABLE,
                         checkpoint_item.status)

        checkpoint.close()
        checkpoints = self.karbor_client.checkpoints.list(self.provider_id)
        after_num = len(checkpoints)
        self.assertEqual(before_num, after_num)
示例#12
0
    def test_restore_create_without_target_and_auth(self):
        volume = self.store(objects.Volume())
        volume.create(1)
        plan = self.store(objects.Plan())
        plan.create(self.provider_id, [
            volume,
        ])
        checkpoint = self.store(objects.Checkpoint())
        checkpoint.create(self.provider_id, plan.id)

        restores = self.karbor_client.restores.list()
        before_num = len(restores)
        volumes_pre = self.cinder_client.volumes.list()

        restore = self.store(objects.Restore())
        restore.create(self.provider_id, checkpoint.id, None, self.parameters,
                       None)

        restores = self.karbor_client.restores.list()
        after_num = len(restores)
        self.assertEqual(1, after_num - before_num)

        volumes_post = self.cinder_client.volumes.list()
        self._store_volume(volumes_pre, volumes_post)