Skip to content

Commit 801dd4b

Browse files
committed
fixed bug with Env support
1 parent 08faae1 commit 801dd4b

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
99
github.com/bgentry/speakeasy v0.1.0 // indirect
1010
github.com/blang/semver v3.5.1+incompatible // indirect
11-
github.com/bmatcuk/go-vagrant v1.2.1
11+
github.com/bmatcuk/go-vagrant v1.2.2
1212
github.com/fatih/color v1.7.0 // indirect
1313
github.com/hashicorp/errwrap v0.0.0-20180715044906-d6c0cd880357 // indirect
1414
github.com/hashicorp/go-cleanhttp v0.0.0-20171218145408-d5fe4b57a186 // indirect

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ github.com/bmatcuk/go-vagrant v1.2.0 h1:z8tZAwribzCSs9HEPv7snqqXYghH/3VXBTlD4zGF
2222
github.com/bmatcuk/go-vagrant v1.2.0/go.mod h1:wybyCOf1R4TB2OXU8l6ghwqlCUJvBhWS5TeVpNj1doc=
2323
github.com/bmatcuk/go-vagrant v1.2.1 h1:GQddoSzp8qtNzQAlob5wHvAUPQL7gy3VapBf7SgJ0Bk=
2424
github.com/bmatcuk/go-vagrant v1.2.1/go.mod h1:wybyCOf1R4TB2OXU8l6ghwqlCUJvBhWS5TeVpNj1doc=
25+
github.com/bmatcuk/go-vagrant v1.2.2 h1:BOD0Jg+PdW9f3+Cz4Bcbr8qZb5qht5LMScU2M67u6pQ=
26+
github.com/bmatcuk/go-vagrant v1.2.2/go.mod h1:wybyCOf1R4TB2OXU8l6ghwqlCUJvBhWS5TeVpNj1doc=
2527
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
2628
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
2729
github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo=

resource_vagrant_vm.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"fmt"
99
"io/ioutil"
10+
"log"
1011
"os"
1112
"path/filepath"
1213
"sort"
@@ -108,10 +109,12 @@ func resourceVagrantVMCreate(d *schema.ResourceData, m interface{}) error {
108109
return err
109110
}
110111

112+
log.Println("Bringing up vagrant...")
111113
cmd := client.Up()
112114
cmd.Context = ctx
113-
cmd.Env = buildEnvironment(d.Get("env").(map[string]string))
115+
cmd.Env = buildEnvironment(d.Get("env").(map[string]interface{}))
114116
cmd.Parallel = true
117+
cmd.Verbose = true
115118
if err := cmd.Run(); err != nil {
116119
return err
117120
}
@@ -142,9 +145,11 @@ func resourceVagrantVMUpdate(d *schema.ResourceData, m interface{}) error {
142145
return err
143146
}
144147

148+
log.Println("Reloading vagrant...")
145149
cmd := client.Reload()
146150
cmd.Context = ctx
147-
cmd.Env = buildEnvironment(d.Get("env").(map[string]string))
151+
cmd.Env = buildEnvironment(d.Get("env").(map[string]interface{}))
152+
cmd.Verbose = true
148153
if err := cmd.Run(); err != nil {
149154
return nil
150155
}
@@ -161,9 +166,11 @@ func resourceVagrantVMDelete(d *schema.ResourceData, m interface{}) error {
161166
return err
162167
}
163168

169+
log.Println("Destroying vagrant...")
164170
cmd := client.Destroy()
165171
cmd.Context = ctx
166-
cmd.Env = buildEnvironment(d.Get("env").(map[string]string))
172+
cmd.Env = buildEnvironment(d.Get("env").(map[string]interface{}))
173+
cmd.Verbose = true
167174
return cmd.Run()
168175
}
169176

@@ -176,9 +183,11 @@ func resourceVagrantVMExists(d *schema.ResourceData, m interface{}) (bool, error
176183
return false, err
177184
}
178185

186+
log.Println("Getting vagrant status...")
179187
cmd := client.Status()
180188
cmd.Context = ctx
181-
cmd.Env = buildEnvironment(d.Get("env").(map[string]string))
189+
cmd.Env = buildEnvironment(d.Get("env").(map[string]interface{}))
190+
cmd.Verbose = true
182191
if err := cmd.Run(); err != nil {
183192
return false, err
184193
}
@@ -229,9 +238,11 @@ func buildId(info map[string]*vagrant.VMInfo) string {
229238
}
230239

231240
func readVagrantInfo(ctx context.Context, client *vagrant.VagrantClient, d *schema.ResourceData) error {
241+
log.Println("Getting vagrant ssh-config...")
232242
cmd := client.SSHConfig()
233243
cmd.Context = ctx
234-
cmd.Env = buildEnvironment(d.Get("env").(map[string]string))
244+
cmd.Env = buildEnvironment(d.Get("env").(map[string]interface{}))
245+
cmd.Verbose = true
235246
if err := cmd.Run(); err != nil {
236247
return err
237248
}
@@ -264,7 +275,7 @@ func readVagrantInfo(ctx context.Context, client *vagrant.VagrantClient, d *sche
264275
return nil
265276
}
266277

267-
func buildEnvironment(env map[string]string) []string {
278+
func buildEnvironment(env map[string]interface{}) []string {
268279
if len(env) == 0 {
269280
return nil
270281
}
@@ -275,5 +286,7 @@ func buildEnvironment(env map[string]string) []string {
275286
envArray[i] = fmt.Sprintf("%v=%v", key, value)
276287
i++
277288
}
289+
290+
log.Println("Environment:", envArray)
278291
return envArray
279292
}

0 commit comments

Comments
 (0)