summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/main.go b/main.go
index 08194c95..d84366ac 100644
--- a/main.go
+++ b/main.go
@@ -3,11 +3,29 @@ package main
import (
"github.com/dmacvicar/terraform-provider-libvirt/libvirt"
"github.com/hashicorp/terraform/plugin"
+ "log"
"math/rand"
"time"
)
func main() {
+ defer func() {
+ if libvirt.LibvirtClient != nil {
+ alive, err := libvirt.LibvirtClient.IsAlive()
+ if err != nil {
+ log.Printf("[ERROR] cannot determine libvirt connection status: %v", err)
+ }
+ if alive {
+ ret, err := libvirt.LibvirtClient.Close()
+ if err != nil {
+ log.Printf("[ERROR] cannot close libvirt connection %d - %v", ret, err)
+ } else {
+ libvirt.LibvirtClient = nil
+ }
+ }
+ }
+ }()
+
plugin.Serve(&plugin.ServeOpts{
ProviderFunc: libvirt.Provider,
})