Skip to content

Commit 0f7e7f5

Browse files
authored
Refresh ip only running vms (#66)
* Add always run scripts - Added the ability to set a post_processor_script to always run on update - Fixed some issues where in some cases the update would but the vm in the wrong state - Fixed an issue where some errors would bring a nil pointer - Added an option to wait for network before querying to the datasource vm - Added a retry mechanism to attempt to get the internal ip on create/update * fix the documentation * Refresh ip only when vms are running - Added a fix to only check for ip changes when VMs are running
1 parent 05594a1 commit 0f7e7f5

File tree

4 files changed

+43
-1
lines changed

4 files changed

+43
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ FEATURES:
1515
- Fixed some bugs
1616
- Added the ability to register a deployment with a orchestrator
1717
- Added the ability to run prlctl commands
18-
- Added the ability to run a script on destroy
18+
- Added the ability to run a script on destroy it

internal/clone_vm/resource.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,13 @@ func (r *CloneVmResource) Create(ctx context.Context, req resource.CreateRequest
340340
externalIp = refreshVm.HostExternalIpAddress
341341
internalIp = refreshVm.InternalIpAddress
342342
}
343+
344+
if refreshVm.State != "running" {
345+
externalIp = refreshVm.HostExternalIpAddress
346+
internalIp = "-"
347+
break
348+
}
349+
343350
if internalIp != "" {
344351
time.Sleep(5 * time.Second)
345352
break
@@ -687,6 +694,13 @@ func (r *CloneVmResource) Update(ctx context.Context, req resource.UpdateRequest
687694
externalIp = refreshVm.HostExternalIpAddress
688695
internalIp = refreshVm.InternalIpAddress
689696
}
697+
698+
if refreshVm.State != "running" {
699+
externalIp = refreshVm.HostExternalIpAddress
700+
internalIp = "-"
701+
break
702+
}
703+
690704
if internalIp != "" {
691705
time.Sleep(5 * time.Second)
692706
break

internal/remoteimage/resource.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,13 @@ func (r *RemoteVmResource) Create(ctx context.Context, req resource.CreateReques
378378
externalIp = refreshVm.HostExternalIpAddress
379379
internalIp = refreshVm.InternalIpAddress
380380
}
381+
382+
if refreshVm.State != "running" {
383+
externalIp = refreshVm.HostExternalIpAddress
384+
internalIp = "-"
385+
break
386+
}
387+
381388
if internalIp != "" {
382389
time.Sleep(5 * time.Second)
383390
break
@@ -755,6 +762,13 @@ func (r *RemoteVmResource) Update(ctx context.Context, req resource.UpdateReques
755762
externalIp = refreshVm.HostExternalIpAddress
756763
internalIp = refreshVm.InternalIpAddress
757764
}
765+
766+
if refreshVm.State != "running" {
767+
externalIp = refreshVm.HostExternalIpAddress
768+
internalIp = "-"
769+
break
770+
}
771+
758772
if internalIp != "" {
759773
time.Sleep(5 * time.Second)
760774
break

internal/vagrantbox/resource.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,13 @@ func (r *VagrantBoxResource) Create(ctx context.Context, req resource.CreateRequ
322322
externalIp = refreshVm.HostExternalIpAddress
323323
internalIp = refreshVm.InternalIpAddress
324324
}
325+
326+
if refreshVm.State != "running" {
327+
externalIp = refreshVm.HostExternalIpAddress
328+
internalIp = "-"
329+
break
330+
}
331+
325332
if internalIp != "" {
326333
time.Sleep(5 * time.Second)
327334
break
@@ -667,6 +674,13 @@ func (r *VagrantBoxResource) Update(ctx context.Context, req resource.UpdateRequ
667674
externalIp = refreshVm.HostExternalIpAddress
668675
internalIp = refreshVm.InternalIpAddress
669676
}
677+
678+
if refreshVm.State != "running" {
679+
externalIp = refreshVm.HostExternalIpAddress
680+
internalIp = "-"
681+
break
682+
}
683+
670684
if internalIp != "" {
671685
time.Sleep(5 * time.Second)
672686
break

0 commit comments

Comments
 (0)