Commit Graph

209 Commits

Author SHA1 Message Date
Matthew Hooker 6b7ac8ee90 make generate 2016-11-02 11:48:32 -07:00
James Nugent b1ff8c3bfc builder/amazon: Add `ebs-volume` builder
This commit adds a builder that works like EBS builders, except does not
create an AMI, and instead is intended to create EBS volumes in an
initialized state. For example, the following template can be used to
create and export a set of 3 EBS Volumes in a ZFS zpool named `data` for
importing by instances running production systems:

```
{
	"variables": {
		"aws_access_key_id": "{{ env `AWS_ACCESS_KEY_ID` }}",
		"aws_secret_access_key": "{{ env `AWS_SECRET_ACCESS_KEY` }}",
		"region": "{{ env `AWS_REGION` }}",
		"source_ami": "{{ env `PACKER_SOURCE_AMI` }}",
		"vpc_id": "{{ env `PACKER_VPC_ID` }}",
		"subnet_id": "{{ env `PACKER_SUBNET_ID` }}"
	},
	"builders": [{
		"type": "amazon-ebs-volume",
		"access_key": "{{ user `aws_access_key_id` }}",
		"secret_key": "{{ user `aws_secret_access_key` }}",
		"region": "{{user `region`}}",
		"spot_price_auto_product": "Linux/UNIX (Amazon VPC)",

		"ssh_pty": true,
		"instance_type": "t2.medium",
		"vpc_id": "{{user `vpc_id` }}",
		"subnet_id": "{{user `subnet_id` }}",
		"associate_public_ip_address": true,
		"source_ami": "{{user `source_ami` }}",
		"ssh_username": "ubuntu",
		"ssh_timeout": "5m",

		"ebs_volumes": [
			{
				"device_name": "/dev/xvdf",
				"delete_on_termination": false,
				"volume_size": 10,
				"volume_type": "gp2",
				"tags": {
					"Name": "TeamCity-Data1",
					"zpool": "data",
					"Component": "TeamCity"
				}
			},
			{
				"device_name": "/dev/xvdg",
				"delete_on_termination": false,
				"volume_size": 10,
				"volume_type": "gp2",
				"tags": {
					"Name": "TeamCity-Data2",
					"zpool": "data",
					"Component": "TeamCity"
				}
			},
			{
				"device_name": "/dev/xvdh",
				"delete_on_termination": false,
				"volume_size": 10,
				"volume_type": "gp2",
				"tags": {
					"Name": "TeamCity-Data3",
					"zpool": "data",
					"Component": "TeamCity"
				}
			}
		]
	}],
	"provisioners": [
	{
		"type": "shell",
		"start_retry_timeout": "10m",
		"inline": [
			"DEBIAN_FRONTEND=noninteractive sudo apt-get update",
			"DEBIAN_FRONTEND=noninteractive sudo apt-get install -y zfs",
			"lsblk",
			"sudo parted /dev/xvdf --script mklabel GPT",
			"sudo parted /dev/xvdg --script mklabel GPT",
			"sudo parted /dev/xvdh --script mklabel GPT",
			"sudo zpool create -m none data raidz xvdf xvdg xvdh",
			"sudo zpool status",
			"sudo zpool export data",
			"sudo zpool status"
		]
	}
	]
}
```

StepModifyInstance and StepStopInstance are now shared between EBS and
EBS-Volume builders - move them into the AWS common directory and rename
them to indicate that they only apply to EBS-backed builders.
2016-11-02 12:56:39 -04:00
Matthew Hooker d920b3fbf4 run gofmt 2016-11-01 14:08:04 -07:00
Matthew Hooker 01be917450 Merge pull request #3660 from StackPointCloud/packer-builder-profitbricks
Packer Builder ProfitBricks
2016-10-31 15:45:24 -07:00
Sander van Harmelen dbf3bf56d4 Add a CloudStack Builder 2016-10-16 15:29:18 +02:00
jasminSPC dca286bf38 Merge remote-tracking branch 'upstream/master' into packer-builder-profitbricks 2016-10-10 23:53:52 +02:00
Matthew Hooker a8e57d83d2 gofmt project.
noticed many unrelated changes being added to patches because of gofmt.

ran `find . -not -path "./vendor/*" -name "*.go" -exec gofmt -w {} \;`
2016-09-29 14:13:06 -07:00
Doka 4256ab2cc2 add dot to build name regexp
allows build names like debian-8.3
2016-09-28 15:11:36 -07:00
Orivej Desh 4fe86244a5 Improve -on-error descriptions 2016-09-18 03:00:36 +00:00
Orivej Desh 639bf356aa Fail on unknown values of -on-error 2016-09-17 14:42:21 +00:00
Orivej Desh e9cc28565b Document -on-error on the "packer build" page 2016-09-16 12:15:00 +00: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
jasminSPC d84b3af863 Fixed tests 2016-08-31 14:11:10 +02:00
Scott Crunkleton d2e65e6433 Generated command/plugin.go using scripts/generate-plugins.go. 2016-08-15 14:36:26 -07:00
crunk1 55b5a45ae4 Created googlecompute-export post-processor. Modified the googlecompute builder to pass a few configuration values to its resulting artifact. These values can then be used in googlecompute-export post-processor.
Added documentation and changed authentication stuff on temporary VM.
2016-08-15 14:36:26 -07:00
Chris Bednarski db593a517d Added manifest post-processor, which creates a manifest of build artifacts 2016-06-10 15:57:01 -07:00
Vasiliy Tolstov d64603e137 initial import of checksum post-processor (#3492)
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-05-18 17:31:16 -07:00
Christopher Boumenot ad3d674919 Do not use Fprintf, use Fprint. 2016-04-05 22:41:26 -07:00
Alvaro Miranda 6237df566f add -color to build -h command 2016-03-23 04:40:24 +13:00
Chris Bednarski 5b5888b230 Initial import of Microsoft contributed code 2016-03-14 20:08:35 -07:00
Chris Bednarski 6a38303030 Make the build name error message show the original regexp 2016-03-01 19:01:46 -08:00
Chris Bednarski 53176f8cdb Added amazon s3 service to vendor, to support the amazon-import feature 2016-02-12 10:41:26 -08:00
Chris Bednarski 58ebd6a9fd Merge branch 'deps' 2016-02-05 14:22:00 -08:00
Chris Bednarski 93547ad91c Regenerate command/plugin and apply go fmt (now handled by the makefile) 2016-02-05 11:18:36 -08:00
Chris Bednarski 171265c983 Remove generator from command/version because we can't go build ./... -- it also builds vendored stuff 2016-02-05 11:17:48 -08:00
Marat Bakeev c95b2b483f Merge branch ansible-provisioner of https://github.com/dkhenry/packer 2016-02-05 15:40:17 +13:00
Chris Bednarski 1f8ebab4de There's no Warn, only Say 2016-01-20 15:30:16 -08:00
Chris Bednarski d8953e48d4 Change log to Ui.Warn and restore the removed functionality for now 2016-01-14 17:18:02 -08:00
Chris Bednarski 5e34864494 Add deprecation notice for -m/-message 2015-10-27 18:35:57 -07:00
Chris Bednarski 3dfdef4d39 Removed push -m since this is not used 2015-10-27 18:30:58 -07:00
Mark Peek 71ed8e4a38 Fix #2742: Include template line numbers on error 2015-10-25 12:28:06 -07:00
Mark Peek 62fd4df0a7 Merge pull request #2684 from mitchellh/docs-atlas-names
Added a note to the push docs about dot being disallowed in atlas names
2015-10-23 17:46:24 -07:00
Chris Bednarski 6783bc3fb0 Added generator for command/plugin.go so we don't have to edit it by hand to add new plugins 2015-10-21 16:57:38 -07:00
Chris Bednarski bfe5b5b4b6 Change if/else logic to switch 2015-10-21 16:57:38 -07:00
Chris Bednarski 1641a5e0cb Replace string splitting with a regexp; this is clearer and less code because of the post-processor case 2015-10-21 16:57:38 -07:00
Chris Bednarski e080e73b04 Add some exit codes and use a constant for -PACKERSPACE- 2015-10-21 16:57:38 -07:00
Chris Bednarski 9fa93712a1 Added integrated post-processors 2015-10-21 16:57:38 -07:00
Chris Bednarski d09a9ab0c7 Implemented internal plugins
- Internal plugins are compiled into the same packer binary and invoked through the plugin command
- Search paths allow disk-based plugins to override and should function as normal
- This should allow for a 94% space savings vs statically compiling all the plugins as separate binaries.. approximately 24mb vs 431mb
2015-10-21 16:57:38 -07:00
Mark Peek af055ad3e0 Synchronize access to artifact map to remove race 2015-10-14 08:25:13 -07:00
Chris Bednarski c834a00e22 Added a name validator to the push command 2015-08-26 12:16:18 -07:00
Rickard von Essen 4e20522afd Fixes #2667: Added vmware-rename to fix command help text 2015-08-24 20:19:49 +02:00
Chris Bednarski b3eacc5c2b Updated test to verify expected behavior 2015-07-13 19:32:28 -07:00
Chris Bednarski 78174dae4e Don't override packer's build version from a config file; fixes #2385 2015-07-13 19:03:36 -07:00
Chris Bednarski da20c36454 Removed unused variable breaking gorename 2015-07-13 18:04:50 -07:00
Chris Bednarski 28a13111b8 Add stub for validate test 2015-07-13 14:57:35 -07:00
Zach Zolton 548f2ced1c Fix `packer build` reading from STDIN
Signed-off-by: Jesse Szwedko <jesse.szwedko@getbraintree.com>
2015-06-30 17:56:14 +00:00
Mitchell Hashimoto 5c82ac2835 Merge pull request #2356 from mitchellh/b-min-version
packer: validate minimum version [GH-2310]
2015-06-29 13:46:35 -07:00
Mitchell Hashimoto 2498ad02c8 packer: validate minimum version [GH-2310] 2015-06-29 11:49:45 -07:00
Chris Bednarski 94e1f83070 Added a black-box acceptance test for -only and -except build flags 2015-06-27 00:47:50 -07:00
Mitchell Hashimoto 1bcb52a093 command/fix: validate resulting template [GH-2075] 2015-06-13 13:56:09 -04:00