Commit Graph

2134 Commits

Author SHA1 Message Date
Rickard von Essen 5cbc36103e Merge pull request #3756 from ricardclau/floppy_check
Test floppy disks actually exist
2016-09-12 08:05:16 +02:00
Scott Crunkleton b54b82d3ac Some googlecompute fixes and cleanup. Addresses https://github.com/mitchellh/packer/issues/3829. Changes:
- startup scripts don't run for Windows since it is isn't implemented yet.
- startup scripts use instance metadata instead of serial port output to flag when they are done.
- added licenses to Image data type (to check if an Image is a  Windows Image).
- added GetImage and GetImageFromProject to googlecompute Drivers.
- changed some of the builder/googlecompute tests to use github.com/stretchr/testify/assert.

Tests:
- (in the Packer directory) `go test .`, `go test ./builder/googlecompute`, and `go test ./post-processor/googlecompute-export`
- manual run of `packer build packer_template.json` with the following files

--packer_template.json--
{
  "builders": [
    {
      "type": "googlecompute",
      "account_file": "creds.json",
      "project_id": "google.com:packer-test",
      "source_image": "debian-8-jessie-v20160629",
      "zone": "us-central1-a",
      "startup_script_file": "startup_script.sh",
      "metadata": {
        "startup-script": "#!/bin/sh\necho \"This should be overwritten.\"",
        "startup-script-log-dest": "gs://packer-test.google.com.a.appspot.com/startup-script.log"
      },
      "image_name": "test-packer-modifications",
      "ssh_username": "foo"
    }
  ],
  "post-processors": [
    {
      "type": "googlecompute-export",
      "paths": [
        "gs://packer-test.google.com.a.appspot.com/foo.tar.gz",
        "gs://packer-test.google.com.a.appspot.com/bar.tar.gz"
      ],
      "keep_input_artifact": true
    }
  ]
}

--startup_script.sh--
\#!/bin/sh
echo "Hi, my name is Scott. I'm waiting 60 seconds!" >> /scott
sleep 60
echo "I'm done waiting!" >> /scott
2016-09-09 16:22:50 -07:00
Dan Peterson c7af9a67bc amazon/common/ssh: fix saving of instance to state
Fixes #3496
2016-09-09 10:16:53 -03:00
Rickard von Essen f446c1a1b7
builders/digitalocean: fixes timeout waiting for snapshot #3853 2016-09-08 10:32:43 +02:00
Rickard von Essen b2d9782a9e
Improved support for Amazon EC2 Container Registry - ECR
This adds support for authenticating towards ECR in the docker builder
and docker-push post-processor using them same mechanisms as in the
amazon builders. I.g. access key/secret key, credentials on file,
environment variables, sts tokens or IAM instance roles.
2016-09-04 14:33:47 +02:00
Jeremy Asher 1c392b23f9 generate warnings for unused options with from_scratch 2016-09-03 12:32:43 -07:00
Jeremy Asher ef0c7543e1 add amazon-chroot post mount commands
This adds an additional PostMountCommands step to the amazon-chroot
builder which executes after the volume is mounted, but before the
extra chroot mounts and copy step.
2016-09-03 12:32:41 -07:00
Jeremy Asher 5e8b697a76 add from_scratch option to amazon-chroot builder
This provides an alternate mode for the amazon-chroot builder which uses
a blank volume to build the image.  It adds StepPreMountCommands to
permit partitioning and format commands to be executed before mounting
the new volume.
2016-09-03 12:28:22 -07:00
Jeremy Asher 85ae04bb75 split up BlockDevices in amazon/common
This breaks up the two options provided by BlockDevices into separate
structs to allow only one of them to be used by the amazon-chroot
builder.
2016-09-03 09:58:45 -07:00
Chris Lundquist defdd1ecf3 Merge remote-tracking branch 'origin/master' into dynamic-source-ami 2016-09-02 01:43:03 +00:00
Rickard von Essen 16158622fe Merge pull request #3836 from mahcsig/3833-incorrect-ssh-port
Issue 3833 - fix for port error in PR 3347
2016-09-01 20:52:56 +02:00
jasminSPC d84b3af863 Fixed tests 2016-08-31 14:11:10 +02:00
jasminSPC 8f8907ee13 Merge remote-tracking branch 'upstream/master' into packer-builder-profitbricks 2016-08-31 13:56:51 +02:00
jasminSPC 5caa54acd7 Addressed all the comments 2016-08-31 13:55:11 +02:00
Rickard von Essen ba629922c6 Merge pull request #3662 from ryansb/boost-spot-bid
(AWS Spot) Add 0.5 cents to discovered spot price
2016-08-27 03:18:59 +02:00
Ingo Gottwald 0c1051a017 GCE builder: Switch to google.DefaultClient (#3655)
* GCE builder: Switch to google.DefaultClient

This enables authentication through an authenticated gcloud tool.

* GCE builder: Add docs about auth mech precedence
2016-08-27 03:12:55 +02:00
Marc Siegfriedt c1e129848c 3833 - fix for port in MR3347 2016-08-26 20:58:04 +00:00
Krzysztof Wilczynski d01fb65dcf Fix. Use temporary_key_pair_name when specified. (#3739)
Fix: Use temporary_key_pair_name when specified.

This is to fix an issue where the temporary_key_pair_name configuration option
for amazon-ebs and amazon-instance builders would be ignored and replaced with
an automatically generated value using UUID, even when the option was explicitly
specified.

Remove space from the auto-generated SSH key-pair name.

Resolves #3736
2016-08-25 09:17:57 +02:00
Lamoni Finlayson d02b106a16 Fix for issue #2972 - Implemented ssh_host for virtualbox builders (#3617) 2016-08-24 18:30:26 +02:00
Chris Lundquist 3cc8d35450 [dynamic-source-ami] fix old key name in error message 2016-08-21 00:58:01 +00:00
Chris Lundquist b4d20706ce [dynamic-source-ami] add some very basic tests 2016-08-21 00:29:51 +00:00
Chris Lundquist 57e7a1a3e6 [dynamic-source-ami] fix lint error 2016-08-21 00:07:58 +00:00
Chris Lundquist 95afaa58ca [dynamic-source-ami] rename to source_ami_filter 2016-08-20 23:34:22 +00:00
Chris Lundquist 0e248f1516 [dynamic-source-ami] make most_recent work 2016-08-20 23:08:45 +00:00
Chris Lundquist ec1abb9448 [dynamic-source-ami] proof of concept 2016-08-20 18:58:36 +00:00
Rickard von Essen 6cd7ad82bb Fixed dupliceted test 2016-08-19 14:34:24 +02:00
Rickard von Essen 3e1aed9a6f Enable to disable vnc password for VMware builder 2016-08-19 13:26:23 +02:00
Israel Shirk f961ce701b Adds password protection for VNC on VMWare 2016-08-19 13:26:16 +02:00
Jeremiah Roth 9489c83f0f If the VM has more than one NIC, loop through until we find one that works (#3347) 2016-08-19 13:23:43 +02:00
mahcsig 832d45023b Re-introduce case sensitive vmx key functionality (#2707)
Add case sensitive vmx key functionality
2016-08-19 13:23:07 +02:00
Dan Tran 4ac6e2a08c Dont check for poweron command error to force retry at state check (#3195) 2016-08-19 13:21:50 +02:00
Charlie Vieth 6ce847e720 Do not add remotedisplay.vnc.ip to vmx data on ESXi
* The remotedisplay.vnc.ip vmx data key breaks ESXi, this commit prevents it
  from being automatically added during VNC configuration when using the ESX5
  driver.

* It can still be configured via the vmx_data section of the builder
  template

Signed-off-by: Sunjay Bhatia <sbhatia@pivotal.io>
2016-08-19 13:19:04 +02:00
Charlie Vieth d14d62074e Add winrm functionality to vmware-iso builder (#3738)
* Use winrm_host, if provided, this allows packer to work in ESXi
environments without DHCP.

Signed-off-by: Charlie Vieth <cviethjr@pivotal.io>
2016-08-19 13:02:55 +02:00
crunk1 55b5a45ae4 Created googlecompute-export post-processor. Modified the googlecompute builder to pass a few configuration values to its resulting artifact. These values can then be used in googlecompute-export post-processor.
Added documentation and changed authentication stuff on temporary VM.
2016-08-15 14:36:26 -07:00
Toby Jaffey 37ef03c41c Use config StateTimeout for DigitalOcean unlock and off transitions. (#3444)
Use config StateTimeout for DigitalOcean unlock and off transitions.
When DigitalOcean's API is responding slowly, the hardcoded timeouts are too short.
2016-08-14 21:12:30 +02:00
Ben P 8ecbbe9037 backticks instead of $() for csh compatibility 2016-08-11 11:27:56 -07:00
Ben P 0d7937fce1 [docker] ls -A instead of * glob for copying paths 2016-08-11 18:03:48 +00:00
Jeremy Asher 6130b8588d remove check for AMIs when deleting vols
This removes the unnecessary check for AMIs before cleaning up volumes.
AMIs will exist on a successful run, but not when a build fails after
instance creation (during provisioning for example).  The following
check for instance being nil should be sufficient.
2016-08-08 14:16:43 -07:00
Eric Johnson 0e334e67be Merge pull request #3774 from evandbrown/google-external-ip-optional
builder/googlecompute: provision VM without external IP address
2016-08-02 15:39:01 -07:00
Evan Brown a5c598264f builder/googlecompute: Support provisioning VM without external IP address
This change adds an `omit_external_ip` configuration property that, when true,
will cause no external IP address to be associated with the Google Compute
Engine VM provisioned to create an image. When using `omit_external_ip`, you
must also set the `use_internal_ip` configuration property to true.

Addresses #3296
2016-08-02 13:43:04 -07:00
Christopher Boumenot ece0a78990 azure: tag all resources 2016-08-02 11:25:03 -07:00
jasminSPC e1aaef1f53 Fixed unit tests 2016-08-01 13:30:28 +02:00
jasminSPC a61716d4a4 Merge remote-tracking branch 'upstream/master' into packer-builder-profitbricks
# Conflicts:
#	Godeps/Godeps.json
2016-08-01 13:09:07 +02:00
jasminSPC 92e0f2bf4c Merge remote-tracking branch 'upstream/master' into packer-builder-profitbricks
# Conflicts:
#	Godeps/Godeps.json
2016-08-01 12:09:03 +02:00
Taliesin Sisson 1155c6d4d6 Use the correct fmt verb for log output 2016-07-31 19:46:38 +01:00
Taliesin Sisson a87ad05866 Add support for ctrl, shift and alt keys.
Add support for using ctrl, shift and alt as key modifiers. So you can now achieve ctrl+c by using "<leftCtrlOn>c<leftCtrlOff>".

Updated documentation for new key stroke tokens.
2016-07-31 19:05:10 +01:00
Ali Hamidi c6a527dc46 throw error if encrypted ami is shared 2016-07-29 15:01:24 -07:00
Ali Hamidi 1cecda639a add encrypted boot volume acceptance test 2016-07-29 15:01:24 -07:00
Ali Hamidi 902ae375b3 delete unencrypted snapshot 2016-07-29 15:01:24 -07:00
Ali Hamidi 53b3867c50 allow packer to create an encrypted copy of the AMI 2016-07-29 15:01:24 -07:00
Christopher Boumenot 871ca8c3d9 azure: Support for a user define VNET.
Two new configuration options have been exposed to allow users to specify
an existing virtual network: virtual_network_name and
virtual_network_resource_group_name.

 * virtual_network_name: name of the virtual network to attach a Packer VM
 to.

 * virtual_network_resource_group_name: name of the resource group that
 contains the virtual network.  This value is optional.  If the value is
 not specified, the builder queries Azure for the appropriate value.  If
 the builder cannot disambiguate the value, a value must be provided for
 this setting.

 * virtual_network_subnet_name: name of the subnet attached to the virtual
 network.  This value is optional.  If the value is not specified, the
 builder queries Azure for the appropriate value.  If the builder cannot
 disambiguate the value, a value must be provided for this setting.
2016-07-28 21:31:59 -07:00
Robert Heinzmann 3a700414ca Fix License check to work with licensed vmware player 2016-07-28 10:42:58 +02:00
Ricard Clau acededfc6e tests actually test the floppies 2016-07-27 21:59:21 +01:00
Robert Tarrall 94bf981d3b Honor ssh_private_ip flag in EC2-Classic, not just VPC
VpcId will be nil in Classic, but we may still wish to ssh to the
instance's private IP address -- if for example we are using security
groups to block SSH access via the public IP.
2016-07-26 08:15:44 -06:00
Scott Crunkleton 7190fbeed8 Adding support for googlecompute startup scripts.
- Startup scripts can be provided through the instance creation metadata field 'startup-script'.
- Script log can be copied to a GCS location by setting the metadata field 'startup-script-log-dest'.
Added Retry method to googlecompute package.
Added GetSerialPortOutput to googlecompute Drivers.
Added StepWaitInstanceStartup (and associated test) which waits for an
instance startup-script to finish.
Changed the instance service account to use the same service account as the one provided in the Packer config template. It was the project default service account.

Tested googlecompute package with 'go test' and also performed builds
with a startup script and without a startup script.
2016-07-20 14:54:36 -07:00
Christopher Boumenot 97b1915d51 Update Azure dependencies
* azure-sdk-for-go to 3.1.0-beta
 * go-autorest to 7.0.7
 * import dgrijalva/jwt-go at 3.0.0
2016-07-20 14:21:40 -07:00
Christopher Boumenot 323dc70ed6 Merge remote-tracking branch 'origin/master' into pr-3680-update-azure-sdk 2016-07-20 12:08:28 -07:00
Christopher Boumenot 6e9ef1c6eb Use WithBaseURI 2016-07-20 11:23:51 -07:00
Christopher Boumenot 7d259ab098 Update Azure dependencies.
* azure-sdk-for-go to 3.1.0-beta
 * go-autorest to 7.0.7
 * dgrijalva/jwt-go to 3.0.0

Add the German cloud configuration.
Ensure the different cloud URLs are _actually_ used.
2016-07-20 10:47:46 -07:00
Christopher Boumenot ddef181e76 Merge pull request #3724 from boumenot/pr-azure-lint
Azure: Lint issues
2016-07-19 12:31:23 -07:00
Chris Bednarski c0b637b0c5 Merge pull request #3733 from envato/no-shutdown-behaviour-instance-backed
No shutdown behaviour instance backed
2016-07-19 01:49:05 -07:00
Christopher Boumenot 408fe9bc18 Lint issues 2016-07-15 22:42:49 -07:00
Christopher Boumenot c575e60f67 Merge pull request #3693 from boumenot/pr-approvals
Update to an official version of Approvals
2016-07-15 21:34:24 -07:00
Christopher Boumenot e33a325323 Use VerifyJSONStruct 2016-07-15 21:31:03 -07:00
Christopher Boumenot c7262d6426 Ignore Created and Updated
The Azure response has changed, and is breaking the code's ability to
properly deserailize the response.
2016-07-15 21:06:03 -07:00
Christopher Boumenot 130cea91d4 Update to an official version of Approvals
The in-project version of Approvals has been moved to its own GitHub
project under the offcial umbrella.  This PR snaps to that version of the
code.an official version of Approvals

The in-project version of Approvals has been moved to its own GitHub
project under the offcial umbrella.  This PR snaps to that version of the
code.
2016-07-11 15:04:41 -07:00
jasminSPC fc4c88dc6d Fixed tests 2016-07-08 19:19:19 +02:00
jasminSPC dd8ce6a907 Merge remote-tracking branch 'upstream/master' into packer-builder-profitbricks 2016-07-07 10:29:25 +02:00
jasminSPC d575cd62ec Cleaned up the code 2016-07-07 10:28:46 +02:00
Ricard Clau 172a1c7a57 add source ami to output 2016-07-07 00:05:59 +01:00
Vasiliy Tolstov 83f175cac7 builder/qemu: dont fail on communicator - none
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-07-07 00:49:23 +03:00
Chris Bednarski ee5c5260a4 Merge pull request #3663 from liv3d/add_ap-south-1
Add support for ap-south-1 in AWS
2016-07-06 14:09:24 -07:00
Rickard von Essen cd0620d1f8 Merge pull request #3673 from rickard-von-essen/prl-support-future-ver
Support future versions of Parallels by using the latest driver
2016-07-06 22:58:01 +02:00
Christopher Boumenot 16c1abf1d4 Fix slow unit tests. 2016-07-06 11:06:52 -07:00
Chris Bednarski 443ffd68f2 Added explicit error when SG is not working 2016-07-02 15:48:51 -07:00
Rickard von Essen fb00d07d20 Support future versions of Parallels by using the latest driver
If the Parallels Desktop for Mac version is higher than the latest
Packer driver use the latest available driver. Before this Packer needed
to be updated with every new version of PD even if there was no change
to the driver.
2016-07-02 22:18:54 +02:00
Chris Bednarski a20d979eba Merge pull request #3656 from mlosapio/master
Added a hook to query the security groups before launching the instan…
2016-07-01 17:01:42 -07:00
jasminSPC e8be8d2f7b Added documentation
Removed unnecessary comments.
2016-07-01 14:28:29 +02:00
Dan Offord 4428079a68 Add support for ap-south-1 in AWS
Amazon recently announced support for ap-south-1 in Mumbai, adding this
to the list of known regions to Packer
2016-06-29 15:44:02 +01:00
Ryan S. Brown c68ddef4e9 (AWS Spot) Add 0.5 cents to discovered spot price
Related to #2979 , in volatile spot markets the automatic price can
cause your instances to be evicted if the spot price rises. This change
adds one half a cent to your bid to protect against small amounts of
price volatility.
2016-06-29 07:00:21 -04:00
jasminSPC df0298c9ae Packer Builder ProfitBricks 2016-06-29 04:35:41 +02:00
Christopher Boumenot 63edbd40ed Merge pull request #3659 from boumenot/pr-certificate-nil-ref
azure: handle non-OK responses for key vault
2016-06-28 17:42:25 -07:00
Christopher Boumenot fed72ded0d azure: handle non-OK responses for key vault
Check the response when fetching a secret from KeyVault.  Any non-OK (200)
are considered to be an error.  This will provide a more informed error
message for the user.
2016-06-28 17:20:15 -07:00
Chris Bednarski a65ff1db79 Merge pull request #3649 from curiositycasualty/if/issue-3592
Don't use invalid -q flag for qemu-img
2016-06-28 16:13:40 -07:00
Mike LoSapio 080806243e Added a hook to query the security groups before launching the instance - seems to catch the AWS eventual consistency nicely 2016-06-27 16:20:53 -04:00
Patrick Robinson 40bd45764c Only set InstanceInititatedShutdownBehavior on ebs instances 2016-06-27 10:28:54 +10:00
Isa 8e86308cb4 don't use invalid -q flag for qemu-img
fix lacking coma
2016-06-23 14:49:56 -07:00
Paul Meyer 163da48345 builder/azure-arm: Make tenant_id optional
Look up tenant id if not specified by the user
2016-06-23 10:23:09 -07:00
Paul Meyer d3d9307b31 Create TODO for Azure builder 2016-06-21 09:51:38 -07:00
Paul Meyer cb6db06d11 builder/azure: Delete readme
Duplicated in packer.io docs
2016-06-21 09:42:01 -07:00
Paul Meyer ee441366eb builder/azure: Remove extra polling code for deployments 2016-06-20 14:22:01 -07:00
Christopher Boumenot a010f80382 Check for nil when querying a certificate. 2016-06-16 09:45:07 -07:00
Chris Bednarski ab9621ab7d Added aws shutdown_behavior to the changelog 2016-06-14 14:34:01 -07:00
Patrick Robinson f361e1d894 Precompile regex 2016-06-14 14:29:10 -07:00
Patrick Robinson b1d6d28a90 Add unit tests for shutdown behaviour 2016-06-14 14:29:10 -07:00
Patrick Robinson a9f914ea97 Add shutdown_behaviour option
This means an instance will terminate upon shutdown.
2016-06-14 14:29:10 -07:00
Paul Meyer a788ea4d43 azure/builder: fix token validity test 2016-06-10 09:58:38 -07:00
Christopher Boumenot 6dda6f77d6 Add resource_group_name to test cases. 2016-06-09 10:17:49 -07:00
Christopher Boumenot 353ce2f2a6 Merge pull request #3575 from mitchellh/pr-custom-image-url
Implement support for custom images.
2016-06-09 09:47:18 -07:00
Paul Meyer 0c79293dde azure-arm: Validate that resource_group_name is being set 2016-06-09 01:00:23 -07:00
owjjh 658fadbc53 changing if conditionals to be ! instead of == false 2016-06-07 09:21:43 -04:00
owjjh d489ce9904 make fmt run 2016-06-06 14:37:09 -04:00
owjjh de5b69a8df Adding ability to skip region validation when using AWS 2016-06-06 14:17:12 -04:00
Christopher Boumenot 5950d3d92b Implement support for custom images. 2016-05-27 21:18:20 -07:00
Chris Bednarski d6b9978d0e Merge pull request #3565 from imduffy15/master
Allow configurable VNC bind IP for VMware builders
2016-05-25 11:27:38 -07:00
Chris Bednarski e13b7fbfcd Merge pull request #3566 from imduffy15/virtualbox
Allow configurable VRDP bind IP for VirtualBox builders
2016-05-25 11:27:29 -07:00
Ian Duffy fa273f3bea Allow configurable VNC bind IP for QEMU
This commit allows for a user configurable VNC bind IP to be used for
QEMU.

By default this will be 127.0.0.1, alternatively, a user can use
0.0.0.0 which will bind to all interfaces.

This pull request should satisfy concerns of #3570 and #3559. It is
also in-line with the functionality provided by #3566 and #3565

Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-05-25 10:10:12 +01:00
Chris Bednarski 42a9d9d5a1 Merge pull request #3352 from chalfant/disable-stop-instance
Disable stop instance
2016-05-24 15:40:54 -07:00
Ian Duffy 9ec319e296 Allow configurable VNC bind IP for VirtualBox builders
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-05-23 14:24:16 +01:00
Ian Duffy 0327f6c935 Allow configurable VNC bind IP for VMware builders
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-05-23 14:07:03 +01:00
Brian Candler 873760e69e Clarify how to run with logs if qemu fails to start (#3561) 2016-05-20 14:25:52 -07:00
Chris Bednarski 24cf28d4b6 Merge branch 'yoctocloud-accelerator' 2016-05-19 22:54:19 -07:00
Chris Bednarski bff939b373 Added comment on why we need to open /dev/kvm before using it 2016-05-19 22:53:53 -07:00
Chris Bednarski 45e6a238ff Merge pull request #3050 from andqui/master
vmware-iso-builder: Fix for non consequential if statement (failing ESXi iso builds).
2016-05-19 17:43:49 -07:00
Christopher Boumenot c1e7caf53c Validate capture variables to obey Azure's rules. (#3537) 2016-05-18 17:25:57 -07:00
Gonzalo Peci 9c9f8cd451 Add winrm functionality to null provisioner (#2525)
* Add new functions to communicator helper to return the user, password, host, based on the communicator used.

This implementation can help then generalize the provisioeners later on.

* Update null builder checks to utilize the new functions and check for ANY hostname or user or password

* Update builder to user any hostname
2016-05-18 17:22:53 -07:00
Vasiliy Tolstov 0f638f9111 builder/qemu: add simple kvm/tcg autodetection
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-05-18 15:38:38 +03:00
Sean Chittenden ef42021f8f Fix unit tests, broken in #3549. (#3548) 2016-05-17 15:42:15 -07:00
Chris Bednarski 5a5d59c2bd Merge pull request #3547 from sean-/f-debug-boot-commands
Debug boot commands for QEMU and Parallels
2016-05-17 14:32:09 -07:00
Christopher Boumenot 83e6044595 Documentation for the Azure builder. (#3518) 2016-05-17 14:15:24 -07:00
Sean Chittenden 98bae9c98e
Pause between boot_commands when debugging a QEMU build
When debugging a build (or maintaining an existing packer template), teach `packer build -debug` how to step through individual `boot_command`s in order to triage the packer template.
2016-05-17 17:14:50 -04:00
Sean Chittenden d0fd698fb5
Pause between boot_commands when debugging a Parallels build
When debugging a build (or maintaining an existing packer file), teach `packer build -debug` how to step through individual `boot_command`s in order to triage the packer template.
2016-05-17 17:10:10 -04:00
Christopher Boumenot 5484b9c7d0 Do not use a communicator for unit tests. (#3539) 2016-05-17 13:53:01 -07:00
Sean Chittenden 3ca4782b56
Pause between boot_commands when debugging a Virtualbox build
When debugging a build (or maintaining an existing packer file), teach `packer build -debug` how to step through individual `boot_command`s in order to triage the packer file.
2016-05-17 04:03:45 -04:00
Sean Chittenden 9b3f8a4be9
Pause between boot_commands when debugging a VMware build
When debugging a build (or maintaining an existing packer file), teach `packer build -debug` how to step through individual `boot_command`s in order to triage the packer file.

```
==> vmware-iso: Typing the boot command over VNC...
==> vmware-iso: Pausing after run of step 'boot_command[0]: <enter><wait>'. Press enter to continue.
==> vmware-iso: Pausing after run of step 'boot_command[1]: <enter><wait>'. Press enter to continue.
==> vmware-iso: Pausing after run of step 'boot_command[2]: freebsd-vagrant<enter><wait>'. Press enter to continue.
==> vmware-iso: Pausing after run of step 'boot_command[3]: <down><spacebar>'. Press enter to continue. ^C
```
2016-05-17 03:50:00 -04:00
Chris Bednarski 2f0e1218dc Move regexp to package scope so it will be validated by the compiler instead of at runtime 2016-05-13 15:37:25 -07:00
Peter Schultz a99a417db9 builder/googlecompute: validate image_family 2016-05-13 15:24:02 -07:00
Peter Schultz 8546aafec5 builder/googlecompute: support image family 2016-05-13 15:24:02 -07:00
Christopher Boumenot d40e115ad7 Only cleanup if necessary. (#3517)
Do not delete the resource group as part of cleanup unless it exists.
2016-05-09 14:19:55 -07:00
Christopher Boumenot a91156b134 Dump Azure configuration values.
Dump the top level variables in the config object. Any values with
'secret' or 'password' in the name are masked.
2016-05-06 23:14:18 -07:00
Chris Bednarski 5ed3c8d563 Updated license information to reference builder/azure 2016-05-06 20:32:18 -07:00
Christopher Boumenot c7018a00c8 Add support for Windows to Azure.
This is last merge that will happen from the github.com/Azure/packer-Azure
repository.  All development is being over to this repository.

The biggest change in this merge is support for Windows.  There are a few other
fixes as well.

 * If the user cancels the build, clean up any resources.
 * Output a reasonable build artifact.
 * Log requests and responses with Azure.
 * Support for US Government and the China clouds.
 * Support interrupting long running tasks.
 * Allow the user to set the image version.
 * Device login support.
2016-05-05 13:40:17 -07:00
Christopher Boumenot 2d1347c1ec Insert Packer's version into the User Agent. (#3465) 2016-05-05 13:10:55 -07:00
Hao 5139b853fa privilege enabled docker container (#3475)
Issue #2724
2016-04-29 19:12:20 -07:00
Billie H. Cleek 165ec694ab fix docker builder with ansible provisioner
Refactor the docker builder so that it does not expect output from the
container to be strictly line oriented or even text, because SFTP, used by
Ansible, is a binary protocol. Since `docker exec` was introduced in 2014,
remove support for older versions of docker that required using `docker
attach`. The old notes in the docker builder referring to specific issues have
all been resolved or else closed because they could not be reproduced.
2016-04-27 13:54:40 -07:00
Christopher Boumenot bbf286dcbe Fix go fmt issues. (#3463) 2016-04-22 10:44:54 -07:00
Chris Bednarski d7cfd5d01c Remove explicit boolean comparison 2016-03-17 14:14:03 -07:00
kopernikus 84bd2ff754 option to keep the VM registered with esxi 2016-03-16 23:17:35 +01:00
Chris Chalfant 601b833aaa style and documentation changes per PR review comments 2016-03-15 08:01:20 -04:00
Chris Bednarski 133048e86e Update LICENSE notice 2016-03-14 20:08:36 -07:00
Chris Bednarski 17c365e45f Added MIT license 2016-03-14 20:08:35 -07:00
Chris Bednarski 5b5888b230 Initial import of Microsoft contributed code 2016-03-14 20:08:35 -07:00
Chris Chalfant 8163e16e02 gofmt code 2016-03-14 13:49:42 -04:00
Chris Chalfant 72a7123a0b Add option to tell packer not to stop the instance
It is sometimes desirable to sysprep a windows machine before creating
an EC2 image. The AWS-approved way to do this is to run
ec2configservice.exe -sysprep and let ec2configservice shut down the instance.
This change adds an option to disable the stop instance call issued by packer
so that the user can control when the machine is stopped.
2016-03-14 12:54:03 -04:00
Chris Bednarski 1b1bbb604e Merge branch 'googlecompute-disk-type' of https://github.com/meatballhat/packer into f-google-disk-type 2016-03-10 14:51:30 -08:00
Vasiliy Tolstov e5276b31a3 fix assign to driveArgs
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-03-01 21:15:51 +00:00
Chris Bednarski fee00baf6a Revert "close #3192"
This reverts commit 3b8f0023e5.
2016-02-29 13:51:47 -08:00
Vasiliy Tolstov 3b8f0023e5 close #3192
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-26 14:05:43 +00:00
Rickard von Essen 46f74d8347 Parallels: Support relative paths in output_directory
Fixes #3238
2016-02-21 16:52:51 +01:00
Rickard von Essen 88a84f5fb2 Merge pull request #3209 from rickard-von-essen/openstack-get-password
Get admin password of booted instance when using WinRM
2016-02-20 10:29:38 +01:00
Chris Bednarski d0ab8658bc Create a session for EC2RoleProvider; prevents crash; fixes #3123 2016-02-19 17:10:05 -08:00
Nathan Mische 335a2010bf Moving SSH IP version validation to prepare function. 2016-02-17 10:52:29 +01:00
Nathan Mische 8396a2db1e Adding ability to select IP version for SSH connections to OpenStack instances. Addresses #3047 2016-02-17 10:28:18 +01:00
Rickard von Essen 32bbe55f2b Merge pull request #3208 from rickard-von-essen/openstack-messages-ssh
OpenStack: Change some log messages about SSH to connect.
2016-02-16 11:17:03 +01:00
Rickard von Essen 5368697413 Get admin password of booted instance when using WinRM
Fixes #2663
2016-02-16 11:06:22 +01:00
Rickard von Essen c3bc87cb71 OpenStack: Change some log messages about SSH to connect. 2016-02-16 10:55:21 +01:00
James Bishopp bd8fb014c4 Removed ssh_key_path
- removed backwards compatibility code
- ensured key usage came from SSHPrivateKey configuration
- changed tests to use private_key
2016-02-12 17:24:42 -08:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Dan Sedlacek 279555b8e1 Added ability to see what SSH Port packer generated in template data 2016-02-12 11:39:08 -08:00
Chris Bednarski 4458de4ea0 Reformat 2016-02-11 23:53:40 -08:00
Chris Bednarski 765ec5cf39 Merge pull request #2962 from dave2/postprocess_amazon_ova
New post-processor: amazon-import
2016-02-11 23:38:15 -08:00
Ian Duffy c4b64eb2c7 Closes #2637 - VRDP support for the virtualbox plugin
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-02-11 14:38:24 -08:00
Matt Morrison daf57c7632 Add tests and documentation for subnetwork attribute 2016-02-11 21:54:48 +13:00
Matt Morrison 942aaa7a85 Add support for Google subnetworks. Closes #3062. Fixes an issue with how packer populates instances metadata. Closes #3181 2016-02-11 17:31:46 +13:00
Andrew Starr-Bochicchio 6d31470757 Look up snapshot ID based by Droplet, not user. 2016-02-09 11:29:06 -05:00
Rickard von Essen e1c470db80 Merge pull request #3135 from rickard-von-essen/issue-2526
OpenStack: convert SSH keys from BER to DER with OpenSSL, work around…
2016-02-09 13:10:04 +01:00
Rickard von Essen 6855c480ad OpenStack: convert SSH keys from BER to DER with OpenSSL, work around for GH-2526.
Try to parse the temporary keypair received from OpenStack, if it fails
try to use OpenSSL to convert it from BER encoding to DER.
2016-02-09 12:50:00 +01:00
Vasiliy Tolstov ec4e95493d builder/digitalocean: add ability to specify api url
This is useful in case of using DigitalOcean compatibility api hosting.

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-06 14:15:32 +00:00
Chris Bednarski 6c35f44104 Merge pull request #3129 from vtolstov/wait
builder/qemu: allow to specify time.Duration in special <wait> command
2016-02-04 17:16:07 -08:00
Chris Bednarski 358b5c62e2 Merge pull request #3143 from ThatGerber/iam-roles
IAM CLI Profile/Assume Role Support
2016-02-04 16:47:09 -08:00
Christopher Gerber e7711c31ea Wrong function to convert int to string. 2016-02-04 16:18:57 -06:00
Christopher Gerber b75d561c56 Fixes more windows testing errors.
"constant 9999999999 overflows int" running test on CI server. Replaced with timestamp to unixnano
2016-02-04 16:12:18 -06:00
Christopher Gerber d25ba245f4 Fixes bytes to string issues in Windows build. 2016-02-04 16:05:49 -06:00
Christopher Gerber a6aefa859f Fixes issue in build where multiple processes were trying to access the same file. 2016-02-04 15:39:54 -06:00
Christopher Gerber 6c3e0daf24 Added tests. Updated CLIConfig to pass tests. 2016-02-04 14:56:22 -06:00
Rickard von Essen 2155576fd6 Merge pull request #2751 from rickard-von-essen/prl_deprecations
Remove deprecated parallels_tools_host_path and guest_os_distribution
2016-02-04 20:21:59 +01:00
Chris Bednarski e6b6f0b020 Merge pull request #2539 from fnoeding/amazon-ebs-fix-ec-user-data-encoding
amazon builder: always base64 encode ec2 user data
2016-02-03 16:47:01 -08:00
Christopher Gerber f1ae2a2b5a Moved assume credentials to CLIConfig. Added new functions and methods to CLIConfig. Ran gofmt. 2016-02-03 15:53:01 -06:00
Chris Bednarski 951a7e8ad3 Merge pull request #2596 from manicai/master
Fix for #2496 AWS credentials for instance based AMIs
2016-02-03 12:45:51 -08:00
Christopher Gerber 4cf9e36085 Changes credential/config file opener to use homedir instead of HOME environmental variable. 2016-02-03 10:43:48 -06:00
Chris Bednarski 24dc798cfb Revert "Prevalidate Hardware Specs on Linux"
This reverts commit eda84cb2d3.
2016-02-02 12:41:43 -08:00
Chris Bednarski 6504f4f777 Revert "Only validate vmware resources on local hosts"
This reverts commit f01578c91e.
2016-02-02 12:41:42 -08:00
Chris Bednarski 7ad2104c7f Revert "Correctly call prepare function in test"
This reverts commit 6e8bfd3ce9.
2016-02-02 12:41:37 -08:00
Christopher Gerber 7975c5e336 Move CLIConfig instantiation inside of ProfileName check. 2016-02-02 08:36:36 -06:00
Vasiliy Tolstov 2104fcec69 builder/qemu: allow to specify time.Duration in special <wait> command
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-02 09:13:37 +00:00
Christopher Gerber 883acb18fa IAM Role Switching
Adds initial IAM Role Switching support and support for AWS CLI Credential and Config files.

See: https://github.com/mitchellh/packer/issues/3109
2016-02-01 18:55:59 -06:00
Rickard von Essen fd6282529c Remove deprecated parallels_tools_host_path and guest_os_distribution 2016-02-01 12:25:01 +01:00
Chris Bednarski 2dd8ad9449 Merge pull request #2577 from cybercom-finland/os_source_image_name
Support source_image_name in OpenStack builder
2016-01-28 15:40:13 -08:00
Chris Bednarski 4490826a17 Merge pull request #3040 from kimor79/3011
Add mount_partition option to amazon-chroot builder
2016-01-25 22:08:07 -08:00
Chris Bednarski ffb85f6ea5 Merge pull request #3096 from grubernaut/f-resource-limits
Prevalidate Hardware Specs on Linux
2016-01-25 21:06:14 -08:00
Jake Champlin 6e8bfd3ce9 Correctly call prepare function in test 2016-01-25 12:54:15 -05:00
Jake Champlin f01578c91e Only validate vmware resources on local hosts
Disable resource validation when `remote_type` is specified
2016-01-25 12:01:56 -05:00
Vasiliy Tolstov d96283e475 qemu: allow to use live iso without cache
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-01-25 10:44:42 +00:00
Chris Bednarski b7ba9a507d Merge pull request #3041 from msabramo/GH-3038_openstack_builder_auto_set_image_type_to_image
openstack builder: Set image_type to "image"
2016-01-21 18:39:08 -08:00
Jake Champlin eda84cb2d3 Prevalidate Hardware Specs on Linux
Prevalidates hardware resources on Linux platforms for Virtualbox and
VMware builders. This is currently only available on Linux, as enabling
for both Darwin and Windows platforms, relies on cgo bindings that would
prevent effective cross-compilation.

Packer will now fail to build and validate templates if the template is
requesting that the VM to be created would allocate more system
resources than the host system has available.

This _however_ doesn't catch parallel builds that overflow the hosts
resources, will probably still need a better error message for VM's
failing to boot in that case.

Example Outputs:

```
$ $GOPATH/bin/packer build -debug ./vmware-iso.json
Debug mode enabled. Builds will not be parallelized.
vmware-iso output will be in this color.

2 error(s) occurred:

* Unavailable Resources: RAM - Requested - 204800000MB - Available 21721MB
* Unavailable Resources: Disk - Requested - 4000000000MB - Available 76701MB
```

```
$ $GOPATH/bin/packer build -debug ./vbox-iso.json
Debug mode enabled. Builds will not be parallelized.
virtualbox-iso output will be in this color.

2 error(s) occurred:

* Unavailable Resources: RAM - Requested - 10240000MB - Available 21721MB
* Unavailable Resources: Disk - Requested - 1000000000MB - Available 76701MB
```
2016-01-21 18:19:11 -05:00
Chris Bednarski 9358e8c355 Merge branch 'hotfix/rearrange_vmx_cleanup' of https://github.com/israelshirk/packer into b-2709 2016-01-21 13:36:02 -08:00
Chris Bednarski 1a5d5acea4 Merge pull request #2737 from jen20/ebs-volume-tags
Tag EBS volumes with volume_tags in EBS builder
2016-01-21 13:29:49 -08:00
Chris Bednarski db0e098800 Merge pull request #2750 from rickard-von-essen/issue-2743
Fixes #2743: Change log messages for step_forward_ssh
2016-01-21 13:28:44 -08:00
Chris Bednarski d6c02f5aeb Change test to use something that looks like a real region code 2016-01-21 11:29:39 -08:00
Chris Bednarski d6fad30162 Merge pull request #2955 from yayugu/feature/ami_product_codes
Add AMI Product Codes modification for amazon-ebs & amazon-chroot
2016-01-20 09:13:09 -08:00