Commit Graph

2820 Commits

Author SHA1 Message Date
Arjen Schwarz f43f3155d4
Remove breaking debug statement 2017-11-10 11:04:31 +11:00
Matthew Hooker f146e5903f
Merge pull request #5567 from bennu/vm-template-with-export-vm
enable vsphere-template post processor to work with export behavior
2017-11-09 15:24:41 -08:00
SwampDragons e5c59468df
Merge pull request #5343 from evandbrown/pr-googlecompute-subnetworks
Interpolate network and subnetwork values
2017-11-09 12:10:41 -08:00
SwampDragons aae324e4e7
Merge pull request #5562 from hashicorp/fix5558
don't set region from metadata if profile is set.
2017-11-09 10:22:15 -08:00
Arjen Schwarz 0e706320ad
Issue #5045 - Add build_resource_group_name
* Created a new parameter for using existing resource groups
* Implemented logic to ensure temp_ and build_ can't both be used
* Implemented logic to ensure they can only be used in correct context
* Implemented tests for this logic
* Updated where required to ensure the process works
2017-11-09 22:20:09 +11:00
bugbuilder 23f4d187e2 validating keep_registered and fixing skip_export issues 2017-11-08 15:57:34 -03:00
stack72 450a233303 builder/triton: Wait for ImageCreation State
A bug was reported to Joyent, that sometimes packer UI reports that an image was created but it wasn't actually available in Triton for use. We believe that there was a bug uploading that image to Manta but that the metadata of the image was already populated and thus packer was reporting success as it was just checking for the metadata presence

This PR changes Packer to wait for the state of the image to be `active` to make sure that it has fully uploaded and is ready for use

```
==> triton: Stopping source machine (61647c3c-f2bf-4e30-b4bc-f076d3b01522)...
==> triton: Waiting for source machine to stop (61647c3c-f2bf-4e30-b4bc-f076d3b01522)...
==> triton: Creating image from source machine...
==> triton: Waiting for image to become available...
==> triton: Deleting source machine...
==> triton: Waiting for source machine to be deleted...
Build 'triton' finished.

==> Builds finished. The artifacts of successful builds are:
--> triton: Image was created: c2537582-34c7-42ea-bd11-b6ed499d5831
```
2017-11-08 16:38:04 +02:00
Chris Lundquist d00f884e71
Merge pull request #5530 from BaxterStockman/lxc-builder-cli-options
Add options to LXC builder for influencing for how containers are built and started
2017-11-07 22:32:17 -08:00
Matthew Hooker 0a24f4eb2e
don't shadow package name 2017-11-07 16:05:43 -08:00
Matthew Hooker f681faa296
fix tests 2017-11-07 14:57:10 -08:00
Matthew Hooker 545ee45567
debug region we found 2017-11-07 14:51:20 -08:00
Matthew Hooker c106e7c26c
Don't set region from metadata if profile is set. 2017-11-07 14:33:26 -08:00
Matthew Hooker 52fc0100eb
this is a critical error 2017-11-07 12:52:03 -08:00
Evan Brown 13e0c232d4 builder/googlecompute: Test networking interpolation
This change pulls the logic that interpolates network and subnetwork
into its own func and adds tests.
2017-11-06 21:22:53 -08:00
Evan Brown f2fed94a71 builder/googlecompute: Derive network and subnetwork IDs locally
This change constructs partial URLs for networks and subnetworks if they
are not already partial or full URLs (i.e., they do not contain a '/' in
their name). Network and subnetwork self-links are no longer retrieved
from the API.

Previously, if a user did not provide the network or subnetwork as a
fully-qualified URL (i.e., self-link), the builder would make
compute.(sub)networks.get API calls with the provided identifier to
discover the self-link. This requires the user or service account Packer
is using to have permission to describe those network resources, which
is becoming less common as IAM is used more. Specifically, a user may
have permission to launch a VM into a network/subnetwork, but will not
have permission to call APIs to describe network resources.
2017-11-06 16:41:42 -08:00
Evan Brown bada7b73c1 builder/googlecompute: Selectively set default network
If a network is not specified, it should only be set to "default" if a
subnetwork is also not specified.
2017-11-06 16:41:42 -08:00
Evan Brown 1b3eb1c34d builder/googlecompute: Set default network_project_id
If network_project_id is not specified in the GCE builder config, it
should default to the project_id.
2017-11-06 16:41:42 -08:00
Matthew Hooker 68fa09c308
Merge pull request #5512 from hashicorp/fix5501
builder/virtualbox-ovf retry removing VM.
2017-11-06 15:56:08 -08:00
Matthew Hooker bdb2509735
Merge pull request #5475 from ChrisLundquist/lxd-publish-properties
[Lxd] publish properties
2017-11-06 15:45:56 -08:00
Matthew Hooker 0172a5c82b
Merge pull request #5511 from hashicorp/fix5507
remove login_email from docker
2017-11-06 15:34:04 -08:00
Arjen Schwarz f4600a208f
Azure: Keep temporary resource group. Fixes #5045
This changeset will detect if the defined temporary resource group
already exists. If it does, it will not destroy it, but clean up
every resource required for building that is created by Packer
individually, both on success and failure.

Unit tests have been fixed, but more tests should be added for the new
functionalities.
2017-11-06 16:16:58 +11:00
Erlend Graff 27fc72c137 fix formatting errors 2017-11-05 15:16:47 +01:00
Erlend Graff ae6987c74b hyper-v: add test for hashicorp/packer#5184 2017-11-05 14:58:08 +01:00
Erlend Graff eeeee3ec35 hyper-v/vmcx: add missing InterpolateContext 2017-11-05 14:55:56 +01:00
Erlend Graff d890051940 hyper-v: implement driver mock 2017-11-05 14:51:18 +01:00
James Nugent fdd9b952d1
Merge pull request #5538 from stack72/triton-image-data-source
builder/triton: Add a data source for source_machine_image
2017-11-02 15:33:22 -05:00
Matthew Hooker 4d117bf117
Make vm log output less confusing 2017-11-02 10:45:54 -07:00
Matthew Hooker ac8bc522e0
Merge pull request #5534 from lisimia/digital_ocean_ipv6_option
Added option for ipv6 within the digitalocean builder
2017-11-02 09:55:45 -07:00
Matthew Hooker 95e4ae251e
WIP 2017-11-02 09:03:44 -07:00
Matthew Hooker e87b468c6e
Merge pull request #5536 from hashicorp/fix5535
add delay option to security group waiter
2017-11-02 08:54:34 -07:00
Matthew Hooker 8ab390a048
Merge pull request #5495 from smaato/master
Fix regressions relating to spot instances and EBS volumes
2017-11-02 08:53:27 -07:00
stack72 7776bf596b builder/triton: Add a data source for source_machine_image
fixes: #5476

Based on this new template addition:

```
{
    "variables": {
        "image_version": "",
        "triton_account": "",
        "triton_key_id": "",
        "triton_key_material": ""
    },
    "builders": [{
        "type": "triton",
        "triton_account": "{{user `triton_account`}}",
        "triton_key_id": "{{user `triton_key_id`}}",
        "triton_key_material": "{{user `triton_key_material`}}",
        "source_machine_package": "g4-highcpu-128M",
        "source_machine_image_filter": {
          "name": "ubuntu-16.04",
          "most_recent": "true"
        },
        "ssh_username": "root",
        "image_version": "{{user `image_version`}}",
        "image_name": "teamcity-server"
    }],
    "provisioners": [
        {
            "type": "shell",
            "start_retry_timeout": "10m",
            "inline": [
                "sudo apt-get update -y",
                "sudo apt-get install -y nginx"
            ]
        }
    ]
}

```

I got the following output from packer:

```
packer-testing % make image
packer build \
		-var "triton_account=stack72_joyent" \
		-var "triton_key_id=40:9d:d3:f9:0b:86:62:48:f4:2e:a5:8e:43:00:2a:9b" \
		-var "triton_key_material=""" \
		-var "image_version=1.0.0" \
		new-template.json
triton output will be in this color.

==> triton: Selecting an image based on search criteria
==> triton: Based, on given search criteria, Machine ID is: "7b5981c4-1889-11e7-b4c5-3f3bdfc9b88b"
==> triton: Waiting for source machine to become available...
==> triton: Waiting for SSH to become available...
==> triton: Connected to SSH!
==> triton: Provisioning with shell script: /var/folders/_p/2_zj9lqn4n11fx20qy787p7c0000gn/T/packer-shell797317310
    triton: Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
    triton: Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease
```

I can verify from the triton cli tools that the id `7b5981c4` (from the packer output) is indeed the correct ID

```
terraform [master●] % triton images name=~ubuntu-16.04
SHORTID   NAME          VERSION   FLAGS  OS     TYPE        PUBDATE
49b22aec  ubuntu-16.04  20160427  P      linux  lx-dataset  2016-04-27
675834a0  ubuntu-16.04  20160505  P      linux  lx-dataset  2016-05-05
4edaa46a  ubuntu-16.04  20160516  P      linux  lx-dataset  2016-05-16
05140a7e  ubuntu-16.04  20160601  P      linux  lx-dataset  2016-06-01
e331b22a  ubuntu-16.04  20161004  P      linux  lx-dataset  2016-10-04
8879c758  ubuntu-16.04  20161213  P      linux  lx-dataset  2016-12-13
7b5981c4  ubuntu-16.04  20170403  P      linux  lx-dataset  2017-04-03 <------- THIS IS THE LATEST UBUNTU IMAGE
```
2017-11-02 16:10:16 +02:00
Matthew Hooker f2413ff138
add delay option to security group waiter 2017-11-02 00:25:54 -07:00
Matthew Hooker a14e9f4d48
Merge pull request #5525 from hashicorp/fix5524
use correct default region when deregistering AMIs.
2017-11-01 16:17:59 -07:00
Lawrence 5509d0734b Added ipv6 option for digitalocean builder
the ipv6 option is already part of the godo package

Updated documentation to reflect new feature

Closes: https://github.com/hashicorp/packer/issues/5533
2017-11-01 15:41:25 -04:00
James Nugent a495948dc5
Merge pull request #5531 from stack72/bump-triton-dependencies
Bump Joyent/triton-go to modern version of the SDK
2017-10-31 11:21:08 -05:00
stack72 b04796c2cc Bump Joyent/triton-go to modern version of the SDK
This brings packer into the same version of triton-go as that in Terraform, where we rewrote the package from a library with everything in 1 place to individual packages

I was able to successfully provision a machine on triton using this new change, you can find the output in the attached gist

https://gist.github.com/stack72/a64d745459107c5a16bcb156965597ce
2017-10-31 18:08:53 +02:00
Matthew Hooker 19e6049f17
style fixes 2017-10-31 08:48:17 -07:00
Matthew Hooker f64fa7b5ba
Merge pull request #5491 from BenPhegan/hyperv-disk_additional_size
Hyper-V disk_additional_size capability
2017-10-31 08:42:07 -07:00
Matt Schreiber 1f2135f65e
Add options to LXC builder for influencing for how containers are built and started
via

- create_options: a list of options passed to lxc-create
- start_options: a list of options passed to lxc-start
- attach_options: a list of options passed to lxc-attach

Also extended existing LXC builder BATS tests to exercise the new builder
options, and added website docs.
2017-10-30 21:48:43 -04:00
Matthew Hooker d322fc6c19
Shorten metadata timeout
When running in travis, metadata requests will timeout after 5 seconds.
After 24 such timeouts, we'll hit travis' build timeout of two minutes,
and the build will fail. Lowering it to 100 gets us in a safe time
limit. We _may_ need to expose a timeout env var with this logic,
however.
2017-10-30 15:22:15 -07:00
Matthew Hooker 314fc94bd8
clean up 2017-10-30 15:02:39 -07:00
Matthew Hooker 0e4ea7420b
fix tests 2017-10-30 14:34:16 -07:00
Matthew Hooker c65fa8490d
fix various bugs deregistering AMIs
always deregister ami in session region
validate that session region does not appear in ami_regions
2017-10-30 14:17:19 -07:00
Matthew Hooker 6c4fbe8d87
use correct default region when deregistering AMIs. 2017-10-30 13:07:58 -07:00
Matthew Hooker faf96b369f Merge pull request #5510 from hashicorp/fix5216
fix hyper-v admin check
2017-10-27 08:49:16 -07:00
Joe Ferguson 5c2f758053 🎨 Fix typo in "copyed" -> "copied" usages. 2017-10-26 07:42:49 -05:00
Matthew Hooker 794e518eb7
use hyper-v admin group, not admin 2017-10-25 13:29:03 -07:00
Matthew Hooker 812fd12a0b
move trimspace to powershell exit check 2017-10-25 13:28:59 -07:00
Matthew Hooker 1901c0385f
remove login_email from docker
adds fixer
removes documentation
removes from docker builder and docker-push pp
2017-10-25 10:53:06 -07:00
Matthew Hooker fb098d045d
builder/virtualbox-ovf retry removing VM.
moves behavior from builder/virtualbox-iso into the driver
so it is automatically available to callers.
2017-10-25 10:27:33 -07:00
Matthew Hooker 0be02ab217
hyper-v: Don't error while checking for admin permissions. 2017-10-25 09:18:40 -07:00
Mark Meyer 4c5df79222 Fix regressions introduced in the instance builder
Related to #5504
2017-10-24 23:23:18 +02:00
Mark Meyer 309bf61257 Add missing blockdevices to ebsvolume builder 2017-10-23 22:33:16 +02:00
Mark Meyer 1cc9b3f1e3 Bring back volume tagging to ebsvolume
Related to #5486
2017-10-23 22:09:04 +02:00
Mark Meyer 7e1646826d Check if VolumeTags is empty before tagging volumes
Related to #5486
2017-10-23 21:10:40 +02:00
Andrew Pryde f31c2c59c1 Merge pull request #5407 from prydie/fix-5401
Fix Oracle OCI builder ignores region value provided in OCI config file
2017-10-23 09:56:49 +01:00
Ben Phegan 12fc928e1d Initial commit of Hyper-V disk_additional_size capability. Support a
maximum of 64 disks added to the SCSI controller.  Implement #4823.
2017-10-23 08:26:35 +11:00
SwampDragons 1563fb97c7 Merge pull request #5463 from atsushi-ishibashi/issue5323
Add clean_image_name for gcp
2017-10-20 14:16:11 -07:00
Megan Marsh 4721b48c70 add a couple of extra tests and reword documentation 2017-10-20 14:06:02 -07:00
Atsushi Ishibashi c3a00993d0 Don't truncate and replace with 'a', update docs 2017-10-19 10:45:48 +09:00
Andrew Pryde bb497c2453 Fixed incorrect test failure message in oci client 2017-10-18 11:11:14 +01:00
Chris Lundquist c1a7b3845a [lxd] allow passing of publish properties 2017-10-18 04:57:13 +00:00
Atsushi Ishibashi 3e68f1c505 Change first and last character when it doesn't match 2017-10-18 11:10:19 +09:00
Aaron Browne ffc63a8724 Use amazon common AccessConfig for ecr_login
Signed-off-by: Aaron Browne <aaron0browne@gmail.com>
2017-10-17 15:00:19 -04:00
Atsushi Ishibashi 210dd08326 Change args of NewConfig 2017-10-17 13:48:15 +09:00
Atsushi Ishibashi 5310d5629b Modify clean_image_name not defined error 2017-10-17 12:31:50 +09:00
Aaron Browne 8df643c343 Add aws_profile option to docker-push ecr_login
An aws_profile option is added to the AWS ECR login credentials
configuration to allow using shared AWS credentials stored in
a non-default profile.

Signed-off-by: Aaron Browne <aaron0browne@gmail.com>
2017-10-16 16:55:34 -04:00
Atsushi Ishibashi 3600924e59 Rename files 2017-10-17 04:55:50 +09:00
Atsushi Ishibashi 2da4e4c31d Change func name 2017-10-16 11:45:18 +09:00
Atsushi Ishibashi caa6c9bf22 Add clean_ami_name for gcp 2017-10-16 00:53:18 +09:00
Matthew Hooker 454cb08896 Merge pull request #5336 from SLAZ666/keepregistered-ovf
Add option keep_registered to virtualbox-ovf builder
2017-10-13 17:45:07 -07:00
Olivier Bilodeau 820811675d vmware-iso builder: Logging on network errors on connection refused 2017-10-13 19:00:48 -04:00
Matthew Hooker f617a678b1 Merge pull request #5422 from localghost/upload_owner_fix
Fix owner of files uploaded to docker container run as non-root.
2017-10-13 14:56:16 -07:00
SwampDragons f3c33240fa Merge pull request #5444 from vijayinvites/packer-vhdx
Hyperv vmcx builder and allow vhd/vhdx instead of ISO
2017-10-13 11:53:27 -07:00
Matthew Hooker f7e269945e
add cidr validation and rename option 2017-10-12 17:05:56 -07:00
Matthew Hooker c74be87187 Merge pull request #5384 from dave2/sg-source-cidr
[WIP] Allow temporary security group to have source CIDR block explicit
2017-10-12 17:05:45 -07:00
Matthew Hooker 07b013945f
more consistent flag name 2017-10-12 16:38:18 -07:00
Matthew Hooker 106408f6be
add new disable_vnc option 2017-10-12 16:34:40 -07:00
nictrix 6a238a3ef3
add option to skip vnc phase and update docs 2017-10-12 16:28:27 -07:00
SwampDragons 512ac214b4 Merge pull request #5417 from smaato/master
Add ability to tag volumes on creation
2017-10-12 12:56:25 -07:00
Mark Meyer dbb3c76032 Remove redundant step and its usage
StepTagEBSVolumes is no longer needed, since this functionality is now
taken over by StepRunSourceInstance and StepRunSpotInstance. So remove
this functionality from the codebase.
2017-10-12 21:40:21 +02:00
Vijaya Bhaskar Reddy Kondreddi 4f6a207441 go fmt 2017-10-11 22:10:39 +05:30
Matthew Hooker 2655cf7493 fix tests 2017-10-11 22:05:53 +05:30
Matthew Hooker 91d66fb67c use new method of building runner 2017-10-11 22:05:52 +05:30
Matthew Hooker d8c6e6d4a4 remove duplicate line 2017-10-11 22:05:52 +05:30
Matthew Hooker 7978fd8ec0 make fmt 2017-10-11 22:05:52 +05:30
Taliesin Sisson 5f2c71f7d7 Floppy directories are provided by default with common.floppydrives 2017-10-11 22:05:52 +05:30
Taliesin Sisson 2fbe0b4a7f Don't try to mount vhd and vhdx files as dvd drive. Hard drives are mounted in the create vm step 2017-10-11 22:05:52 +05:30
Taliesin Sisson 628116f4c4 Test settings for clone from vm and import vmxc from path 2017-10-11 22:05:52 +05:30
Taliesin Sisson 8232759397 If vhd or vhdx extension is specified for ISOUrls, we want to use an existing hard drive which means that we don't need to specify hard drive size
Filepath.ext includes the dot
2017-10-11 22:05:51 +05:30
Taliesin Sisson 3d0ac529e0 use common floppy_config instead of builder specific one
Add tests for floppy files and comm
2017-10-11 22:05:51 +05:30
Taliesin Sisson efa62e1550 Can specify an iso, vhd or vhdx for download. If it is a vhd or vhdx it is used as the hard drive for spinning up a new machine, importing an exported virtual machine or cloning a virtual machine.
Can import a virtual machine from a folder
Can clone an existing virtual machine
2017-10-11 22:05:45 +05:30
Taliesin Sisson 452fcbd9a1 Only attach dvd drive if there is one
Fix debug messages for cloning

Add hyperv-vmcx as a builder from command line
2017-10-11 21:42:32 +05:30
Taliesin Sisson 429e1bc3ad Adding an ISO is now optional for hyperv vmcx
Add documentation for hyperv vmcx
2017-10-11 21:42:32 +05:30
Taliesin Sisson 6fd7f0877d Initial check in to add a builder that can clone existing hyper v machines 2017-10-11 21:42:32 +05:30
localghost 5866d4ea24 Move container user inspect to StepConnectDocker. 2017-10-10 22:45:47 +02:00
Matthew Hooker eb64920e80 Merge pull request #5206 from sandersaares/hyperv-second-temp-dir
(Hyper-V) Enable a separate directory to be used for temporary VHDs
2017-10-09 10:08:00 -07:00
Matthew Hooker ae455bff99
add debugging help if ec2-upload-bundle fails 2017-10-05 17:33:07 -07:00
Matthew Hooker 2a326b5172
fix nil ptr exception 2017-10-05 16:34:13 -07:00