Commit Graph

101 Commits

Author SHA1 Message Date
Cheng Sun
16f8c25d84 Fix shutdown_command bug
Fixes the somewhat embarrassing bug where the shutdown_command would be
run on the host rather than the guest.

This commit also rejigs things so that it is easier to do SSH commands
on either the host or the guest
2015-01-02 16:55:43 +00:00
Cheng Sun
d2b7f3a7d8 Add build dirs to gitignore 2015-01-02 16:55:43 +00:00
Cheng Sun
27819cd51f Find local IP automatically 2015-01-02 16:55:43 +00:00
Cheng Sun
d619e751e3 Update README build instructions 2015-01-02 16:55:43 +00:00
Cheng Sun
f0149fa495 Update build script
Adapted from Packer's build script
2015-01-02 16:55:43 +00:00
Cheng Sun
fc03c2010f Workaround xapi bug in Task.GetResult
xapi currently sends us an xmlrpc-encoded string via xmlrpc.
This seems to be a bug. Remove this workaround when it's fixed
2015-01-02 16:55:43 +00:00
Cheng Sun
0cb3aff4e8 Fix Task.GetErrorInfo typecast crash 2015-01-02 16:55:43 +00:00
Cheng Sun
201a9be4a8 Set default VM name to packer-BUILDNAME-TIMESTAMP 2015-01-02 16:55:43 +00:00
Cheng Sun
cd1875019d Prefix remote_ for all host config 2015-01-02 15:11:27 +00:00
Cheng Sun
462082bee8 Initial work on XVA import 2015-01-02 15:11:27 +00:00
Cheng Sun
396a8de131 Add task GetResult method 2015-01-02 15:11:23 +00:00
Cheng Sun
4efd1029a2 Abstract out http PUT 2014-12-31 16:09:23 +00:00
Cheng Sun
2ce67b0465 Rename logIteration 2014-12-31 16:09:23 +00:00
Cheng Sun
152bdee7f2 Initial work on splitting ISO and XVA builders
Compiles -- but xva create_instance is incomplete

Several changes were rolled into this commit, including:

- "export_format" is now "format", and "keep_instance" is "keep_vm"
- gox is used for building (with the intention of allowing
  cross-compilation in the future)
2014-12-31 16:09:23 +00:00
Cheng Sun
4c4ba3026b Add builder config test
Borrowed from virtualbox builder test
2014-12-29 18:12:01 +00:00
Cheng Sun
216eb2aab5 Fix enum types 2014-12-29 18:12:01 +00:00
Rob Dobson
29f79d24de Merge pull request #9 from chengsun/master
ISO upload, floppy and tools support, compatibility fixes
2014-12-19 17:05:44 +00:00
Cheng Sun
30c4c8001f Don't explicitly remove ISOs in step_remove_devices 2014-12-19 14:10:59 +00:00
Cheng Sun
b9a7feb225 Rename instance_memory to vm_memory
Note that vm_memory is now in MB; instance_memory was in bytes
SetStaticMemoryRange now takes int64
Fixed example
2014-12-19 12:50:23 +00:00
Cheng Sun
2e1f94e831 Rename instance_name to vm_name
Fixed example
2014-12-19 12:50:22 +00:00
Cheng Sun
987a5ac55e Rename root_disk_size to disk_size
CreateVdi now takes an integer size
Note that disk_size is now in MB; root_disk_size was in bytes
Fixed example
2014-12-19 12:50:22 +00:00
Cheng Sun
e308c0759f VDI upload, floppy and tools support
This commit add new VDI steps named step_{attach,detach,find,upload}_vdi
  - attach/detach are self-explanatory; can specify CD or Floppy
  - find finds a VDI by name-label and stores the uuid
  - upload uploads a VDI from a local disk image and stores the uuid

In order to demonstrate the new VDI code, this commit trivially adds:
  - support for uploading ISOs again (dependent on unmerged XAPI patch)
  - initial floppy upload/attach support (dependent on currently-broken
    XAPI patch)
  - initial XenServer Tools support
2014-12-19 12:46:36 +00:00
Cheng Sun
313f5a7354 Add Task class to xapi client 2014-12-19 12:43:58 +00:00
Cheng Sun
5cb0a0955b Add Floppy ConnectVdi type 2014-12-18 16:08:52 +00:00
Cheng Sun
31acbe6508 Fix error message typo 2014-12-17 18:48:19 +00:00
Cheng Sun
f101aa8511 step_start_vm_paused: cleanup forces VM shutdown
This allows steps between create_instance and start_vm_paused to assume
that the VM is shut down when cleaning up
2014-12-17 18:48:19 +00:00
Rob Dobson
b67b96c82a Merge pull request #8 from chengsun/master
More bug fixes
2014-12-15 21:45:03 +00:00
Cheng Sun
2a4ce52eaa Abstract out GetSR 2014-12-15 15:02:42 +00:00
Cheng Sun
b73cbc1230 Be less verbose when waiting for install to complete 2014-12-15 15:02:42 +00:00
Cheng Sun
b7081f238f Check for error in downloading exported XVA/VDI 2014-12-15 12:17:12 +00:00
Cheng Sun
dfa9d63097 Always fetch a new VM instance from UUID for consistency 2014-12-15 12:17:12 +00:00
Cheng Sun
5e87812ecf Split step_remove_devices out of step_wait 2014-12-15 12:17:12 +00:00
Cheng Sun
c392b5499e interruptible_wait: check for interruption immediately
Akin to 651274e508
2014-12-12 16:11:40 +00:00
Cheng Sun
03e3a7ad85 Fix xva export query string 2014-12-12 12:42:35 +00:00
Cheng Sun
c27e845d1a Add optional shutdown_command parameter
Allow graceful shutdown on VMs that don't support it
2014-12-12 12:42:35 +00:00
Cheng Sun
6df01a0f40 Reduce VNC typing delay 2014-12-12 12:42:35 +00:00
Cheng Sun
41c5930cde Check for empty iso name 2014-12-12 12:42:35 +00:00
Cheng Sun
c2c133c605 Add Name to template for boot command 2014-12-12 12:42:35 +00:00
Rob Dobson
85e3b00e5a Merge pull request #7 from chengsun/master
Improvements and bug fixes
2014-12-11 18:20:13 +00:00
Cheng Sun
971ab83376 Fix comment typo 2014-12-11 15:40:16 +00:00
Cheng Sun
13ca6ef95b export_format: allow export format to be configured
"export_format" can be one of "xva" (default), "vdi_raw"
2014-12-11 14:30:51 +00:00
Cheng Sun
322817e827 Fix export UUID 2014-12-11 14:19:28 +00:00
Cheng Sun
783eee0a39 Add user variables to template processor 2014-12-11 12:28:25 +00:00
Cheng Sun
6180bd1ca5 Add keep_instance to example config 2014-12-10 18:32:27 +00:00
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
Rob Dobson
25a2200f50 Merge pull request #6 from chengsun/master
Fixing up a lot of the ignored error handling.
2014-12-10 10:29:25 +00:00