Commit Graph

566 Commits

Author SHA1 Message Date
Kimo Rosenbaum 09543fc4e7 Add mount_partition to amazon-chroot builder to specify a partition other than 1 2016-01-06 11:35:01 -08:00
Colin Hebert 48d242a8f8 Use pointers in the AWS API 2016-01-06 08:12:20 +01:00
Colin Hebert 9385a277c6 Fix API calls and remove az detection in chroot 2016-01-06 08:02:29 +01:00
Colin Hebert e4930e7b57 Merge branch 'master' into subnet_az_discovery 2016-01-06 07:43:03 +01:00
David Zanetti 418da16991 Track the import task and report AMIs created from it 2015-11-23 15:55:09 +13:00
Yuya YAGUCHI 9c8405b2c6 Add AMI Product Codes modification for amazon-ebs & amazon-chroot 2015-11-19 18:28:04 +09:00
Mark Peek ca19688316 aws: fix test breakage due to upstream breaking change #2891 2015-10-31 11:04:50 -07:00
Luke Amdor 8682dec178 aws: build after upstream breaking change
see 1a69d06935
2015-10-30 13:58:56 -05:00
Mark Peek eb15536041 Merge pull request #2774 from btd/btd-patch-1
Fix AMI creation - replace not allowed character , and add allowed .
2015-10-26 22:00:16 -07:00
Mark Peek 4e1e9b788a Merge pull request #2845 from abridgett/feature/spot_price_zero
spot_price of "0" to mean on demand
2015-10-26 21:51:44 -07:00
Adrian Bridgett 3257b26fa7 one more place to check SpotPrice 2015-10-26 10:20:49 +00:00
Denis Bardadym 25e2ff7b85 Fix not allowed comma, add all allowed special characters 2015-10-19 13:41:30 +03:00
Mark Peek 6f5c64db41 Merge branch 'use-default-volumesize' 2015-10-18 13:04:41 -07:00
Mark Peek a9716a4dc7 Merge pull request #2797 from jen20/improve-aws-instance-builder-error
Add suggestion to AWS Instance builder error message
2015-10-18 12:14:03 -07:00
Mark Peek fc39f07ecc Add EbsOptimized to RequestSpotInstances (#2806) 2015-10-18 11:39:36 -07:00
Mark Peek edda3de677 Merge pull request #2806 from abridgett/feature/add_ebs_optimized_support
Add ebs_optimized support
2015-10-18 11:31:50 -07:00
Mark Peek f6c7e3740f Don't create EBS block device if VirtualName is specified 2015-10-18 11:05:21 -07:00
Mark Peek 914e78f602 builder/amazon/common: go fmt 2015-10-18 11:00:05 -07:00
Mark Peek 581c3574f6 Merge pull request #2672 from lightpriest/b-aws-ebs-block-device
Fix and refactor block device mapping builder
2015-10-18 10:56:53 -07:00
Mark Peek 45829c30e5 builder/amazon/*: fix go vet 2015-10-11 12:18:23 -07:00
Adrian Bridgett da771c469e spot_price of "0" to mean on demand
this helps avoid duplicating packer templates just to select
spot instances or not
2015-10-06 22:13:17 +01:00
Adrian Bridgett 8349e22df9 Add ebs_optimized support 2015-10-06 21:36:21 +01:00
James Nugent b60e1fd862 Add suggestion to AWS Instance builder error message
A common cause of the failure of the bundle volume step is missing the
ec2-bundle-vol command on the target instance. This commit adds a note
about this to the error message produced as Packer output if the
bundling step fails (it is already in the documentation).
2015-10-02 17:06:33 -04:00
James Nugent 632d38a1c5 Tag EBS volumes with volume_tags in EBS builder
This change allows specification of a new "volume_tags" array in the
amazon-ebs builder in order to allow tagging of volumes used on the
source instance. It is implemented as a new step which is skipped if
there are no tags specified.
2015-09-11 16:39:34 -04:00
Or Cohen 2a94b596ce Fix and refactor block device mapping builder
Fix NoDevice not properly configured #2398.
Refactor the mapping builder to match BlockDeviceMapping from AWS SDK:

* If NoDevice is specified, include NoDevice only.
* If VirtualName starts with ephemeral, don't create Ebs (they are mutually
  exclusive anyway)
* Otherwise, assume Ebs and create it with the exact specified attributes by
  the user.

Change/add tests to reflect these changes.
2015-08-25 00:24:05 +03:00
Chris Bednarski 1a775c05d9 Update calls to amazon to match the upstream
- see http://aws.amazon.com/releasenotes/2948141298714307
- run awsmigrate-renamer on each amazon module (chroot, instance, etc.)
2015-08-17 17:44:01 -07:00
Ian Glover 1447af5e42 Populate access and secret key for bundle_upload_command. 2015-08-13 14:58:15 +01:00
Chris Bednarski 4cc443da8e Update use of ec2rolecreds to match upstream 2015-08-10 13:59:56 -07:00
Chris Bednarski abb67fdd79 Fix govet issues 2015-08-05 19:41:29 -07:00
Florian Noeding 62c39888b4 amazon builder: always base64 encode ec2 user data 2015-07-31 16:34:33 +02:00
Florian Noeding 98b9d22b68 amazon builder: only fetch password for winrm 2015-07-31 15:34:25 +02:00
Chris Bednarski a9c299d9c4 Merge pull request #2404 from mitchellh/b-instance-destroy
amazon/common: store instance ID earlier for cleanup
2015-07-28 18:24:37 -07:00
Chris Bednarski 28bf1877c2 Updated AWS SDK calls to match the 0.7.0 release of the AWS SDK 2015-07-28 17:10:21 -07:00
Yo Takezawa 628462b919 Use snapshot size if you don't specify a VolumeSize 2015-07-21 14:07:30 +09:00
Tommy Ulfsparre 241903d0b0 no point in setting iops on a standard volumes 2015-07-15 17:18:03 -07:00
Chris Bednarski c615539929 Reformat long lines 2015-07-15 17:17:59 -07:00
Chris Bednarski 9365a43179 Reformat 2015-07-15 17:07:36 -07:00
Tommy Ulfsparre ae064207d5 Add test for ephemeral block device mapping 2015-07-15 17:05:32 -07:00
Anthony Spring 224bb78175 Make EBS block device mapping optional for ephemeral virtual names. 2015-07-15 17:04:45 -07:00
Mitchell Hashimoto 26aa3dd575 amazon/common: store instance ID earlier for cleanup 2015-07-07 11:07:38 -06:00
Steven Merrill 0869c9fe64 Fix #2830. 2015-07-02 10:23:44 -04:00
Mitchell Hashimoto 6dd36075b2 Merge pull request #2352 from mitchellh/b-amazon-bundle
builder/amazon/instance: set valid bundle prefix [GH-2328]
2015-06-29 13:59:45 -07:00
Mitchell Hashimoto 98db68e36c builder/amazon/instance: set valid bundle prefix [GH-2328] 2015-06-29 09:49:11 -07:00
Mitchell Hashimoto b315e470c8 builder/amazon: set debug flag for get password 2015-06-29 09:40:58 -07:00
Mitchell Hashimoto 0a2e54feaf builder/amazon: output WinRM password for debug mode [GH-2336] 2015-06-29 09:40:15 -07:00
Mitchell Hashimoto 95dd79740f Merge pull request #2324 from tcahill/group-launch-permissions
Fix setting ami_groups
2015-06-29 09:30:51 -07:00
Mitchell Hashimoto 7b64723a11 Merge pull request #2327 from emate/fix-for-spot-requests-cleanup
Fixes spot instance cleanup.
2015-06-29 09:24:01 -07:00
Mitchell Hashimoto aab5ca7059 update CHANGELOG 2015-06-29 09:22:33 -07:00
Marcin Matlaszek 3eaf7f38b0 Fix adding launch permissions for created ami. 2015-06-29 15:39:27 +02:00
Tom Cahill 6644d76982 Use aws.String to obtain string pointers 2015-06-26 12:08:44 -07:00
Tom Cahill 016d916d83 Fix adding groups to AMI launch permissions.
Previously, groups were granted launch permissions by submitting a
ModifyImageAttribute request with the UserGroups parameter set
appropriately. This is no longer valid, as the LaunchPermission
parameter must be set.
2015-06-26 10:52:27 -07:00
Clint Shryock 4d003aa5a3 builder/amazon-instance: Don't specify empty Virtualization Type 2015-06-26 10:43:13 -05:00
Marcin Matlaszek 586cab11ee Fixes spot instance cleanup. 2015-06-26 15:29:46 +02:00
Tommy Ulfsparre 8ae0cfc759 copy and convert to pointer 2015-06-25 20:07:45 +02:00
Clint 7b9d48799e Merge pull request #2316 from jjappi/fix-aws-tagging
Fix failing AMI snapshot tagging when copying to other regions.
2015-06-25 10:17:34 -05:00
Marcin Matlaszek dd97a60c9b Fix for tag creation when creating new ec2 instance. 2015-06-25 17:02:38 +02:00
Jani Jappinen c537623bc6 Fix failing AMI snapshot tagging when copying to other regions. 2015-06-25 17:25:28 +03:00
Clint Shryock 7af5d5419a builder/amazon: Fix issue with sharing AMIs with ami_users 2015-06-24 11:41:58 -05:00
Clint Shryock 3a54e6899d code cleanup 2015-06-23 11:34:42 -05:00
Clint Shryock 29cef0eae4 builder/amazon-chroot: add mount_options configuration option 2015-06-23 11:26:13 -05:00
Clint 3884555007 Merge pull request #2289 from mitchellh/b-amazon-chroot-fixes
builder/amazon-chroot: various fixing and debugging of chroot builder
2015-06-23 10:53:02 -05:00
Clint Shryock 5d2ea088a2 builder/amazon-chroot: add root_volume_size to resize chroot root volume 2015-06-23 10:35:59 -05:00
Clint Shryock 8a9a59c3ca check if newDevice.EBS is nil 2015-06-23 09:11:29 -05:00
Clint Shryock 9f8b0041f0 builder/amazon-chroot: use source image virtualization type, unless specified 2015-06-22 22:08:31 -05:00
Clint Shryock f374edc2b8 builder/amazon-chroot: Fixes for amazon-chroot builder
These are needed for chroot builder to work
2015-06-22 21:34:38 -05:00
Mitchell Hashimoto 5db4d7c01f fmt 2015-06-22 12:37:52 -07:00
Mitchell Hashimoto 944b4bf46c common: delete file if checksum fails 2015-06-22 12:17:29 -07:00
Clint 6579219013 Merge pull request #2282 from mitchellh/f-amazon-cleanup-volumes
builder/amazon-ebs: Clean up orphan volumes
2015-06-22 12:56:26 -05:00
Mitchell Hashimoto 84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Clint Shryock dff6cf1a83 code tweak after review 2015-06-22 10:48:54 -05:00
Clint Shryock c9714ce69e builder/amazon-ebs: Clean up orphan volumes
Fixes #1783
2015-06-19 10:22:39 -05:00
Mitchell Hashimoto 9c0f37b2c9 builder/amazon: fix weird edge cases with key names [GH-2281] 2015-06-19 06:21:20 +02:00
Mitchell Hashimoto 5c290fdbc7 builder/amazon use proper key pair name 2015-06-19 06:15:16 +02:00
Mitchell Hashimoto 4da0b42fc1 Merge pull request #2054 from garnaat/amazon-chroot-check-before-umount
builder/amazon-chroot: Only unmount if path is actually mounted
2015-06-18 10:12:06 +02:00
Mitchell Hashimoto b7dab2689a fmt 2015-06-18 05:23:04 +02:00
Mitchell Hashimoto de2004c1c9 Merge branch 'master' of https://github.com/nyetsche/packer into nyetsche-master 2015-06-15 15:21:58 -07:00
Clint Shryock d22c4173d3 fix crash when waiting for an instance that has failed 2015-06-15 11:53:21 -05:00
Clint 2372393f64 Merge pull request #2212 from mitchellh/f-amazon-add-tags-to-snapshots
Add EBS snapshot tags #846 #1219
2015-06-15 10:05:57 -05:00
Clint 8fca582278 Merge pull request #2221 from mitchellh/f-amazon-force-deregister-artifacts
builder/amazon: Add force_deregister option
2015-06-15 10:02:30 -05:00
Mitchell Hashimoto ccf20568a7 Merge pull request #2240 from mitchellh/f-windows
Windows AWS instances
2015-06-14 10:52:10 -07:00
Mitchell Hashimoto 101e5986dc builder/amazon: enable windows for instance type too 2015-06-14 10:50:18 -07:00
Mitchell Hashimoto b8d5bd3776 Merge pull request #2242 from emate/spot_network_interfaces_fix
Fix network interface spec when requesting spot.
2015-06-14 10:48:59 -07:00
Marcin Matlaszek b51761ca36 Fix network interface spec when requesting spot. 2015-06-14 17:47:45 +02:00
Mitchell Hashimoto e9d916a7bc builder/amazon: don't print windows password 2015-06-13 23:14:48 -07:00
Mitchell Hashimoto 8f6ecfd9e3 builder/amazon: various fixes (minor) to get things going 2015-06-13 23:12:59 -07:00
Mitchell Hashimoto 022a115d19 builder/amazon: improve messaging 2015-06-13 22:42:10 -07:00
Mitchell Hashimoto d23f254b76 builder/amazon: don't get password if platform not set on image 2015-06-13 22:39:19 -07:00
Mitchell Hashimoto fd4e0e9da4 builder/amazon: StepGetPassword 2015-06-13 22:35:45 -07:00
Mitchell Hashimoto 115d583cff helper/communicator: make host more generic 2015-06-13 19:23:33 -04:00
Mitchell Hashimoto e557928119 builder/amazon: use helper/communicator 2015-06-13 18:16:12 -04:00
Clint Shryock bec59b535d builder/amazon: Add force_deregister option, to automatically deregister artifacts with name conflicts 2015-06-12 13:23:47 -05:00
Clint Shryock 86206e316d add tags test 2015-06-12 10:39:37 -05:00
Clint 2af0f10d59 Merge pull request #2204 from mitchellh/b-aws-iam-profile-upload
builder/amazon-instance: Omit access, secrety key if using IAM Instan…
2015-06-11 10:55:57 -05:00
Clint Shryock 1fbf8b7f32 update create_tags for new sdk 2015-06-11 10:43:27 -05:00
Clint Shryock a8155e17aa merge acaire/add-ebs-snapshot-tags 2015-06-11 10:33:55 -05:00
Clint Shryock 2056fda4d3 builder/amazon: Allow spaces in AMI names 2015-06-10 16:19:36 -05:00
Clint Shryock c9b413e3d1 builder/amazon-instance: Omit access, secrety key if using IAM Instance Profile 2015-06-10 15:18:05 -05:00
Mitchell Hashimoto be4a82dfae amazon/*: fix some merge conflicts 2015-06-10 10:33:01 -07:00
Mitchell Hashimoto 8e1db0d94c Merge branch 'fix_amazon_instance_waits' of https://github.com/renat-sabitov/packer into renat-sabitov-fix_amazon_instance_waits 2015-06-10 10:31:21 -07:00
Jan Schumann 802cfa3871 make sure IOPS is not set for empty VolumeType 2015-06-10 17:21:25 +02:00
Jan Schumann 5d600c70f2 added test to illustrate wrong behavior 2015-06-10 17:20:41 +02:00
Clint b31534d5fe Merge pull request #2197 from mitchellh/f-aws-fixup-ebs-snapshots
Update AWS EBS builder to fix invalid params
2015-06-09 13:52:28 -05:00
Clint Shryock 4da118c64f fix up tests 2015-06-09 11:56:40 -05:00
Clint Shryock 999b0874cc Update AWS EBS builder to fix invalid params 2015-06-09 11:38:53 -05:00
Clint Shryock 8c321138f4 Revert "Changing --region to --location"
This reverts commit f40fd36c31.

According to the documentation below, `--region` is the current flag. If you're
using an older version of the tools that use `--location`, you can customize the
commands in your Packer config with `bundle_vol_command` and `bundle_upload_command`

- http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/CLTRG-ami-upload-bundle.html
- https://www.packer.io/docs/builders/amazon-instance.html
2015-06-09 10:41:39 -05:00
Clint 455d57a87f Merge pull request #2187 from mitchellh/f-aws-add-prevalidate-step
builder/aws: Add pre validate step, to validate things before building.
2015-06-08 22:02:36 -05:00
Clint Shryock 68040f786c show AMI id in error message 2015-06-08 22:00:59 -05:00
Clint Shryock 231f01cd35 builder/aws: Add pre validate step, to validate things before building. 2015-06-08 17:08:39 -05:00
Mitchell Hashimoto 984bbc3a1e amazon/common: wording nit 2015-06-08 09:38:50 -07:00
Mitchell Hashimoto 8aec42e363 update CHANGELOG 2015-06-08 09:25:56 -07:00
Mitchell Hashimoto 9387cc1ea1 Merge pull request #2175 from henrysher/fix-duplicate-ami
check the region before do the ami copy to fix the duplicate ami [GH-2123]
2015-06-08 09:20:02 -07:00
Mitchell Hashimoto f7e49d92ac Merge pull request #2178 from henrysher/fix-ami-copy-name
"Name" parameter required for copying ami across regions [GH-2172]
2015-06-08 09:16:17 -07:00
Mitchell Hashimoto 769b7d20b9 amazon/ebs: acceptance test for region copy 2015-06-08 09:16:01 -07:00
Henry Huang 052b5e6699 "Name" parameter required for copying ami across regions [GH-2172] 2015-06-05 11:15:48 +00:00
Henry Huang a5c476c6fe check the region before do the ami copy to fix [GH-2123] 2015-06-04 06:16:44 -04:00
Seth Vargo 33ca8b7fb5 Migrate to new AWS repo 2015-06-03 17:13:52 -04:00
Mitchell Hashimoto edf3415c6e builder/amazon: delete physical private key for debug mode [GH-1801] 2015-05-29 17:10:14 -07:00
Mitchell Hashimoto 913d6f6996 builder/amazon/common: fix compilation issues with latest libs 2015-05-28 10:20:34 -07:00
Mitchell Hashimoto 07734133a3 builder/amazon: fix test failures 2015-05-28 09:44:33 -07:00
Mitchell Hashimoto 8cac7e8d51 Merge pull request #1930 from bhourigan/issue1929
Prepending -i to sudo so PATH is inherited from profile.d scripts
2015-05-28 09:36:58 -07:00
Mitchell Hashimoto 3031886aaf Merge branch 'master' of https://github.com/aocsolutions/packer into aocsolutions-master 2015-05-28 09:35:02 -07:00
Mitchell Hashimoto 11e2fad6d0 Merge pull request #2022 from mefellows/issue/2021
Report error during Temporary Security Group creation in AWS EBS builder
2015-05-28 08:32:55 -07:00
Mitchell Hashimoto b78b119a11 amazon/*: fix merge issues with lib switch 2015-05-28 08:31:22 -07:00
Mitchell Hashimoto 44b980e659 Merge branch 'aws-sdk-go' of https://github.com/jen20/packer into jen20-aws-sdk-go 2015-05-28 08:24:41 -07:00
Mitchell Hashimoto b9bfae8da3 amazon/chroot: style 2015-05-28 08:19:53 -07:00
Mitchell Hashimoto 20fa7aeeb6 Merge pull request #2046 from danschaffer/amazonchroot-volumes-retry-fix
builder/amazon/chroot: fix no attachments on volume error.
2015-05-28 08:18:50 -07:00
jszwedko b1497b951c code.google.com/p/go.crypto/ssh -> golang.org/x/crypto/ssh
code.google.com/p/go.crypto/ssh is now at golang.org/x/crypto/ssh as of
https://code.google.com/p/go/source/detail?spec=svn.crypto.69e2a90ed92d03812364aeb947b7068dc42e561e&repo=crypto&r=8fec09c61d5d66f460d227fd1df3473d7e015bc6

Using the code.google.com import redirects properly, but runs into
issues if you try to use a subpackage of `ssh`, e.g. `agent` which
refers to golang.org/x/crypto/ssh causing conflicts if your types expect
code.google.com/p/go.crypto/ssh.

This is a precursor to a PR for #1066.
2015-05-28 08:17:49 -07:00
Mitchell Hashimoto c78c4e78ad amazon/common: sleep 3 seconds if instance doesn't exist 2015-05-27 20:15:07 -07:00
Mitchell Hashimoto f78d7eefdc Merge pull request #2129 from lokulin/master
Fixes #2128 Retry the AWS API when looking for a newly created instance
2015-05-27 20:14:14 -07:00
Mitchell Hashimoto 034e4e676c amazon/*: use new interpolation functions 2015-05-27 11:47:45 -07:00
Mitchell Hashimoto 50d7c598e9 amazon/ebs: use new interpolation stuff 2015-05-27 11:35:56 -07:00
Mitchell Hashimoto fea8bb3566 amazon/ebs: basic acceptance test 2015-05-26 13:47:24 -07:00
lokulin bda4ef7c65 Retry the AWS API when looking for a newly created instance
Sometimes the AWS API responds that it can't find a newly created
instance if you poll it too soon after creation.  Retry a few times
to be sure it really hasn't been created.
2015-05-22 15:08:51 +10:00
Mitch Garnaat fd5f4c61ae Added a call to grep for path in /proc/mounts before attempting to umount. If path is not there, it is already unmounted. 2015-04-17 12:35:26 -07:00
Dan Schaffer 03436a3745 builder/amazon/chroot: fix no attachments on volume error.
This adds retry logic to the amazon/chroot builder.  The builder
intermittently fails when ec2conn shows the volume in the attached
state but calling Volumes[0].Attachments return an empty array. The
fix adds a retry logic for when Volumes[0].Attachments has len 0 sleep
for 2 seconds and retry up to 30 times.

When the Volumes[0].Attachments is empty I find within 5 seconds the
Volumes[0].Attachments contains the correct value.

The issue is reported in:
https://github.com/mitchellh/packer/issues/1854
2015-04-16 13:06:48 -04:00
James Nugent 65a9347b1e Fix potential nil pointer errors in ported code
This commit adds extra nil checks for some pointers which were not
necessary when using goamz
2015-04-15 12:17:44 -07:00
James Nugent 33b4f5cc0a Check for EBS being nil before assigning it 2015-04-15 11:49:29 -07:00
James Nugent e99cd56b6c Migrate from mitchellh/goamz to awslabs/aws-sdk-go
This commit moves the Amazon builders of Packer away from the Hashicorp
fork of the goamz library to the official AWS SDK for Go, in order that
third party plugins may depend on the more complete official library
more easily.
2015-04-12 21:33:09 -04:00
Matt Fellows a973dce7d3 Report error code during Temporary Security Group creation (#2021) 2015-04-07 12:11:34 +10:00
Brian Hourigan a4cfd921f4 Adding missing hyphen to sudo options 2015-04-04 10:52:17 -04:00
Nevins Bartolomeo 6686b62347 AWS availability zone could be incorrect when using spot instances with no AZ specified 2015-04-03 20:52:54 -04:00
renat-sabitov-sirca d046e1cc5b Fixing transient AWS errors during EBS builds
Relates to #1539

AWS is eventually consistent and instance can be not visibile for
some time after creation. This fix eliminates describe-instances
call before going to the proper wait loop
2015-03-11 10:34:21 +11:00
Ash Caire 361e859556 Add EBS snapshot tags 2015-03-01 10:27:30 +11:00
Colin Hebert a08725f7c5 Add auto discovery of AZ based on the subnet 2015-03-01 00:00:45 +11:00
Emil Hessman 505f51ff27 builder/amazon/ebs: fix incorrect printf verb type
Fixes the following vet report:

builder/amazon/ebs/step_create_ami.go:90: arg resp.Return for printf verb %s of wrong type: bool
2015-02-25 05:29:53 +01:00
Emil Hessman 05c2206684 builder/amazon/common: fix incorrect printf verb type in amiRegionCopy
Fixes the following vet reports:

builder/amazon/common/step_ami_region_copy.go:81: arg target for printf verb %s of wrong type: github.com/mitchellh/goamz/aws.Region
builder/amazon/common/step_ami_region_copy.go:93: arg target for printf verb %s of wrong type: github.com/mitchellh/goamz/aws.Region
2015-02-25 05:29:53 +01:00
Brian Hourigan f40fd36c31 Changing --region to --location 2015-02-19 14:40:36 -05:00
Brian Hourigan 8e69403735 Prepending -i to sudo so PATH is inherited from profile.d scripts related to ec2 tooling 2015-02-19 14:32:27 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 43f08b2664 go fmt all the things 2015-01-13 22:58:41 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 62e054c404 simplify output 2015-01-13 21:40:15 -05:00