diff options
author | Flavio Castelli <fcastelli@suse.com> | 2017-05-27 00:08:27 +0200 |
---|---|---|
committer | Flavio Castelli <fcastelli@suse.com> | 2017-05-27 00:08:27 +0200 |
commit | 392b153595f220abef45da262ec4ffab4fcb969a (patch) | |
tree | 1bba877887c891fa7c3d9d7da3dc94f10db62f60 /libvirt/coreos_ignition_def.go | |
parent | 2817006523fead9169dbbdf06212df620b72aad8 (diff) | |
download | terraform-provider-libvirt-392b153595f220abef45da262ec4ffab4fcb969a.tar terraform-provider-libvirt-392b153595f220abef45da262ec4ffab4fcb969a.tar.gz |
DRY code
Provide a generic function to return a copier to be used with
`img.Import`. This reduces code duplication.
Signed-off-by: Flavio Castelli <fcastelli@suse.com>
Diffstat (limited to 'libvirt/coreos_ignition_def.go')
-rw-r--r-- | libvirt/coreos_ignition_def.go | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/libvirt/coreos_ignition_def.go b/libvirt/coreos_ignition_def.go index e0f786e3..da510cdc 100644 --- a/libvirt/coreos_ignition_def.go +++ b/libvirt/coreos_ignition_def.go @@ -88,26 +88,9 @@ func (ign *defIgnition) CreateAndUpload(virConn *libvirt.VirConnection) (string, defer volume.Free() // upload ignition file - copier := func(src io.Reader) error { - stream, err := libvirt.NewVirStream(virConn, 0) - if err != nil { - return err - } - defer stream.Close() - - volume.Upload(stream, 0, volumeDef.Capacity.Amount, 0) - - n, err := io.Copy(stream, src) - if err != nil { - return fmt.Errorf("Error while downloading %s: %s", img.String(), err) - } - log.Printf("%d bytes uploaded\n", n) - return nil - } - - err = img.Import(copier, volumeDef) + err = img.Import(newCopier(virConn, volume, volumeDef.Capacity.Amount), volumeDef) if err != nil { - return "", err + return "", fmt.Errorf("Error while uploading ignition file %s: %s", img.String(), err) } key, err := volume.GetKey() |