Commit Graph

8676 Commits

Author SHA1 Message Date
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
Matthew Hooker a26ce0c4a2
Merge pull request #5555 from cheeseprocedure/docs-communicator-ssh-agent
Website: add ssh_agent_auth to ssh communicator docs
2017-11-06 17:27:31 -08:00
Matthew Hooker 4c66c823d6
Merge pull request #5554 from briancain/update-vagrant-cloud-docs
Update vagrantcloud token page URL
2017-11-06 17:25:47 -08:00
Evan Brown 74403ef914 website: Update googlecompute engine docs
This change updates the documentation to describe how `network` and
`subnetwork` properties are processed.
2017-11-06 16:41:42 -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 b49ead6225
update changelog 2017-11-06 15:56:59 -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 8ecb406f5e
update changelog 2017-11-06 15:55:45 -08:00
Matt Mercer 733d5b65e5 Website: add ssh_agent_auth to ssh communicator docs 2017-11-06 15:46:13 -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 497e88759e
update changelog 2017-11-06 15:44:02 -08:00
Matthew Hooker 60b013f5af
Merge pull request #5439 from pkilar/socks5_proxy
SOCKS5 proxy support
2017-11-06 15:43:09 -08:00
Brian Cain d0c1d118ea Update vagrantcloud token page URL 2017-11-06 15:39:57 -08:00
Matthew Hooker 7bc112bbd9
update changelog 2017-11-06 15:35:31 -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
bugbuilder 5ccba2caaa using virtual disk device to create datastorePath 2017-11-06 02:57:41 -03:00
Matthew Hooker 7b974a53c9
Merge pull request #5539 from jen20/vagrant
build: Allow multi-platform dev with Vagrantfile; add FreeBSD support
2017-11-02 13:38:59 -07:00
James Nugent 0956ba53c9 Update CHANGELOG.md 2017-11-02 13:35:09 -07: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
James Nugent 4fc0a1ea0a build: Allow multi-platform dev with Vagrantfile
This commit rewrites the Vagrantfile for Packer in a similar manner to
the work done for Nomad (hashicorp/nomad#3175) in order to make
cross-platform development easier. It also adds support for a FreeBSD
base box.

Provisioning scripts are separated out in order that they can be
correctly linted. Each script is prefixed `vagrant`, then the operating
system, then whether or not it expects to be run in a privileged shell.

Finally, dependencies have been bumped - Go 1.6 is switched out for the
latest (1.9.2).
2017-11-02 11:00:19 -07:00
Matthew Hooker 4d117bf117
Make vm log output less confusing 2017-11-02 10:45:54 -07:00
Matthew Hooker 872b8ceac3
update changelog 2017-11-02 09:59:31 -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 52558e4f75
check for nil body from upload response 2017-11-02 00:13:31 -07:00
Matthew Hooker 7810dd18cd
update changelog 2017-11-01 16:18:58 -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 1012316442
update changelog 2017-10-31 08:44:26 -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 fe4d4648e6
codeowners for post-processors 2017-10-30 12:51:22 -07:00