def run(self, **kwargs):
        new_volumes = {}
        volumes = self.get_cinder_volumes(**kwargs)
        volumes = [v['volume'] for v in volumes.itervalues()]

        view = VolumeMigrationView(volumes)
        view.initial_message()

        for i, volume in enumerate(volumes):
            view.before_migration(i, volume)

            migrated_volume = self.migrate_volume(volume)

            view.after_migration(i, volume)
            new_volumes[volume['id']] = migrated_volume
        return new_volumes
:returns: dictionary {<source-volume-id>: <destination-volume>}
dataset/ETHPy150Open MirantisWorkloadMobility/CloudFerry/cloudferry/lib/os/actions/migrate_volumes.py/MigrateVolumes.run