Documentation for ebssurrogate states that all of the devices in
`launch_block_device_mappings` are snapshotted and included in the
image. In fact, only the device that was designated as the root
device was snapshotted. This patch modifies the builder to create
snapshots of all the devices and include them in the image. This
allows creating images with separate filesystems preconfigured,
rather than having to add volumes to `ami_block_device_mappings`
and configure them after boot.
RFC952 restricts hostname not to use underline(_) and period(.), so
private cloud with legacy DNS system does not allow just to use
image_name for name of server.
Add instance_name config option for servers which packer creates to
make instance_name configurable. If instance_name is not specified,
by default it works like the past using image_name for instance_name.
We can't modify the destination path in the communicator because it
breaks assumptions in the provisioners. For example, we try to chmod in
the shell provisioner. The chmod command uses the path as supplied by
the user. If the communicator decides to rewrite the path, the
provisioner doesn't know that, and so tries to chmod the wrong thing.
The best we can do is detect that the destination is a directory and
fail.
Also correctly surface output from sftp uploader.
Surfaces any communications from the remote end during file
uploads. For example, we might get notifications if we're logging in
with the wrong user. Rather than swallow these, let's show them to the
user.
In order to allow Packer to connect to Private Triton installations
we now expose `insecure_skip_tls_verify` which, if set to true, will
allow the user to make requests to Triton installations that use a
certificate not signed by a trusted root CA
I think we were overcomplicating things. The SDK provides the correct
credential chain by default, so let's use that. This patch does a quick
check for static credentials and uses those if found, then defaults to
the default credential provider chain.
This patch also removes the metadata timeout argument. Current versions
of the SDK have short timeouts by default, so I don't believe this is
needed.