Commit Graph

243 Commits

Author SHA1 Message Date
jmajoor 675dc06967 Tests for the optional disk_additional_size configuration. 2018-02-26 17:37:46 -08:00
jmajoor 33c3d2885d Add the additional disk steps to the Linux build 2018-02-26 17:33:40 -08:00
jmajoor 47947bd0f6 Apply gofmt 2018-02-23 18:43:55 -08:00
jmajoor efcdbfeab9 Add support for optionally building Azure VMs with additional disks. 2018-02-23 15:34:13 -08:00
Matthew Hooker 8cd403425e
test fixes WIP 2018-01-24 17:09:17 -08:00
Matthew Hooker 7a189a83a1
fix imports
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker a831d522be
change run signatures
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.

`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker 366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
Arjen Schwarz c2ecdd98c6
5691: Invalid image URLs make Azure builder crash 2017-12-12 20:12:53 +11:00
Jamie Lennox d043c37ad4 Azure: Don't provide location for build_resource_group_name
Location is required by default because you must specify where to create
the resource group containing the packer resources.

When using build_resource_group_name you are specifying that packer
should use an existing resource group and so the location that resources
are in can be determined by fetching the information from the existing
group.

It is forbidden to pass both variables as it is easier and more
intuitive that the location comes from the group rather than ignore a
parameter.

Closes: #5655
2017-12-04 11:22:54 +11:00
Christopher Boumenot da0c13f622 azure: delete keyvault deployment 2017-11-30 01:19:08 -08:00
Christopher Boumenot a3c9485062 azure: sanity check resource group names 2017-11-20 15:19:12 -08:00
Christopher Boumenot 8985bd45ba azure: go fmt 2017-11-16 17:32:35 -08:00
Christopher Boumenot ee767e55d1 azure: change literal to constant 2017-11-16 16:36:42 -08:00
Christopher Boumenot 2684153cb2 azure: reject bad configuration faster 2017-11-16 16:34:18 -08:00
Christopher Boumenot 787f08f39b azure: add user message to indicate what is being deleted 2017-11-16 16:31:05 -08:00
Arjen Schwarz f43f3155d4
Remove breaking debug statement 2017-11-10 11:04:31 +11: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
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
Matthew Hooker d4895156e5
remove copyright notice 2017-09-07 11:44:38 -07:00
Matthew Hooker f7c85e36bc
add pkcs12 license 2017-09-07 11:40:14 -07:00
Matthew Hooker 07bb47f793
Replace pkcs12 code with upstream 2017-09-02 16:09:29 -07:00
Christopher Boumenot 9a34fd15ca azure: improve docs and validation
Closes #5186
2017-08-24 15:23:13 -07:00
Christopher Boumenot 0780667b4d azure: support storage account for managed images
Closes #5202
2017-08-24 15:10:49 -07:00
Christopher Boumenot 216317c49d Merge pull request #5222 from Trip09/NO-TICKET-azure-allow-build-inside-vpc
[Azure] allow build inside vpc access via public IP
2017-08-08 15:02:53 -07:00
Joao Albuquerque d909c702ee Working PublicPrivate 2017-08-08 15:05:45 +01:00
Luke Farnell d9a5b69403 clean up ineffectual assignments 2017-08-07 13:20:01 -04:00
Christopher Boumenot ec96cacdf3 azure: write temporary ssh key to a file 2017-06-27 13:23:04 -07:00
Christopher Boumenot 06ea433104 azure: private SSH private key for debug 2017-06-26 13:44:34 -07:00
Christopher Boumenot 0d427939bc azure: Fix custom managed images
I missed a change in my SDK update, and when I integrated this missing
change I broke custom images.
2017-06-26 11:13:41 -07:00
Christopher Boumenot 1874514e4f azure: go vet ./... 2017-06-26 11:13:40 -07:00
Christopher Boumenot 027db82862 azure: go fmt ./... 2017-06-26 11:13:40 -07:00
Christopher Boumenot 9425ece680 azure: Handle SDK changes
There are two types for storage profile, but they use the same
serialization name (storageProfile).  This creates problems, so I worked
around it by taking the union of this type as well as OS Disk.
2017-06-26 11:13:40 -07:00
Christopher Boumenot 841f54fc1e azure: unit test fixes 2017-06-26 11:13:39 -07:00
Christopher Boumenot b7e32cb10a azure: best error message possible 2017-06-26 11:13:39 -07:00
Christopher Boumenot c09f8b84b9 azure: fit and finish
* More unit testing to assert customer's configuration.
 * Further reduce the options that are needed to power an Azure build.
   This seems like a much more manageable level.
 * Update all of the examples to use a more current VM sku.
 * Add an example for RHEL.
 * Move from OpenSuSE to SuSE.
 * Update the docs.
2017-06-26 11:13:39 -07:00
Christopher Boumenot d782ad99f8 azure: pick better names
Use custom_managed_image_name to represent managed images use to build Packer VMs.
Use managed_image_name to represent the image produced by Packer.
2017-06-26 11:13:38 -07:00
Christopher Boumenot 9f4fb56041 Support managed disk for platform images 2017-06-26 11:13:38 -07:00
Christopher Boumenot c6ff4aae59 Support for building from custom managed images 2017-06-26 11:13:38 -07:00
Christopher Boumenot 8cea6f5be5 azure: Update to SDK 10.0.3
The OAuth code was moved to the adal package.
Authorizers now ues an interface instead of a simple token.
Long running operations return a channel for the operation, and the
error.
2017-06-26 11:13:37 -07:00
Pavel Vasilevich 547cfa3602 Add information about artifact in manifest post-processor in azure-arm builder 2017-06-07 14:12:03 +07:00
Matthew Hooker 5ed3be9a8c
set azure metadata 2017-06-01 14:11:40 -07:00
Matthew Hooker ee5d13611f
update ssh client usage for new crypto/ssh version 2017-05-18 12:01:44 -07:00
Matthew Hooker 7aca9b7f71
builder/azure: replace panics with error returns 2017-04-27 11:04:57 -07:00
Christopher Boumenot f0e5f75b06 Update TODO.md 2017-04-24 14:19:24 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker 35578d9ed1
remove unnecessary type conversions 2017-03-28 20:36:21 -07:00
Matthew Hooker bf64d7bdc2
automagic simplification 2017-03-28 20:36:20 -07:00
Matthew Hooker d1b20b3d9c
remove a bunch of dead code.
https://github.com/dominikh/go-tools/tree/master/cmd/unused
2017-03-28 20:36:20 -07:00
Thomas Conte d294d2c576 gofmt 2017-01-28 10:29:35 +01:00
Thomas Conte 1ec6578c02 Add two new variables to Azure builder config 2017-01-27 12:26:28 +01:00
Eike Verdenhalven 7ad77b9e93 integrate new winrm transport interface 2017-01-18 22:11:48 +01:00
Christopher Boumenot f908e18483 Merge pull request #3996 from boumenot/pr-issue-3968
azure: Allow user to set custom data
2016-10-13 13:39:54 -07:00
Christopher Boumenot 7d07fa7afc azure: Allow user to set custom data 2016-10-13 11:56:23 -07:00
Christopher Boumenot bba643df9a azure: handle os_type errors more gracefully 2016-10-13 09:26:29 -07:00
Christopher Boumenot 249a943a1e azure: Allow user to override size of OS disk 2016-10-12 16:24:04 -07:00
Christopher Boumenot e42b3d8447 azure: fix error message
There have been two issues raised where the user followed the error
message, but they needed to add yet another config value to disambiguate
the VNET.  It would be better if the message over corrected, and asked the
user to specify everything to ensure complete disambiguation.
2016-09-28 09:50:10 -07:00
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Christopher Boumenot ece0a78990 azure: tag all resources 2016-08-02 11:25:03 -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
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 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
Christopher Boumenot 16c1abf1d4 Fix slow unit tests. 2016-07-06 11:06:52 -07: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
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
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
Christopher Boumenot 5950d3d92b Implement support for custom images. 2016-05-27 21:18:20 -07:00
Christopher Boumenot c1e7caf53c Validate capture variables to obey Azure's rules. (#3537) 2016-05-18 17:25:57 -07:00
Christopher Boumenot 83e6044595 Documentation for the Azure builder. (#3518) 2016-05-17 14:15:24 -07:00
Christopher Boumenot 5484b9c7d0 Do not use a communicator for unit tests. (#3539) 2016-05-17 13:53:01 -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
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