Commit graph

619 commits

Author SHA1 Message Date
Ali Rizvi-Santiago
915b7f371a Added missing argument to step_create_floppy_test.go 2016-09-12 11:57:51 -05:00
Ali Rizvi-Santiago
a3f0308e92 Re-implemented the support for the floppy_files keyword in order to remain backwards-compatible with templates using the old syntax.
Moved the support for recursive paths from the floppy_files keyword to the new floppy_contents keyword.
Shifted some of the code around to add better logging of what's actually being copied.
Added a couple of unit-tests for the new floppy_contents implementation.
Ensured that all files that were being added were also being included in state.FilesAdded so that the older unit-tests will work.
2016-09-12 11:56:25 -05:00
Ali Rizvi-Santiago
7d360d4e67 Added support for recursively including subdirectories in common/step_create_floppy.go
Shuffled the s.FilesAdded counter around so that unit-tests for common/step_create_floppy.go work without having to implement the fix properly.
2016-09-12 11:22:50 -05:00
Ricard Clau
acededfc6e tests actually test the floppies 2016-07-27 21:59:21 +01:00
Chris Bednarski
1d31d2d8d4 Merge pull request #3674 from yoctocloud/file_scheme
common/download.go: allow to specify relative path for file scheme
2016-07-06 11:16:55 -07:00
Vasiliy Tolstov
4392f6df1c common/download.go: allow to specify relative path for file scheme
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-07-06 13:03:39 +03:00
Vasiliy Tolstov
82c63bd723 iso_checksum: fix parsing with absent newline
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-07-03 12:06:31 +03:00
Rickard von Essen
abb2d92c7e Removed ftp/ftps schemas since they don't work. 2016-02-09 13:02:42 +01:00
Rickard von Essen
bbade5d8ae Added "iso_checksum_url" and keep the functionality of "iso_checksum"
Added support for file shema in "iso_checksum_url".
Added some unit tests and updated the docs accordingly.
2016-02-08 19:35:50 +01:00
Vasiliy Tolstov
00fcc3dfdc allow to specify checksum via url
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-08 19:35:50 +01:00
Chris Bednarski
24dc798cfb Revert "Prevalidate Hardware Specs on Linux"
This reverts commit eda84cb2d3.
2016-02-02 12:41:43 -08:00
Jake Champlin
eda84cb2d3 Prevalidate Hardware Specs on Linux
Prevalidates hardware resources on Linux platforms for Virtualbox and
VMware builders. This is currently only available on Linux, as enabling
for both Darwin and Windows platforms, relies on cgo bindings that would
prevent effective cross-compilation.

Packer will now fail to build and validate templates if the template is
requesting that the VM to be created would allocate more system
resources than the host system has available.

This _however_ doesn't catch parallel builds that overflow the hosts
resources, will probably still need a better error message for VM's
failing to boot in that case.

Example Outputs:

```
$ $GOPATH/bin/packer build -debug ./vmware-iso.json
Debug mode enabled. Builds will not be parallelized.
vmware-iso output will be in this color.

2 error(s) occurred:

* Unavailable Resources: RAM - Requested - 204800000MB - Available 21721MB
* Unavailable Resources: Disk - Requested - 4000000000MB - Available 76701MB
```

```
$ $GOPATH/bin/packer build -debug ./vbox-iso.json
Debug mode enabled. Builds will not be parallelized.
virtualbox-iso output will be in this color.

2 error(s) occurred:

* Unavailable Resources: RAM - Requested - 10240000MB - Available 21721MB
* Unavailable Resources: Disk - Requested - 1000000000MB - Available 76701MB
```
2016-01-21 18:19:11 -05:00
Mark Peek
7f149e595d Refactor http server config into common 2015-11-01 14:45:47 -08:00
Mark Peek
cdcffecc2d Refactor builder ISO options
The ISO builders (parallels, qemu, virtualbox, and vmware) had too
much common code which needed to be maintained separately. This change
moves that code to a common ISO configuration.
2015-10-20 16:27:47 -07:00
Chris Bednarski
1764238c0b Added [DEBUG] prefix to log messages 2015-08-19 13:15:23 -07:00
Chris Bednarski
6e8c6a15ad Implement fix, add comments so it's more apparent why we're doing special logic 2015-08-14 17:49:08 -07:00
Chris Bednarski
7ecfb057ff Added test case to catch deleting local source file when checksum doesn't match 2015-08-14 17:37:57 -07:00
Chris Bednarski
424ee65866 Added a log message when we use a local file instead of downloading one 2015-08-14 17:34:39 -07:00
Chris Bednarski
70af28be47 Added cake fixture for testing file:/// downloads 2015-08-14 17:34:04 -07:00
Mitchell Hashimoto
0416939c08 common: always reset progress to 0 for downloads 2015-06-22 14:59:38 -07:00
Mitchell Hashimoto
117579808f common: add the current progress to the total size 2015-06-22 14:58:27 -07:00
Mitchell Hashimoto
944b4bf46c common: delete file if checksum fails 2015-06-22 12:17:29 -07:00
Mitchell Hashimoto
2f530534d2 common/download: resume test 2015-06-22 12:14:35 -07:00
Mitchell Hashimoto
aa7d3b7841 Merge pull request #2245 from vtolstov/iso
resume download after fail
2015-06-22 12:03:47 -07:00
Mitchell Hashimoto
bf456f35f9 common: download client tests
/cc @cbednarski
2015-06-22 12:02:38 -07:00
Mitchell Hashimoto
897888fde3 common: fix potential panic case 2015-06-21 19:58:18 -07:00
Vasiliy Tolstov
d98de209cb fallback to not ranged request if server lacks HEAD
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2015-06-16 01:04:48 +03:00
Mitchell Hashimoto
2d13db300c packer: HookProvision errors if no communicator 2015-06-15 10:26:46 -07:00
Vasiliy Tolstov
382fa01e6f resume download after fail
close #2106

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2015-06-15 09:53:16 +03:00
Mitchell Hashimoto
a1ceb5a7ef common: remove StepConnectSSH 2015-06-13 18:10:37 -04:00
Mitchell Hashimoto
71d8c6610a Merge pull request #1968 from bhcleek/master
do not request a pty
2015-06-13 16:23:31 -04:00
Mitchell Hashimoto
1e853f9f1f common: revert some changes from #2121 for Windows 2015-06-13 10:21:09 -04:00
Clint Shryock
04e174fae8 builder/amazon: Properly return error code on ssh errors 2015-06-11 16:21:29 -05:00
Mitchell Hashimoto
f6f9cca7ce Merge pull request #2189 from mitchellh/b-download-extension
common: StepDownload can force an extension
2015-06-09 20:56:43 -07:00
Mitchell Hashimoto
23a48d6619 go fmt 2015-06-08 21:34:20 -07:00
Mitchell Hashimoto
e65e2d104a common: StepDownload can force an extension 2015-06-08 20:41:39 -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
44008c321b Merge pull request #2121 from josharian/no-scrub-empty
common: two minor fixes
2015-05-27 20:17:51 -07:00
Mitchell Hashimoto
adb6b43dd8 common: remove unused config methods 2015-05-27 14:58:09 -07:00
Mitchell Hashimoto
dd0a775500 common/command: delete 2015-05-26 09:51:47 -07:00
Josh Bleecher Snyder
2fe785ed35 common: remove dead code
The referenced bug was fixed in Go 1.2,
and Packer requires Go 1.2+.
2015-05-18 15:13:36 -07:00
Josh Bleecher Snyder
76c8cfd498 common: don't scrub ""
If the access_key or secret_key were loaded from
somewhere other than the packer file then
ScrubConfig can get called to scrub "" and "".

This results in very long output:

<Filtered><<Filtered>F<Filtered>i...

Don't do that.
2015-05-18 15:13:01 -07:00
Grégoire Pineau
97c56347a1 Better error reporting when a config key in template is Unknown
This patch will allow to fix the following bug much faster:

```
1 error(s) occurred:

* Unknown configuration key: output_directory
```

Related configuration:

```
"output_directory ": "build/sl_base/",
```

After the patch, the error reporting will be:

```
1 error(s) occurred:

* Unknown configuration key: "output_directory¤"
```
2015-03-05 10:23:21 +01:00
Emil Hessman
952ae5161b common: fix formatting directives in tests
Fixes the following vet reports:

common/step_create_floppy_test.go:79: possible formatting directive in Fatal call
common/step_create_floppy_test.go:89: possible formatting directive in Fatal call
common/step_create_floppy_test.go:180: possible formatting directive in Fatal call
common/step_create_floppy_test.go:190: possible formatting directive in Fatal call
2015-02-25 05:43:18 +01:00
Billie H. Cleek
2184892f8a do not request a pty
Change the default behavior from requesting a PTY when executing a
command with the ssh communicator to requesting a PTY only when
configured to do so.

Update the vmware builders to be fully backward compatible with the new
behavior.
2015-02-12 20:18:54 -08:00
Seth Vargo
347f02a7f2 Merge pull request #1402 from jasonberanek/858-issue
fix build name ConfigTemplate processing [GH-858]
2014-11-26 16:30:36 -05:00
Mitchell Hashimoto
8dbe0f065c Remove version from "packer" package 2014-10-27 20:51:34 -07:00
Mitchell Hashimoto
42e9e734b9 common: don't wait SSH on first try 2014-09-10 14:04:56 -07:00
Mitchell Hashimoto
01abbc4460 common/ssh: error if encrypted key is used 2014-09-03 20:25:31 -07:00
Mitchell Hashimoto
76a8221636 builder/*: extract key path to ssh.Signer 2014-09-03 20:23:39 -07:00
Jason A. Beranek
56ec6bf7af common/command/template,packer/template: fix build name ConfigTemplate processing [GH-858] 2014-08-09 21:52:33 -05:00
Mitchell Hashimoto
34834057c3 common: add test for empty val 2014-05-06 18:52:02 -07:00
Mitchell Hashimoto
5c5d62733f fmt 2014-05-01 14:24:19 -07:00
Ross Smith II
3d960ccc69 go fmt 2014-04-29 12:29:15 -07:00
Ross Smith II
e422d45f92 Allow wildcards and directories for floppy_files parameter 2014-04-29 12:27:34 -07:00
Mitchell Hashimoto
5cd2cfa563 comment so future-mitchell knows what I've done 2014-04-28 16:19:35 -07:00
Mitchell Hashimoto
ba05119a75 common: user variable conversion to non-string types works [GH-1079] 2014-04-28 16:18:45 -07:00
Mitchell Hashimoto
d5981c69f2 common: config strings to slices [GH-950] 2014-04-27 14:47:16 -07:00
Mitchell Hashimoto
5dec2ddb9c common: weakly decode the PackerConfig 2014-04-26 14:23:22 -07:00
Mitchell Hashimoto
fa339fc275 get more proper SSH package usage in 2014-04-26 11:23:26 -07:00
Mitchell Hashimoto
5fac6c79c4 fmt 2014-04-26 11:12:43 -07:00
Mitchell Hashimoto
e84e5e4f2c Merge branch 'update-ssh-package' of github.com:higebu/packer into higebu-update-ssh-package
Conflicts:
	builder/amazon/common/ssh.go
	builder/digitalocean/ssh.go
	builder/googlecompute/ssh.go
	builder/openstack/ssh.go
	communicator/ssh/communicator_test.go
	communicator/ssh/keychain.go
	communicator/ssh/keychain_test.go
2014-04-26 11:12:06 -07:00
Mitchell Hashimoto
8395d0e97a common: tests for ChooseSTring 2014-04-21 21:30:49 -07:00
Mitchell Hashimoto
7191c1f250 common: Fix URL parsing issues on Windows 2014-04-21 21:28:47 -07:00
Mitchell Hashimoto
159587daf4 Merge pull request #768 from devcamcar/openstack-env-support
builder/openstack: Add support for standard OpenStack environment variables
2014-04-21 21:11:37 -07:00
Fabian Ruff
2a3393ca84 fix error handeling when creating a floppy 2014-04-17 23:34:55 +02:00
higebu
f087ce16dc Fix the build problem by updating ssh package 2014-04-15 10:17:26 +09:00
Ross Smith II
27491f93f8 use old ssh code until higebu's branch is ready, see #1019 2014-04-11 08:23:12 -07:00
Mitchell Hashimoto
1087b5def8 common: clarify debug mode [GH-907] 2014-03-12 21:40:27 -07:00
Devin Carlen
bef63846af Add support for standard OpenStack environment variables 2014-02-17 15:30:01 -08:00
Mark Rushakoff
4548495116 StepDownload uses packer version as user agent 2014-01-09 13:20:30 -08:00
Mark Rushakoff
9e5c0f6c6a HTTPDownloader uses UserAgent from DownloadConfig 2014-01-09 08:41:34 -08:00
Mitchell Hashimoto
107e47fe25 update commands to new user var syntax 2013-12-27 09:21:17 -07:00
Mitchell Hashimoto
4c6800f5a3 common: process user variables in non-string config decodes [GH-598] 2013-12-16 17:57:07 -08:00
Mitchell Hashimoto
48fb1f9dfb common: fix tests 2013-12-06 18:36:16 -08:00
Mitchell Hashimoto
a380391b0e common: allow files that don't exist to be URLs [GH-683] 2013-12-06 18:31:56 -08:00
Mitchell Hashimoto
21bb0674f2 builder/docker: ctrl-C works during provisioning 2013-11-12 16:24:16 +00:00
Mitchell Hashimoto
483cda18c1 builder/vmware: make things more Go-like
This commit currently breaks the builder though, since the ISo is now
uploaded back into ESX.
2013-11-07 12:01:18 -08:00
Doug MacEachern
a828a9a064 builder/vmware: new driver to support building images directly on ESX
This driver talks directly to ESX over ssh, using vim-cmd, esxcli and sh;
no vCenter or VIM api required.

Remote* config properties added to support a remote driver

RemoteDriver interface extends Driver:
* SSHAddress - esx flavor uses esxcli to find the VM's ip address
* Download - esx flavor downloads iso files to a vmfs datastore

Driver can optionally implement the following interfaces:
* VNCAddressFinder - esx flavor needs to check remote ports
* OutputDir - esx driver needs a local and remote OutputDir
* Inventory - esx driver needs to register/unregister VMs
* HostIPFinder - esx flavor needs an address on the same network as esx itself
2013-11-07 12:01:18 -08:00
Mitchell Hashimoto
24db112b79 common: downloads can be HTTPS [GH-587] 2013-11-02 22:10:48 -05:00
Jonas Pfenniger
440e966c6e Simplifies the implementation of common/uuid 2013-10-23 23:05:02 +01:00
Jonas Pfenniger
fa0a0a895f Fixes missing entropy in the uuid package.
math/crypto is seeded with 1 and thus will create predictable UUIDs. Because
amazon-instance and amazon-ebs in the same second when building both targets
the timestamp in front doesn't help either. See #552
2013-10-23 10:58:48 +01:00
Mitchell Hashimoto
5ecec18258 common/uuid: add test, albeit weak 2013-10-16 21:19:53 -10:00
Mitchell Hashimoto
79f7936d66 Remove dependency on identifier package, use time ordered UUID [GH-541] 2013-10-16 16:21:14 -10:00
Matthew Hooker
5315b19822 common/config: config filter function [GH-521]
Fixes #521
2013-10-13 11:01:12 -07:00
Patrick Lucas
7f0916b646 An SSH timeout should be treated as an error 2013-10-02 14:55:28 -07:00
Mitchell Hashimoto
877dfb81fe common: Allow user variables to be used for ints/bools/etc. [GH-418] 2013-09-18 16:18:39 -07:00
Mitchell Hashimoto
0b830c92ba common: Use new multistep API 2013-08-31 12:17:59 -07:00
Mitchell Hashimoto
0dc347c70d packer: implement Cancel in ProvisionHook 2013-08-30 23:39:29 -07:00
Mitchell Hashimoto
9f559cb25c common: detect ctrl-c in Provision 2013-08-30 23:28:31 -07:00
Mitchell Hashimoto
01e998a81c common: support SHA512 as checksum type [Gh-356] 2013-08-28 09:09:43 -07:00
Mitchell Hashimoto
c753946c84 builder/vmware: ability to not request a PTY for SSH [GH-270] 2013-08-27 16:51:05 -07:00
Mitchell Hashimoto
cf175b4733 communicator/ssh: respect interrupts by not looping on retyr [GH-327] 2013-08-22 11:53:31 -07:00
Mitchell Hashimoto
4c86547796 common/command: error if only/except points to bad build 2013-08-22 11:40:30 -07:00
Mitchell Hashimoto
9cc4137a19 common/command: more tests for filtering builds 2013-08-22 11:34:51 -07:00
Mitchell Hashimoto
6d9265a244 packer: add mock implementations and more template tests 2013-08-22 11:32:59 -07:00
Mitchell Hashimoto
8bbed8656a common: use HTTP proxy if available from env [GH-252] 2013-08-18 12:34:36 -06:00
Mitchell Hashimoto
9e01b5a478 common: detect drive letter with windows file URLs [GH-284] 2013-08-15 20:16:05 -07:00
Mitchell Hashimoto
349a83d6d6 common: Remove Template, in packer now 2013-08-15 19:11:42 -07:00
Mitchell Hashimoto
562ea28a79 builder/virtualbox: switch download guest additions to use new common 2013-08-15 17:46:40 -07:00
Mitchell Hashimoto
bb352e5011 common: Add new StepDownload to DRY up downloads 2013-08-15 17:46:40 -07:00
Mitchell Hashimoto
71664cb34e common: return -1 download percent if download hasn't started [GH-288] 2013-08-14 11:15:47 -04:00
Mitchell Hashimoto
5166f511d2 common/json: add Unmarshal with method with syntax errors 2013-08-09 16:50:24 -07:00
Mitchell Hashimoto
398b8fc8d4 common/command: add -var-file support for user vars 2013-08-09 16:45:29 -07:00
Mitchell Hashimoto
56c36c12ed command/build,validate: pass user vars to Prepare 2013-08-09 15:57:09 -07:00
Mitchell Hashimoto
915c8cebae common/command: parse the "-var" flag 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto
229eab0623 common/command: rename BuildFilters to BuildOptions 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto
089df41aac common/command: introduce this package for common cmmand stuff 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto
670c6c5c16 common: UserData => UserVars 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto
bbced21c36 common: PackerConfig understands user vars 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto
4c2ada1e30 common: clone template during validation to avoid unnecessary children 2013-08-08 17:25:24 -07:00
Mitchell Hashimoto
7883d937a6 common: validation and generating unique template names 2013-08-08 17:25:24 -07:00
Mitchell Hashimoto
56728e6509 common: support user data 2013-08-08 17:25:24 -07:00
Mitchell Hashimoto
53d0095cb2 common: functions for template processing 2013-08-08 17:25:24 -07:00
Mitchell Hashimoto
2b41f05848 common: replace windows file URL backslash with forward slash
/cc @jasonberanek - Just adding this as well because I see this being
common as well.
2013-08-03 13:38:27 -07:00
Mitchell Hashimoto
e2c667101c common: style 2013-08-03 13:34:48 -07:00
Jason A. Beranek
3fa5fa396a common/config,download: gofmt fixes 2013-08-02 16:06:06 -05:00
Jason A. Beranek
760f102c91 common/config,download: fix URL and relative Windows local file path issues [GH-235] [GH-239] 2013-08-02 15:59:19 -05:00
Mitchell Hashimoto
5b7d8fbc74 rename builder/common to common since it is generally useful 2013-08-01 12:11:54 -07:00