Cheng Sun
b433754c83
Factor out common port-finding code
...
Fixes bug where we would infinite-loop trying to find an HTTP server
port when all ports were unavailable (e.g. range [80,80] and no root
permission)
Also fixes bug where SSH port forwarding would try ports up to but not
including HostPortMax.
Also add clarification in error messages for which port range to expand
2014-12-10 16:18:54 +00:00
Cheng Sun
602255e9c1
Add keep_instance parameter
...
Determines when to keep the VM instance and when to clean it up
Can be one of "always", "never" (default), "on_success"
2014-12-10 12:32:41 +00:00
Cheng Sun
97ca6d5cab
Also close listener connection when port forwarding fails
...
Follow-up to 97df6fd283
that actually fixes the "Waiting for SSH" hang
2014-12-10 12:31:02 +00:00
Cheng Sun
649798b4ac
Separate config defaults from validation
2014-12-10 11:22:31 +00:00
Cheng Sun
a9fb6532ae
Improve HIMN IP-finding error handling
...
Previous code could dereference nil if there was no error, but an
empty IP was found
2014-12-10 10:41:59 +00:00
Cheng Sun
ca80e009db
Fix typo
2014-12-10 10:15:33 +00:00
Cheng Sun
97df6fd283
Close SSH connections once we're done with them
...
Fixes "Waiting for SSH" hang at end of install
2014-12-09 17:44:21 +00:00
Cheng Sun
1450fd0568
Clean up VM instance and root VDI
2014-12-09 16:40:32 +00:00
Cheng Sun
acd16bb984
Make HIMN IP finding and ping interruptible
2014-12-09 16:32:37 +00:00
Cheng Sun
c75b4555cc
Make boot_wait interruptible
2014-12-09 16:32:37 +00:00
Cheng Sun
ba7c5ddcd2
interruptible_wait: allow nil Predicate
...
Allow for the case where InterruptibleWait is used purely for the
timeout.
See the documentation string for details.
2014-12-09 16:32:37 +00:00
Cheng Sun
651274e508
interruptible_wait: evaluate Predicate immediately
...
Previous behaviour was to wait PredicateInterval before the first
time that the Predicate is evaluated
2014-12-09 16:32:37 +00:00
Cheng Sun
94dcf160df
Don't close session twice
2014-12-09 16:32:37 +00:00
Cheng Sun
8a41cc693a
Add more error handling
2014-12-09 14:02:48 +00:00
Cheng Sun
70e57a2d66
Add error handling to step_wait
2014-12-09 11:48:10 +00:00
Cheng Sun
c88168f4ba
Replace all Fatal calls with Error calls
2014-12-09 11:48:07 +00:00
Cheng Sun
efbc365b6d
fmt step_wait, interruptible_wait
2014-12-09 11:18:35 +00:00
Cheng Sun
cadf3a5d6a
Add install_timeout to stop build if step_wait takes too long
...
Halts the build when the VM does not shutdown within the timeout period
Implemented with interruptible_wait, so step_wait is also interruptible
2014-12-09 10:48:34 +00:00
Cheng Sun
1dd963278f
Add generic interruptible wait method
2014-12-09 10:45:52 +00:00
Cheng Sun
d9757f2c38
Revert "Add a pause to ensure SSH has a chance to start. This is a tempoary workaround for the fact that the SSH tunnel code will cause packer to halt if the destination does not exist."
...
This reverts commit fd35d7c984
.
2014-12-09 10:45:52 +00:00
Cheng Sun
6071be1572
Don't create Artifact if there were errors
...
Prevents nil-dereference crash when errors occur
2014-12-09 10:45:52 +00:00
Cheng Sun
1de826270c
Capitalise SSHWaitTimeout for consistency
2014-12-08 16:12:18 +00:00
Cheng Sun
ee0d6d38e0
Replace reflect with type assertion
2014-12-08 16:01:12 +00:00
Cheng Sun
e6e8855da4
Use log.Printf instead of log.Fatalf
2014-12-08 15:56:10 +00:00
Cheng Sun
91c1326bc4
Cosmetic: fix typo in log message
2014-12-08 15:37:36 +00:00
Cheng Sun
2dbe047d45
Cosmetic: go fmt
2014-12-08 15:36:38 +00:00
Rob Dobson
fd35d7c984
Add a pause to ensure SSH has a chance to start. This is a tempoary workaround for the fact that the SSH tunnel code will cause packer to halt if the destination does not exist.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-24 18:16:56 +00:00
Rob Dobson
8bf2609a7f
Adding static memory config to the template.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-21 17:49:25 +00:00
Rob Dobson
4dd435dafe
Adding defaults for Clone template, Network and Storage to avoid having to configure it in the packer file.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-21 17:49:24 +00:00
Rob Dobson
6538c248fd
Add a wait for the VM to boot properly.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-20 18:54:23 +00:00
Rob Dobson
d64357bc71
Skip the uploading ISO step for the moment until it is fully implemented.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-20 18:53:05 +00:00
Rob Dobson
d0dd202829
Remove old file.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-18 18:49:22 +00:00
Rob Dobson
269ec2f3c9
Switch to using a combination of the GetVNCPort step and the ForwardPortOverSSH step.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-18 18:49:02 +00:00
Rob Dobson
16a8be4fb0
Reduce the VNC port step to just obtaining the correct port number. Use the port forward step to simplify the code.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-18 18:47:50 +00:00
Rob Dobson
b61adffc01
Remove the sleep.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-18 18:47:08 +00:00
Rob Dobson
bc3d792341
Adding extra messaging.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-18 18:46:49 +00:00
Rob Dobson
f40ab554c0
Use the Host Internal Management interface to retrieve an instances IP as opposed to relying on the tools being installed.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-18 18:18:39 +00:00
Rob Dobson
4d961011fa
Fix invalid cast.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-14 18:25:22 +00:00
Rob Dobson
f282a95bf8
Including fatal log of API error description.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-14 18:25:01 +00:00
Rob Dobson
4d634aaf70
Initial plugin for building XenServer images using Packer.IO
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-10 18:16:02 +00:00
Rob Dobson
56820d268c
Adding initial barebones for the xenserver packer plugin.
...
Signed-off-by: Rob Dobson <rob.dobson@citrix.com>
2014-11-05 09:35:34 +00:00