Commit Graph

554 Commits

Author SHA1 Message Date
Mike Brancato 0f09638f7a Add HCL2 spec for KeyVault SKU 2020-03-11 20:48:34 -04:00
Mike Brancato 3c6b248bd5 Fix formatting 2020-03-11 20:45:44 -04:00
Mike Brancato 926e3ac2e4 Add support for configurable KeyVault SKU 2020-03-11 20:33:57 -04:00
Wilken Rivera 66ad6f3483
builders: Fix gosimple S1007 linting issue (#8871)
Results before change
```
⇶  golangci-lint run ./... --disable-all --enable=gosimple | grep 1007
builder/alicloud/ecs/image_config.go:208:9: S1007: should use raw string
post-processor/vsphere-template/step_mark_as_template.go:130:8: S1007: shape twice (gosimple)
builder/azure/arm/config.go:58:27: S1007: should use raw string (`...`)
builder/azure/arm/config.go:59:27: S1007: should use raw string (`...`)
builder/qemu/driver.go:192:15: S1007: should use raw string (`...`)
```

Results after change
```
⇶  golangci-lint run ./... --disable-all --enable=gosimple | grep 1007
```
2020-03-11 10:29:22 +01:00
Sylvia Moss ce674ff272
Add exclude mapstructure tag to exclude from hcl2spec struct (#8785) 2020-03-03 17:13:39 +01:00
Wilken Rivera c99dc56544 Update Azure ARM documentation
* Change generated documentation to indicate what image selection
options are required, and when.

* Refactor the structure of the documentation to highlight required
options for different types of builds
2020-02-10 21:14:11 -05:00
Megan Marsh 2181f10e79 fix statebag setup; simplify conditional 2020-02-06 16:54:07 -08:00
Megan Marsh 7dd1fa44db regenerate code 2020-02-06 16:41:28 -08:00
Megan Marsh 9643ad35f1 add tests 2020-02-06 16:41:28 -08:00
Megan Marsh 6d6b94d515 Add ability to use custom keyvault into azure builds 2020-02-06 16:41:28 -08:00
Wilken Rivera 561f02cc2f
builder/azure-arm: Update logic for setting subscriptionID (#8685)
* builder/azure-arm: Update logic for setting subscriptionID

Previously, when using managed identities, the Azure builder would set the SubscriptionID in the Prepare method. But would not update it after getting the updated SubscriptionID from the metadata server. This change updates the Run method to ensure a valid subscriptionID is saved to the statebag before continuing with an image build.

Co-authored-by: Paul Meyer <paul.meyer@outlook.com>
2020-02-04 10:54:58 -05:00
Sylvia Moss 08b0bd1d2c
Fix HCL2 code generation for slices within another slice (#8669) 2020-02-03 17:03:28 +01:00
nywilken 654cc4c4d5 builder/azure-arm: Set WinRMPassword on the communicator config
Build results before change
```
azure-arm: output will be in this color.

==> azure-arm: Running builder ...
azure-arm:
==> azure-arm: Provisioning with Powershell...
==> azure-arm: Provisioning with powershell script:
/tmp/powershell-provisioner922851060
==> azure-arm: Exception calling "RegisterTaskDefinition" with "7" argument(s): "(38,4):Task:"
==> azure-arm: At C:\Windows\Temp\packer-elevated-shell-5e320d29-bdbd-b619-9e64-0c8a301b9d1d.p
==> azure-arm: s1:60 char:1 ==> azure-arm: + $f.RegisterTaskDefinition($name, $t, 6,
"packer", $password, $logon_type,
==> azure-arm: $null) ...
==> azure-arm: +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==> azure-arm: ~~~
==> azure-arm:     + CategoryInfo          : NotSpecified:
(:) [], MethodInvocationException
==> azure-arm:     + FullyQualifiedErrorId :
ComMethodTargetInvocation
==> azure-arm:
==> azure-arm: Exception calling "GetTask" with "1"
argument(s): "The system cannot find the
==> azure-arm: file specified. (Exception from HRESULT:
0x80070002)"
==> azure-arm: At
C:\Windows\Temp\packer-elevated-shell-5e320d29-bdbd-b619-9e64-0c8a301b9d1d.p
==> azure-arm: s1:61 char:1
==> azure-arm: + $t = $f.GetTask("\$name")
==> azure-arm: + ~~~~~~~~~~~~~~~~~~~~~~~~~
==> azure-arm:     + CategoryInfo          : NotSpecified:
(:) [], MethodInvocationException
==> azure-arm:     + FullyQualifiedErrorId :
ComMethodTargetInvocation
==> azure-arm:
==> azure-arm: Method invocation failed because
[System.__ComObject] does not contain a
==> azure-arm: method named 'Run'.
==> azure-arm: At
C:\Windows\Temp\packer-elevated-shell-5e320d29-bdbd-b619-9e64-0c8a301b9d1d.p
==> azure-arm: s1:62 char:1
==> azure-arm: + $t.Run($null) | Out-Null
==> azure-arm: + ~~~~~~~~~~~~~~~~~~~~~~~~
==> azure-arm:     + CategoryInfo          :
InvalidOperation: (Run:String) [], RuntimeExcept
==> azure-arm:    ion
==> azure-arm:     + FullyQualifiedErrorId : MethodNotFound
==> azure-arm:
Cancelling build after receiving interrupt
==> azure-arm: Removing the created Deployment object:
'pkrdp087bb80ibj'
==> azure-arm: Removing the created Deployment object:
'kvpkrdp087bb80ibj'
==> azure-arm:
==> azure-arm: Cleanup requested, deleting resource group
...
==> azure-arm: Resource group has been deleted.
Build 'azure-arm' errored: Build was cancelled.
Cleanly cancelled builds after being interrupted.
```

Build results after change
```
azure-arm: WinRM connected.
==> azure-arm: <Objs Version="1.1.0.1"
xmlns="http://schemas.microsoft.com/powershell/2004/04"><Obj S="progress" RefId="0"><TN RefId="0"><T>System.Management.Automation.PSCustomObject</T><T>System.Object</T></TN><MS><I64
N="SourceId">1</I64><PR N="Record"><AV>Preparing modules for first use.</AV><AI>0</AI><Nil /><PI>-1</PI><PC>-1</PC><T>Completed</T><SR>-1</SR><SD> </SD></PR></MS></Obj><Obj S="progress" RefId="1"><TNRef RefId="0" /><MS><I64 N="SourceId">2</I64><PR N="Record"><AV>Preparing modules for first use.</AV><AI>0</AI><Nil /><PI>-1</PI><PC>-1</PC><T>Completed</T><SR>-1</SR><SD> </SD></PR></MS></Obj><Obj S="progress" RefId="2"><TNRef RefId="0" /><MS><I64 N="SourceId">3</I64><PR N="Record"><AV>Preparing modules for first use.</AV><AI>0</AI><Nil /><PI>-1</PI><PC>-1</PC><T>Completed</T><SR>-1</SR><SD> </SD></PR></MS></Obj></Objs>
==> azure-arm: Connected to WinRM!
==> azure-arm: Running local shell script:
/tmp/packer-shell091779215 azure-arm: 022xUtbwAH3DdqIoRCOh9caZi8tOYqcY
==> azure-arm: Provisioning with Powershell...
==> azure-arm: Provisioning with powershell script: /tmp/powershell-provisioner469853889
azure-arm: HELLO NEW USER; automatically generated aws password is: 022xUtbwAH3DdqIoRCOh9caZi8tOYqcY
==> azure-arm: Querying the machine's properties ...
```
2020-01-30 12:07:48 -05:00
Sylvia Moss dc31bad539
Sharing info with post-processors via artifact (#8632) 2020-01-30 11:27:58 +01:00
Megan Marsh b0b10f6939
Merge pull request #8496 from ryanhartje/delete_arm_deployment_on_cleanup
attempting to resolve deployment quota issue due to non-cleanup
2020-01-23 09:48:20 -08:00
Ryan Hartje c4a9715e50 updated the deleteTemplate invocation to a defer at the start of cleanup 2020-01-22 16:58:26 -06:00
Aishwarya Thangappa 9f24869e36 Update the error handling for end-of-life-date parsing 2020-01-06 22:58:26 -08:00
Aishwarya Thangappa 9569d35d14 Set expiry for image versions in SIG
Updates azure builder to support setting end-of-life-date for
image versions in shared image gallery. In addition, this change adds
the ability to set the global replica count for the image version
and allows the vms deployed from the latest version of the Image
Definition to exclude this Image Version.
2020-01-06 22:58:26 -08:00
Megan Marsh dca2c03cdb
Merge pull request #7866 from hashicorp/sharing_info
Add new struct to Provision() method signature, allowing us to share connection and credential info generated at build time with provisioners.
2019-12-17 14:55:20 -08:00
Ryan Hartje bfc3b72050 attempting to resolve deployment quota issue due to non-cleanup 2019-12-17 09:57:57 -06:00
nywilken 1eb55c2ae3 builder/azure: Remove double override of GalleryImageVersionsClient.PollDuration
This change fixes an issues where custom timeouts set for the
GalleryImagesVersionClient was being over written by the default client
poll duration.
2019-12-17 10:47:32 -05:00
Adrien Delorme 4b7132c87c Merge remote-tracking branch 'origin/master' into sharing_info 2019-12-17 11:57:09 +01:00
Adrien Delorme 0785c2f6fc
build using HCL2 (#8423)
This follows #8232 which added the code to generate the code required to parse
HCL files for each packer component.

All old config files of packer will keep on working the same. Packer takes one
argument. When a directory is passed, all files in the folder with a name
ending with  “.pkr.hcl” or “.pkr.json” will be parsed using the HCL2 format.
When a file ending with “.pkr.hcl” or “.pkr.json” is passed it will be parsed
using the HCL2 format. For every other case; the old packer style will be used.

## 1. the hcl2template pkg can create a packer.Build from a set of HCL (v2) files

I had to make the packer.coreBuild (which is our one and only packer.Build ) a public struct with public fields

## 2. Components interfaces get a new ConfigSpec Method to read a file from an HCL file.

  This is a breaking change for packer plugins.

a packer component can be a: builder/provisioner/post-processor

each component interface now gets a `ConfigSpec() hcldec.ObjectSpec`
which allows packer to tell what is the layout of the hcl2 config meant
to configure that specific component.

This ObjectSpec is sent through the wire (RPC) and a cty.Value is now
sent through the already existing configuration entrypoints:

 Provisioner.Prepare(raws ...interface{}) error
 Builder.Prepare(raws ...interface{}) ([]string, error)
 PostProcessor.Configure(raws ...interface{}) error

close #1768


Example hcl files:

```hcl
// file amazon-ebs-kms-key/run.pkr.hcl
build {
    sources = [
        "source.amazon-ebs.first",
    ]

    provisioner "shell" {
        inline = [
            "sleep 5"
        ]
    }

    post-processor "shell-local" {
        inline = [
            "sleep 5"
        ]
    }
}

// amazon-ebs-kms-key/source.pkr.hcl

source "amazon-ebs" "first" {

    ami_name = "hcl2-test"
    region = "us-east-1"
    instance_type = "t2.micro"

    kms_key_id = "c729958f-c6ba-44cd-ab39-35ab68ce0a6c"
    encrypt_boot = true
    source_ami_filter {
        filters {
          virtualization-type = "hvm"
          name =  "amzn-ami-hvm-????.??.?.????????-x86_64-gp2"
          root-device-type = "ebs"
        }
        most_recent = true
        owners = ["amazon"]
    }
    launch_block_device_mappings {
        device_name = "/dev/xvda"
        volume_size = 20
        volume_type = "gp2"
        delete_on_termination = "true"
    }
    launch_block_device_mappings {
        device_name = "/dev/xvdf"
        volume_size = 500
        volume_type = "gp2"
        delete_on_termination = true
        encrypted = true
    }

    ami_regions = ["eu-central-1"]
    run_tags {
        Name = "packer-solr-something"
        stack-name = "DevOps Tools"
    }
    
    communicator = "ssh"
    ssh_pty = true
    ssh_username = "ec2-user"
    associate_public_ip_address = true
}
```
2019-12-17 11:25:56 +01:00
Megan Marsh 0f6d1beccf add an extra string array to the Prepare() return values in the builder interfaces; this sets up the ability for builders to give the provisioners custom user-accessible build-time variables. 2019-12-16 21:23:05 -08:00
Kris Hicks 40357e2534 docs/builder/azure-arm: Remove errant html comment (#8484)
* Remove errant html comment from source

* make generate
2019-12-13 10:35:24 -05:00
Megan Marsh 3389d843f0 update all provisioners that used the winrmpassword tooling to use the new generateddata option 2019-12-12 16:42:53 -08:00
Megan Marsh 6f418d0e54 get data sharing to a working state with the powershell provisioner 2019-12-11 15:43:38 -08:00
Megan Marsh 601007e3e2 pas data into provisioners well 2019-12-11 15:43:38 -08:00
Lars Lehtonen df031db9da builder/azure/common/template: remove unused TemplateBuilder.getResourceByType2() (#8419)
builder/azure/common/template: remove unused TemplateBuilder.toKeyVaultID()
2019-12-02 18:09:42 +01:00
Megan Marsh d5ba530b26 make it clear we expect pem format not some other formate (#8344) 2019-11-07 10:30:51 +01:00
Megan Marsh 6c704f7046 Revert "fix template imports"
This reverts commit 0e70e0e5a4.
2019-11-04 14:29:00 -08:00
Megan Marsh 517834d528 Revert "Revert "remove clean_ami_name and clean_image_name; complete the deprecation for these functions in favor of clean_resource_name""
This reverts commit 44f91c9afc.
2019-11-04 14:28:40 -08:00
Lars Lehtonen 6862e3534f
builder/azure/chroot: fix dropped error 2019-10-30 11:14:32 -07:00
Paul Meyer 3be7d81ce2 Move common steps together 2019-10-24 04:21:46 +00:00
Paul Meyer e6dfe301ac Move CommandWrapper & ShellCommand to common 2019-10-24 04:06:29 +00:00
Paul Meyer b54a2ee09d Set correct user agent for Azure clientset 2019-10-23 11:31:29 -07:00
Megan Marsh 5614f307fb regerate code
generate flat FlatPolicyDocument
add PolicyDocument to generate command
2019-10-23 10:46:07 -07:00
Megan Marsh d15f43e4eb
Merge pull request #8232 from hashicorp/artifact-tree
HCL2 configs - part one
2019-10-22 11:54:34 -07:00
Megan Marsh 836aaafaa3
Merge pull request #8203 from sumit-kalra/master
Azure-ARM builder: Deploy NSG if list of IP addresses is provided in config
2019-10-21 11:10:58 -07:00
Adrien Delorme 8b76453e7f make generate 2019-10-16 10:50:45 +02:00
Adrien Delorme 4542666e25 fix func calls after master merge 2019-10-16 10:40:25 +02:00
Adrien Delorme cf1555bf17 Merge remote-tracking branch 'origin/master' into artifact-tree 2019-10-16 10:22:56 +02:00
Paul Meyer 575de8659e
Merge pull request #8226 from larohra/IncreasePollingDuration
[azure] Increase polling duration
2019-10-15 16:25:36 -07:00
Paul Meyer b716299d8e PR comment 2019-10-15 21:14:20 +00:00
Paul Meyer d3dc1be71c Doc updates 2019-10-15 21:14:20 +00:00
Paul Meyer 9b724d4ca0 Add artifact 2019-10-15 21:14:20 +00:00
Paul Meyer 0866cb3714 Reorganize client/common packages 2019-10-15 21:14:20 +00:00
Paul Meyer fe584f4448 Format updates 2019-10-15 21:14:20 +00:00
Paul Meyer 19a3502b36 Add 'vm' template function 2019-10-15 21:14:20 +00:00
Paul Meyer f72c4ec7a3 Update example and docs 2019-10-15 21:14:20 +00:00
Paul Meyer b5c0742951 Add test that verifies disksize bug (2/2) 2019-10-15 21:14:20 +00:00
Paul Meyer 98175c06d5 Add test that verifies disksize bug (1/2) 2019-10-15 21:14:20 +00:00
Paul Meyer eb5dc9326d Adding more tests 2019-10-15 21:14:20 +00:00
Paul Meyer 5943881051 Default for Gen 1 VMs 2019-10-15 21:14:20 +00:00
Paul Meyer 716f19a457 make fmt 2019-10-15 21:14:20 +00:00
Paul Meyer 8c73450f3d fixup! Add documentation to config struct 2019-10-15 21:14:20 +00:00
Paul Meyer 11ef06b94d Add StepVerifySourceDisk 2019-10-15 21:13:37 +00:00
Paul Meyer cb729e5a38 Add documentation to config struct 2019-10-15 21:13:37 +00:00
Paul Meyer 27a5bfe11c Add implementation for disk as source 2019-10-15 21:13:37 +00:00
Paul Meyer eff3f2bdcf Add test for disk input validation 2019-10-15 21:13:37 +00:00
Paul Meyer 57cff8961a Allow skipping OSDisk cleanup 2019-10-15 21:13:37 +00:00
Paul Meyer 6dee4d2d32 Wait for detach optimization 2019-10-15 21:13:37 +00:00
Paul Meyer bbac79f0a4 Make PIR images work 2019-10-15 21:13:37 +00:00
Paul Meyer b5401d552a Make from_scratch work 2019-10-15 21:13:37 +00:00
Paul Meyer b9b5bb2951 Use DiskStorageAccountTypes 2019-10-15 21:13:37 +00:00
Paul Meyer b4d0865548 Update azure-chroot builder 2019-10-15 21:13:37 +00:00
Paul Meyer e11a5bdb40 Put os disk id in state 2019-10-15 21:13:37 +00:00
Paul Meyer 77b782c5b5 Add StepEarlyCleanup 2019-10-15 21:13:37 +00:00
Paul Meyer 977ca5be1c Add StepCopyFiles and StepChrootProvision 2019-10-15 21:13:37 +00:00
Paul Meyer 9a3e6661b1 Add StepMountExtra 2019-10-15 21:13:37 +00:00
Paul Meyer addbdedea9 Add StepPostMountCommands 2019-10-15 21:13:37 +00:00
Paul Meyer d1f8b8545d Add StepAttachDisk 2019-10-15 21:13:37 +00:00
Paul Meyer 4d750ddefa Reuse amazon/chroot/step_pre_mount_commands.go 2019-10-15 21:13:37 +00:00
Paul Meyer 45d3f28c67 Add StepCreateNewDisk 2019-10-15 21:13:37 +00:00
Paul Meyer 3d329cf87d Add chroot builder framework 2019-10-15 21:13:37 +00:00
Paul Meyer 369ec9a84c Create disk attacher component 2019-10-15 21:13:37 +00:00
Paul Meyer 3c33aa4fc5 Add metadata client 2019-10-15 21:13:37 +00:00
Paul Meyer 113dc12346 Add function to detect whether Packer is running on Azure 2019-10-15 21:13:37 +00:00
Paul Meyer f106adbd12 Add Azure client set for chroot builder 2019-10-15 21:13:37 +00:00
Paul Meyer 2ded8f25ec Add metadata client 2019-10-15 21:13:37 +00:00
Paul Meyer 72fdce09ba Allow GetServicePrincipalToken to be called independently 2019-10-15 21:13:37 +00:00
Adrien Delorme 078ba7c8c3 commit old code generation tool
for history
2019-10-15 12:56:42 +02:00
Adrien Delorme f8402f1b91 builder.azure.common: make CloudEnvironment private so it doesn't temper with hcl2 code generation
the struct is not read from file but later set after some computations
2019-10-15 12:56:41 +02:00
Adrien Delorme d2f5daf98f
Merge pull request #8209 from dvrkps/patch-3
Ignore retry.Config var
2019-10-15 10:29:51 +02:00
Megan Marsh 0e70e0e5a4 fix template imports 2019-10-14 13:22:06 -07:00
Megan Marsh 44f91c9afc Revert "remove clean_ami_name and clean_image_name; complete the deprecation for these functions in favor of clean_resource_name"
This reverts commit 0026792d2f.
2019-10-14 13:08:15 -07:00
larohra 936ae42b00 Added a new parameter in config to override the default Azure Go SDK PollingDuration timeout 2019-10-11 15:29:02 -07:00
Davor Kapsa 29a6938de6
clean and return nil for retry.Config 2019-10-10 20:48:26 +02:00
Sumit Kalra 4bd09f381e
Fixing documentation (#6) 2019-10-10 11:30:28 -07:00
Davor Kapsa 4c615341ef
Ignore retry.Config var
retry.Config is struct.
Call it err is wrong.
2019-10-10 17:33:24 +02:00
Davor Kapsa fb267dd1dc
Add error check 2019-10-09 21:08:40 +02:00
Sumit Kalra 595b103bbe
Adding NSG to the ARM deployment template when needed (#3)
* Adding NSG to the ARM eployment template when needed

* Adding tests and fixing bugs

* Removing denyall rule

* Fixing logic to determine which port to open

* Fixing config description
2019-10-08 14:56:43 -07:00
Adrien Delorme d4600a7716 fix go imports 2019-10-04 11:19:45 +02:00
Megan Marsh 0026792d2f remove clean_ami_name and clean_image_name; complete the deprecation for these functions in favor of clean_resource_name 2019-10-03 15:49:01 -07:00
larohra 23c320d59e Increased the default polling duration to 60mins 2019-09-30 16:17:22 -07:00
Sumit Kalra 91d19adcd7 Ensuring that specifying allowed inbound IP and VNet are mutually exclusive (#2) 2019-09-26 23:33:18 +00:00
Sumit Kalra 132779c343 Adding config to specify allowed inbound IP addresses and CIDR blocks (#1)
* Adding config to specify allowed inbound IP addresses

* Also allowing CIDR blocks in addition to IP addresses
2019-09-26 23:31:28 +00:00
Paul Meyer c72a612b44 Re-added tests for FillParamters 2019-09-25 20:33:38 +00:00
Paul Meyer 094a8840d8 Improve comments for FillParameters 2019-09-25 20:33:38 +00:00
Paul Meyer feeae1514e Refactor client config 2019-09-25 20:33:38 +00:00
Adrien Delorme a841da960d Merge branch 'master' of ssh://github.com/hashicorp/packer into scrape_doc_to_builder_struct_config 2019-08-30 15:10:29 +02:00
Adrien Delorme f11341c0b4 azure builder: avoid a panic in getObjectIdFromToken 2019-08-29 10:34:59 +02:00
Adrien Delorme f66ca58a46 Update azure docs for config.go
add missing docs fields

Co-Authored-By: Megan Marsh <swampdragons@users.noreply.github.com>
2019-08-27 09:32:03 +02:00
Adrien Delorme 783b02bd15 Update config.go
add missing doc  fields

Co-Authored-By: Megan Marsh <swampdragons@users.noreply.github.com>
2019-08-27 09:28:36 +02:00
Adrien Delorme 4cb7c30987 Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-08-21 16:44:23 +02:00
Megan Marsh 6a201211a9 fix polling issues in azure
adds a configurable timeout to the shared image gallery publisher
2019-08-01 11:18:03 -07:00
Christian Muehlhaeuser 216afbaa8b
Fixed various typos
Just a bunch of nit-picky typo fixes.
2019-07-25 06:49:51 +02:00
Amrita Dutta 4c09dfde87 Fix bug while publishing SIG destination id for every managed image 2019-07-04 00:44:05 +00:00
Amrita Dutta 78be7ab4e4 fix typo 2019-06-24 16:57:07 +00:00
Amrita Dutta ba76d86cab remove comment 2019-06-21 03:51:44 +00:00
Amrita Dutta 85036231c4 Final commit 2019-06-21 02:47:39 +00:00
Amrita Dutta 78f001431e add example config file 2019-06-19 07:18:08 +00:00
Amrita Dutta 994dca5f78 fix bug in step_publish w.r.t managed image RG 2019-06-19 06:53:20 +00:00
Amrita Dutta 963336d421 Remove un-intended import 2019-06-19 06:42:55 +00:00
Amrita Dutta 76dbf4fb3b Remove subscription id from SIG destination input 2019-06-19 06:10:18 +00:00
Amrita Dutta 1d6de7167f Another update to replication logic 2019-06-18 23:51:10 +00:00
Amrita Dutta de591cff77 Fix append in builder.go 2019-06-18 23:48:38 +00:00
Amrita Dutta f7e08a097a Replication region changes 2019-06-18 23:41:14 +00:00
Amrita Dutta c9cdb34589 Update validation logic for missing replication region 2019-06-18 06:39:43 +00:00
Amrita Dutta f1f93f0665 normalize replication regions 2019-06-18 06:01:22 +00:00
Amrita Dutta 59a0f7f6e6 add validation checks for replication regions + formatting 2019-06-18 05:34:26 +00:00
Amrita Dutta d13b9574d6 Use user - provided version number instead of generating timestamp on our own 2019-06-17 22:54:37 +00:00
Amrita Dutta 34dac69112 pass subscription id via state bag 2019-06-17 22:08:10 +00:00
Amrita Dutta 540c904fd4 add missing check to not publish to SIG if config.SharedGalleryDestination.SigDestinationGalleryName is null 2019-06-17 19:13:03 +00:00
Ubuntu 6504d3ae5c Changes to ARM builder for publishing to SIG 2019-06-14 21:54:27 +00:00
Ubuntu fb9fd58dfb Imports for publishing to SIG 2019-06-07 20:47:37 +00:00
Adrien Delorme d81ca5728d azure-arm: rewrap struct comments for documentation generation 2019-06-06 17:34:17 +02:00
Adrien Delorme 4399684372 make fmt autogenerated docs 2019-06-06 16:29:25 +02:00
Adrien Delorme e6cbb013ba add // go:generate struct-markdown to all previously edited files 2019-06-05 16:42:18 +02:00
Adrien Delorme f1917edd34 generate the comments for config struct of builders scraping doc website 2019-06-05 16:42:17 +02:00
Amrita Dutta 1438e2e449 SIG as destination validation changes 2019-06-04 00:47:29 +00:00
Amrita Dutta 700c95c613 Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
Megan Marsh 3e73abc93a refresh line endings 2019-05-17 14:58:20 -07:00
Adrien Delorme d72040f4fa move retry code into the common/retry pkg and make retry context aware 2019-04-09 17:46:38 +02:00
Adrien Delorme a81abd297b Merge remote-tracking branch 'origin/master' into context_provisioner 2019-04-08 20:09:01 +02:00
Megan Marsh 3e72e65a6c
Merge pull request #7456 from hashicorp/do_5770
introduce the clean_resource_name to clean image/var names
2019-04-05 09:12:20 -07:00
Adrien Delorme c4f3dccc14 rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts 2019-04-03 15:56:15 +02:00
Adrien Delorme a4bf94dd3c change Builder to be passed a context for cancellation
we have to to give it to our hook
2019-04-03 15:55:55 +02:00
Adrien Delorme 9836dad0c9 introduce the clean_resource_name to clean image names and deprecate the old ones 2019-04-03 11:25:51 +02:00
Paul Meyer eb274c4e87 Power off before shapshotting 2019-04-01 18:40:50 +00:00
Paul Meyer e4bea87a20
Merge pull request #7211 from riezebosch/master
arm-builder: specify zone resilient image from config
2019-03-19 08:59:29 -07:00
Adrien Delorme 9f82b75e57 Use the hashicorp/go-getter to download files
* removed packer.Cache and references since packer.Cache is never used except in the download step. The download step now uses the new func packer.CachePath(targetPath) for this, the behavior is the same.
* removed download code from packer that was reimplemented into the go-getter library: progress bar, http download restart, checksuming from file, skip already downloaded files, symlinking, make a download cancellable by context.
* on windows if packer is running without symlinking rights and we are getting a local file, the file will be copied instead to avoid errors.
* added unit tests for step_download that are now CI tested on windows, mac & linux.
* files are now downloaded under cache dir `sha1(filename + "?checksum=" + checksum) + file_extension`
* since the output dir is based on the source url and the checksum, when the checksum fails, the file is auto deleted.
* a download file is protected and locked by a file lock,
* updated docs
* updated go modules and vendors
2019-03-13 12:11:58 +01:00
Joel Lopes c8a60c77d1 Add comments 2019-02-21 18:12:57 -08:00
Joel Lopes 1c030cb54b Use IMDS to get subscription for Azure MSI 2019-02-21 09:35:14 -08:00
Manuel Riezebosch d79b54e46a feat(arm-builder): print warning on zone resiliency for currently not supported locations 2019-02-15 19:27:53 +01:00
Manuel Riezebosch f31031f6b1 feat(arm-builder): zone resilient from config 2019-02-15 19:27:32 +01:00
Paul Meyer 68516fc05c Fix Azure interactive authentication
Builder looks up tenant ID before asking for token. Client config did
not allow that. Also found that token provider was not properly
initialized.

Fixes 7267
2019-02-05 02:35:12 +00:00
Paul Meyer e189db97d4 [azure] deallocate instead of just power-off
1. allegedly prevents error where  fails because VM still appears running
2. prevents left-behind VM's after failures from accumulating charges
2019-01-16 00:31:23 +00:00
Paul Meyer aa29facdae Allow certificate bearer JWT client authentication
This allows certificate based authentication, both by just referencing
the certificate file as well as by providing a bearer JWT. This last
option allows authentication without exposing the private key to packer
using an expiring JWT containting the thumbprint (and sometimes the
whole certificate for subject/issuer based auth), signed using the
certificate private key.
2019-01-15 17:29:28 +00:00
Paul Meyer 7e34579b7e Factor out Azure client credential config 2019-01-15 17:23:57 +00:00
Christopher Boumenot f9230aeb95 azure: fix snapshot regression 2018-12-13 13:58:18 -08:00
Megan Marsh ce71932f95
Merge pull request #7061 from boumenot/pr-6773-caching-type
azure: configuration for disk caching
2018-12-06 15:06:21 -08:00
Ali Rizvi-Santiago 1a3c3f2ffc Replaced all instances of mitchellh/go-homedir with an implementation based on os/user. 2018-12-04 16:53:33 -06:00
Christopher Boumenot c7d8f4e150 azure: configuration for disk caching
Export a configuration knob to change the disk caching setting. The
default value remains ReadWrite.  This seems the most appropriate value
given Packer.  Certain disk sizes require that disk caching be disable,
and this knob allows the user to do just that.
2018-11-30 14:14:43 -08:00
Christopher Boumenot 06c2c35e4c
Merge pull request #6980 from amydutta/amdut/snapshot
Adding options for Managed Image OS Disk and Data Disk(s) snapshot(s)
2018-11-16 15:51:52 -08:00
Amrita Dutta b8def0b3fb Added test to check for missing OS disk snapshot name and data disk snapshot prefix 2018-11-15 22:01:16 +00:00
Amrita Dutta 67342750a3 Addressed PR comments 2018-11-14 01:47:48 +00:00
Adrien Delorme 175b6a7971 add test for MSI configuration 2018-11-12 12:04:57 +01:00
Adrien Delorme 1958ef6e81 remove unecessary check 2018-11-12 11:32:49 +01:00
Adrien Delorme 08e8b1850e
remove unnecessary parenthesis 2018-11-12 10:49:39 +01:00
Amrita Dutta 2d6b18e63e Fix tests after bug fix 2018-11-10 00:05:25 +00:00
Amrita Dutta 213fbbae00 Updated go version and reformatted 2018-11-09 22:41:48 +00:00
Amrita Dutta a297d73b98 correcting wrong log message 2018-11-09 19:29:57 +00:00
Amrita Dutta 06525dd885 adding logs in the steps 2018-11-09 19:28:37 +00:00
Adrien Delorme 1ab0173e69 azure builder: allow to auth with managed identities ( MSI ) 2018-11-09 17:39:03 +01:00
Amrita Dutta 8881bc2d64 Fix bug in snapshot client creation 2018-11-09 03:30:57 +00:00
Mikhail Ushanov 536252683e builders: reuse private key file reading function
Signed-off-by: Mikhail Ushanov <gm.mephisto@gmail.com>
2018-11-08 14:25:50 +03:00
Amrita Dutta 8d8c86366b Config tests + typo fix 2018-11-07 22:23:22 +00:00
Amrita Dutta 1fa9f1ef11 formatting changes in stateBag.go 2018-11-07 18:11:48 +00:00
Amrita Dutta 8c326dbab7 Formatting changes 2018-11-07 18:08:15 +00:00
Amrita Dutta b2d1675d39 Added tests 2018-11-07 03:23:17 +00:00
Amrita Dutta 369b2dae5e Inlining suggested functions 2018-11-06 21:50:53 +00:00
Amrita Dutta 593363c5be fix typo in last commit 2018-11-06 19:23:15 +00:00
Amrita Dutta 1266d5146d addressed PR comments + add file for data disk snapshots 2018-11-06 19:17:03 +00:00
Amrita Dutta d12d23d34b OS disk snapshot 2018-11-05 23:48:22 +00:00
Josh Soref b68168807a Miscellaneous doc improvements
backticks, spaces, commas

In general, a list of items should have a space after each comma.
While there are editorial styles that suggest commas inside quotations,
they're horrible advice when the backticks are describing specific
character for a user to enter.

one off indent filters section

singular

backticks...

word wrap long lines...

spelling: macOS

contributing: clarify closing case
contributing: link to changelog
contributing: point to git remote...
contributing: split commands from descriptions
contributing: grammar
spelling: github
grammar: comma after etc.
spelling: macOS
grammar: i.e.
alicloud: use relative link
alicloud: use backticks
alicloud: bits
alicloud: such as
grammar: comma after etc.
avoid linking periods
grammar: period
amazon-chroot: IOPS
amazon-chroot: use backticks
amazon-chroot: link to section
amazon-chroot: whether-or-not; period
amazon-ebs: period
amazon-ebs: use relative link
amazon-ebs: use backticks
amazon-ebs: comma
amazon-ebs: bold
amazon-ebssurrogate: comma after etc.
amazon-ebssurrogate: this builder
amazon-instance: this builder
amazon-ebssurrogate: set this
amazon-ebssurrogate: whether-or-not
amazon-ebssurrogate: period
amazon-ebssurrogate: bold section reference
amazon-ebssurrogate: backticks...
amazon-ebssurrogate: commas around e.g.
spelling: precedence
spelling: i.e.
amazon-ebssurrogate: backticks...
2018-10-18 19:09:49 -04:00
Megan Marsh cdc6c57b31
Merge pull request #6822 from hashicorp/fix_6774
Fix 6774
2018-10-10 13:25:58 -07:00
Megan Marsh 53bce398bb add Managed Image test to azure artifact 2018-10-10 10:04:19 -07:00
Megan Marsh 5dc4ff95da fix azure artifact so it works with managed images as well as VHDs 2018-10-10 10:04:11 -07:00
mbearup de8d30d77c Update tests for Azure Shared Image Gallery 2018-10-10 09:20:34 -07:00
mbearup c7180413b0 Fix tests for Shared Image Gallery 2018-10-09 16:38:50 -07:00
mbearup a3a2a9e970 Fix issue with composite literal in test 2018-10-09 15:35:09 -07:00
mbearup 335feaf89c Convert shared_image_gallery options to a struct
Updates tests and documentation for shared_image_gallery
2018-10-09 13:56:49 -07:00
mbearup 5373b8586d Update tests for Azure Shared Image Gallery 2018-10-05 16:04:07 -07:00
mbearup b6bb5d4b4d Fix format/spacing for config.go 2018-10-05 10:52:02 -07:00
mbearup c1e0146d33 Dynamically set apiVersion for Shared Image Gallery scenario. 2018-10-03 16:33:28 -07:00
mbearup d21b13cb85 Modify variable names for Shared Image Gallery.
Add checks for Shared Image Gallery options.
2018-10-03 16:10:46 -07:00
mbearup 55be0da5da Initial changes to support Shared Image Gallery 2018-09-30 13:56:44 -07:00
Megan Marsh 38cc525ec7 new option allowing user to clean up the ephemeral ssh key from the authorized_keys file 2018-09-14 11:06:38 -07:00
Megan Marsh a0edaf6c46 Going to revert this change for now, becuase of potential issues that arise from calling Prepare() twice
Revert "use statebag instead of SetSharedState for winRM password"

This reverts commit b35acbd879.
2018-09-10 16:48:42 -07:00
Adrien Delorme 4682b3a9d2 refactor possible random strings into common/random 2018-09-05 10:26:52 +02:00
Adrien Delorme 170b2f3383 builder/azure/common.RandomString-> common/random.String
* to share them
* also removed unused PassworString func & arm.TempPasswordAlphabet package const
2018-09-05 10:24:28 +02:00
Christopher Boumenot 2e294da82a
Merge pull request #6644 from riezebosch/master
[azure-arm] retry cleanup individual resources on error
2018-09-04 11:40:27 -07:00
Manuel Riezebosch fcfa54fb1d [azure-arm] retry cleanup individual resources on error 2018-08-31 13:43:38 +02:00
Adrien Delorme 7c358eed2f removed unused builder/azure/common/lin.StepGeneralizeOS struct 2018-08-29 14:40:33 +02:00
Adrien Delorme 3d46fbd4f2 removed unused builder/azure/common/lin.StepCreateCert struct 2018-08-29 14:40:33 +02:00
Adrien Delorme b83c72fd54 more private keys in config 2018-08-29 14:40:32 +02:00
Adrien Delorme 336cac29d4 also use config.SSHPrivateKey for azure-arm builds 2018-08-29 14:40:32 +02:00
Adrien Delorme 51d2aac9f6 SSHPrivateKey => SSHPrivateKeyFile 2018-08-29 14:40:32 +02:00
Matthew Hooker 3f1a9766f4
formatting verb fixes for go 1.11 2018-08-24 16:18:21 -07:00
Matthew Hooker e41e99954d
go 1.11 format rules 2018-08-24 15:56:44 -07:00
Megan Marsh b35acbd879 use statebag instead of SetSharedState for winRM password 2018-08-24 13:51:16 -07:00
Adrien Delorme 6bbcd3e914
Remove remaining unused ssh config funcs and add missing calls (#6622)
* Remove duplicate unused SSHConfig funcs

* call to SSHConfigFunc() for azure/arm builder

* ncloud too

* remove empty ncloud file
2018-08-24 16:00:40 +02:00
Megan Marsh ff6a039d5b replace scrubconfig with packer.LogSecretFilter.Set
filter winrm password from logs
Add new root-level packer template option, sensitive-variables, to tell us what user variables to mark sensitive.
2018-08-20 15:35:55 -07:00
Patrick Double 2868971a9b Fixes per code review 2018-08-09 07:14:14 -05:00
Patrick Double d796edc783 Add to vagrant post-processor support for Azure 2018-08-08 10:04:28 -05:00
Christopher Boumenot a3e6153068 azure: implement clean_image_name 2018-08-01 10:54:45 -07:00
Christopher Boumenot fa7f54cb55 azure: satisfy Azure password requirements 2018-07-11 15:32:45 -07:00
Mike 5ea6429cd6
managed_image_resource_group_name max length change 2018-07-11 11:31:51 -04:00
Hariharan Jayaraman b23d6c9589 fixing infinite loop issue deleting existing resources if we have a empty target resource 2018-06-06 15:25:19 -07:00
Hariharan Jayaraman a13a2511f9 Added additional error message if we failed to parse token 2018-05-21 22:20:36 -07:00
Hariharan Jayaraman 1bd7aa534e Addressed PR feedback 2018-05-21 21:38:41 -07:00
Hariharan Jayaraman 8a3e599cad Added text to point out two device auth 2018-05-21 11:05:59 -07:00
Hariharan Jayaraman da67df6d03 space fix 2018-05-18 21:17:19 -07:00
Hariharan Jayaraman 4992429e8c Minor comment fixes 2018-05-18 17:34:01 -07:00
Hariharan Jayaraman 00e809cb7e Refactored the change into a new function 2018-05-18 15:21:49 -07:00
Hariharan Jayaraman ea9b2a8b5f review feedback 2018-05-18 12:09:42 -07:00
Hariharan Jayaraman 667113338a missed formating 2018-05-18 01:41:00 -07:00
Hariharan Jayaraman 7f2277676a Ensure that Device Login tests dont block general acceptance tests 2018-05-18 01:34:12 -07:00
Hariharan Jayaraman 77fe1bffe4 Ensure that Device Login tests dont block general acceptance tests 2018-05-18 01:25:19 -07:00
Hariharan Jayaraman de1783240f Updates to remove space changes 2018-05-18 00:53:44 -07:00
Hariharan Jayaraman 91eed4da52 trim right of the keyvault url 2018-05-18 00:44:25 -07:00
Hariharan Jayaraman df5cc234fc updates 2018-05-18 00:39:57 -07:00
Hariharan Jayaraman 1f46271a6b Ensuring device login works for Windows build 2018-05-18 00:32:01 -07:00
Christopher Boumenot a5530d4546
Merge pull request #6269 from harijayms/asyncrgdelete
Async delete Resource Group
2018-05-16 15:13:09 -07:00
Hariharan Jayaraman e1b18d594a Updates based on PR feedback 2018-05-15 11:41:26 -07:00
Hariharan Jayaraman c8c9bbb22a Async delete Resource Group 2018-05-14 20:06:23 -07:00
Hariharan Jayaraman 13c0b0b370 Added warning for VHD creation and updated samples 2018-05-10 13:15:35 -07:00
Christopher Boumenot 80a096cadd azure: device login for US Gov 2018-05-06 20:59:38 -07:00
Paul Meyer 8aee53ebe9
Merge pull request #6224 from paulmey/update-azure-sdk
Update Azure SDK
2018-05-04 09:47:28 -07:00
Paul Meyer 169f9d22e6 Update 'the other place' too 2018-05-04 00:32:15 +00:00
Paul Meyer 80f57308d7 Process review feedback 2018-05-04 00:28:34 +00:00
Oskar Wycislak 78d68880c0 Randomize osDisk name for Azure Managed Image builds.
This fixes #6115
2018-05-02 22:42:08 +02:00
Paul Meyer 07d8c71a2d Create and use context for Builder.Run 2018-05-01 23:40:40 +00:00
Paul Meyer cf94086b5f Formatting fixes 2018-05-01 19:53:20 +00:00
Paul Meyer c13965c0ce Add acceptance tests 2018-05-01 15:39:50 +00:00
Paul Meyer a3fb24639a make tests pass again 2018-05-01 15:39:50 +00:00
Paul Meyer 09ce3c9803 Make it compile again 2018-05-01 15:39:50 +00:00
Megan Marsh 3afb243f11 use build name to ensure that winrm password and other shared state is not overwritten if two builders need the password in the same packer run. 2018-04-16 13:41:17 -07:00
Matthew Hooker d70451f82e
Merge pull request #6106 from sethvargo/sethvargo/useragent
Add a common package for specifying useragent and adopt that everywhere
2018-04-05 15:38:11 -07:00
Megan Marsh d236f26439 allow users to access winrm password in powershell and elevated powershell provisioners 2018-04-05 15:24:54 -07:00
Seth Vargo 5eeac07b63
Include existing azure user agent 2018-04-05 14:28:51 -04:00
Seth Vargo b17b333e29
Add a common package for specifying useragent and adopt that everywhere
There were 5 different formats for the Packer useragent string. This
fixes that and unifies it into a helper package.

I did not touch oracle's user-agent, because it looked kinda special.
2018-04-05 14:28:50 -04:00
Christopher Boumenot eb201724c1 azure: unit tests for naming temp resources 2018-03-20 16:20:11 -07:00
Megan Marsh 414dd80e61
Merge pull request #6013 from jsoref/spelling
Spelling
2018-03-14 09:50:27 -07:00
Josh Soref 33f90d7783 spelling: unmarshalling 2018-03-14 03:27:22 +00:00
Josh Soref aae5b50dab spelling: response 2018-03-14 02:19:26 +00:00
Megan Marsh 2de0652eb4
Merge pull request #6003 from boumenot/pr-azure-support-force
azure: respect -force for managed image deletion
2018-03-13 09:47:16 -07:00
Josh Soref e43b8de3b1 spelling: network 2018-03-13 08:14:30 +00:00
Josh Soref 73d3d65b84 spelling: marshal 2018-03-13 08:10:01 +00:00