aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Mac-Vicar P <dmacvicar@suse.de>2016-03-12 23:56:39 +0100
committerDuncan Mac-Vicar P <dmacvicar@suse.de>2016-03-12 23:56:39 +0100
commit39d00e7064a2e51a15c428157b045b2ed36302aa (patch)
tree86b131d108f63e61ec227d552cc56be818e7951d
parentf15082913e55eaf179a9f74338ef285071c05bd1 (diff)
downloadterraform-provider-libvirt-39d00e7064a2e51a15c428157b045b2ed36302aa.tar
terraform-provider-libvirt-39d00e7064a2e51a15c428157b045b2ed36302aa.tar.gz
this bindings require us to manually free the wrappers
-rw-r--r--libvirt/resource_libvirt_domain.go5
-rw-r--r--libvirt/resource_libvirt_volume.go5
2 files changed, 10 insertions, 0 deletions
diff --git a/libvirt/resource_libvirt_domain.go b/libvirt/resource_libvirt_domain.go
index 24ecf324..b068f8ec 100644
--- a/libvirt/resource_libvirt_domain.go
+++ b/libvirt/resource_libvirt_domain.go
@@ -106,6 +106,7 @@ func resourceLibvirtDomainCreate(d *schema.ResourceData, meta interface{}) error
if err != nil {
return fmt.Errorf("Error crearing libvirt domain: %s", err)
}
+ defer domain.Free()
id, err := domain.GetID()
if err != nil {
@@ -138,6 +139,7 @@ func resourceLibvirtDomainRead(d *schema.ResourceData, meta interface{}) error {
if err != nil {
return fmt.Errorf("Error retrieving libvirt domain: %s", err)
}
+ defer domain.Free()
xmlDesc, err := domain.GetXMLDesc(0)
if err != nil {
@@ -160,11 +162,13 @@ func resourceLibvirtDomainRead(d *schema.ResourceData, meta interface{}) error {
if err != nil {
return fmt.Errorf("Error retrieving pool for disk: %s", err)
}
+ defer virPool.Free()
virVol, err := virPool.LookupStorageVolByName(diskDef.Source.Volume)
if err != nil {
return fmt.Errorf("Error retrieving volume for disk: %s", err)
}
+ defer virVol.Free()
virVolKey, err := virVol.GetKey()
if err != nil {
@@ -196,6 +200,7 @@ func resourceLibvirtDomainDelete(d *schema.ResourceData, meta interface{}) error
if err != nil {
return fmt.Errorf("Error retrieving libvirt domain: %s", err)
}
+ defer domain.Free()
if err := domain.Destroy(); err != nil {
return fmt.Errorf("Couldn't destroy libvirt domain: %s", err)
diff --git a/libvirt/resource_libvirt_volume.go b/libvirt/resource_libvirt_volume.go
index df0be59d..cf16a6d1 100644
--- a/libvirt/resource_libvirt_volume.go
+++ b/libvirt/resource_libvirt_volume.go
@@ -81,6 +81,7 @@ func resourceLibvirtVolumeCreate(d *schema.ResourceData, meta interface{}) error
if err != nil {
return fmt.Errorf("can't find storage pool '%s'", poolName)
}
+ defer pool.Free()
// Refresh the pool of the volume so that libvirt knows it is
// not longer in use.
@@ -147,6 +148,8 @@ func resourceLibvirtVolumeCreate(d *schema.ResourceData, meta interface{}) error
if err != nil {
return fmt.Errorf("Error creating libvirt volume: %s", err)
}
+ defer volume.Free()
+
// we use the key as the id
key, err := volume.GetKey()
if err != nil {
@@ -205,6 +208,7 @@ func resourceLibvirtVolumeDelete(d *schema.ResourceData, meta interface{}) error
if err != nil {
return fmt.Errorf("Can't retrieve volume %s", d.Id())
}
+ defer volume.Free()
// Refresh the pool of the volume so that libvirt knows it is
// not longer in use.
@@ -212,6 +216,7 @@ func resourceLibvirtVolumeDelete(d *schema.ResourceData, meta interface{}) error
if err != nil {
return fmt.Errorf("Error retrieving pool for volume: %s", err)
}
+ defer volPool.Free()
err = volPool.Refresh(0)
if err != nil {