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