Commit Graph

172 Commits

Author SHA1 Message Date
Matthew Hooker 892d5e82c9 expect_disconnect option
provisioner/shell: Adds option to fail if the remote server disconnects
us.
2016-10-21 11:39:03 -07:00
Matthew Hooker 5747f4e890 prevent panic when ssh reconnect fails 2016-10-14 11:23:35 -07:00
Matthew Hooker 4e93e60313 log unknown error, make ExitMissingError clearer 2016-10-06 11:13:39 -07:00
Matthew Hooker 286b7836fa remove dead code.
continues work from a629f1655b
2016-10-05 18:17:02 -07:00
Matthew Hooker 5ab19ea469 bump ssh library, check for ssh.ExitMissingError
should resolve #3920
2016-10-05 18:16:08 -07:00
Matthew Hooker 7db6e8ec38 copy default params 2016-10-05 16:43:38 -07:00
Matthew Hooker 9b0fdc7509 remove test import hacks 2016-10-05 16:30:29 -07:00
Rickard von Essen 51a9a51699 Update winrm and winrmcp dependencies
Updated winrm and winrmcp dependencies. Relevant unit and acceptance tests passed successfully.

shell.Execute didn't return a Command object.

See f1bcf36a69/winrmcp/cp.go (L167) and 54ea5d0147/winrm/shell.go (L10-L22) respectively.

Closes #3763

Original patch by: Philipp Kosel <philipp.kosel@gmail.com>
2016-10-03 13:48:29 -07: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
开恒 5919f8d552 continue add support for file-provisioner implement directory download feature. 2016-09-18 20:48:30 +08:00
Evan Powell 21373a0568 Test that null communicator conforms to interface 2016-06-30 16:17:22 -05:00
Evan Powell 542fbf3947 Add new interface method to the 'none' communicator 2016-06-30 14:58:07 -05:00
Alex Brown 0cea0e5c24 Swap width and height when allocating a pty
RequestPty from crypto/ssh looks like this:

func (s *Session) RequestPty(term string, h, w int, termmodes TerminalModes) error

So arguments 2 and 3 are height and width, respectively. I'm not sure if
the original was just a typo, or if there's an actual reason we want a
40 column terminal. Either way, having a terminal this narrow led me to
a really "fun" bug[0], where `wget` in my shell provisioner scripts
would segfault when trying to display the progress bar.

[0] http://lists.gnu.org/archive/html/bug-wget/2016-02/msg00041.html
2016-04-06 15:40:19 -04:00
Christopher Boumenot b57ed27352 Add support for NTLM the WinRM communicator.
WinRM exposes an HTTP transport decorator that can be used for different
authentication schemes.  Windows on Azures requires this if one is to use
the out of the box configuration.
2016-03-10 10:53:38 -08:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Chris Bednarski 569e6cc464 go fmt 2016-02-08 17:34:06 -08:00
Chris Bednarski 3d9410f176 Merge branch 'sftp' of https://github.com/2opremio/packer into f-sftp 2016-02-02 14:16:19 -08:00
Chris Bednarski 6587926a2b Merge pull request #2848 from epowell/master
Implement a null-object communicator for 'none'
2016-01-21 12:44:36 -08:00
Ben Goodwin 64152e4a64 Implement WinRM-over-HTTPS 2016-01-12 21:28:20 -05:00
Evan Powell bb8ced8cc9 Implement a null-object communicator for 'none'
Fixes #2736
2015-10-20 17:00:48 -05:00
Mark Peek cad9899cfb communicator/winrm: call wg.Add() before running goroutine 2015-10-14 09:08:39 -07:00
Mark Peek e27b2bcf23 communicator/winrm: fix race in runCommand 2015-10-14 08:25:39 -07:00
Alfonso Acosta a59c82d7a6 Add sftp file transfer support
Adds a new config option: "ssh_file_transfer_method", which can be set to "scp"
or "sftp" (defaults to "scp")
2015-07-26 23:49:18 +00:00
Chris Bednarski 29e6194e49 Added a warning log so we can diagnose failure cases 2015-07-15 12:29:42 -07:00
Chris Bednarski 8e3559c3b1 Guard against uninitialized pointers in io.Copy to fix #2416 2015-07-15 12:26:19 -07:00
Chris Bednarski 0ca03f09c1 Fix some style issues and add a doc to ErrHandshakeTimeout 2015-07-02 11:58:51 -07:00
Chris Bednarski 5dd8ae45c7 Cleanup some resources we may have created 2015-07-02 03:55:18 -07:00
Chris Bednarski 03850cafc6 Implemented timeout around the SSH handshake, including a unit test 2015-07-02 03:40:47 -07:00
Mitchell Hashimoto 8657b1e9d8 communicator/ssh: more logging 2015-06-29 11:40:08 -07:00
Mark Peek d8b6c94012 Fix typo: diabled -> disabled 2015-06-26 10:52:21 -07:00
Mitchell Hashimoto a019575026 helper/communicator: support disabling SSH agent 2015-06-23 14:52:37 -07:00
Mitchell Hashimoto cbaaf0da52 communicator/ssh: support for bastion SSH 2015-06-17 22:10:42 +02:00
Mitchell Hashimoto 49769a17c2 Merge pull request #2243 from mitchellh/f-powershell
Windows provisioners: powershell, windows-shell, windows-restart
2015-06-17 17:51:42 +02:00
Mitchell Hashimoto 686d4413ec communicator/winrm: error if download 2015-06-15 15:08:56 -07:00
Alexander Golovko 8ecca2aa54 implement ssh.Download() 2015-06-15 15:08:18 -07:00
Mitchell Hashimoto b25b7d1fb2 communicator/winrm: log exit code of processes 2015-06-14 11:19:26 -07:00
Mitchell Hashimoto 6077c796f5 communicator/winrm: fix failing test 2015-06-13 22:10:50 -07:00
Mitchell Hashimoto 7a39758054 helper/communicator: WinRM stuff 2015-06-13 22:05:48 -07:00
Mitchell Hashimoto 0c0f876654 communicator/winrm 2015-06-13 22:00:40 -07:00
Mitchell Hashimoto acf31c31a1 communicator/ssh: update logging 2015-06-13 19:00:28 -07:00
Mark Peek b2f8eb68e8 Enable ssh agent forwarding #1066 2015-06-13 17:15:49 -07: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 23a48d6619 go fmt 2015-06-08 21:34:20 -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
Emil Hessman c4d4e0a21f communicator/ssh: bind variable value to closure
Fixes the following vet report:

communicator/ssh/communicator_test.go:88: range variable newChannel captured by func literal
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
Tim Cinel 0f36a051d5 Create temporary copy of symlink before uploading, fixes #1765 2014-12-16 14:11:28 +11:00
Mitchell Hashimoto cc16e19a6b communicator/ssh: upload proper source [GH-1484] 2014-09-10 14:16:24 -07:00
Mitchell Hashimoto 75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto 0d35473d41 communicator/ssh: make TCP keep-alive period shorter [GH-1232] 2014-09-04 11:24:01 -07:00
Ross Smith II d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
Mitchell Hashimoto a629f1655b communicator/ssh: remove background connection checker
Updated SSH package is supposed to be able to detect remote connection
closes now, which is nice.
2014-04-28 15:25:59 -07:00
Mitchell Hashimoto b24fe263da communicator/ssh: fix bad imports 2014-04-26 11:19:37 -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
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 8b99ad7a50 communicator/ssh: fix build 2014-02-21 14:51:33 -08:00
Mitchell Hashimoto 9d55fa7f46 communicator/ssh: set TCP keep-alive [GH-872] 2014-02-21 14:46:05 -08:00
Mitchell Hashimoto 2e03dda014 communicator/ssh: fix build 2013-12-10 18:14:02 -08:00
Mitchell Hashimoto 6359245ef8 communicator/ssh: clearer logging [GH-699] 2013-12-10 18:10:15 -08:00
Mitchell Hashimoto 254653475e communicator/ssh: buffer file on disk to read length [GH-561] 2013-11-02 11:34:54 +01:00
Mitchell Hashimoto 65d391dbeb communicator/ssh: explicitly set c.conn = nil 2013-10-13 22:21:52 -10:00
Mitchell Hashimoto f017fd8af9 go fmt 2013-09-30 11:39:52 -07:00
Mitchell Hashimoto 8cdb92e327 communicator/ssh: dir upload works when dir contains symlinks [Gh-449] 2013-09-25 10:42:49 +02:00
Jason A. Beranek 71358222f0 communicator/ssh, builder/digitalocean: fix new SSH API from upstream 2013-09-19 23:30:22 -05:00
Mitchell Hashimoto 9f52b78602 fmt 2013-09-15 23:29:29 -07:00
Mitchell Hashimoto eaba28a370 communicator/ssh, builder/digitalocean: fix new SSH API from upstream 2013-09-15 12:21:21 -07:00
Mitchell Hashimoto a9bd78a08f communicator/ssh: detect if SCP exited with failure [GH-386] 2013-09-05 19:55:09 -07:00
Mitchell Hashimoto 9a6309738a communicator/ssh: prettify log output 2013-09-05 17:22:37 -07:00
Justin Santa Barbara 253be30bd1 If PKCS1 parsing of the SSH key fails, try PKCS8 2013-08-31 21:54:23 -07:00
Mitchell Hashimoto a6735b1d65 builder/virtualbox: support ssh keys as auth mechanism [GH-70] 2013-08-27 22:55:13 -07:00
Mitchell Hashimoto dce369fb1d communicator/ssh: Reset failure count if heartbeat works 2013-08-27 22:14:31 -07:00
Mitchell Hashimoto 35d0b90f55 communicator/ssh: heartbeat the SSH connection to detect drops [GH-200] 2013-08-27 22:12:21 -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 86abf14b28 communicator/ssh: Trailing slash won't create destination dir 2013-08-25 20:47:10 -07:00
Mitchell Hashimoto 095631107a communicator/ssh: UploadDir works properly 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto a050d344eb communicator/ssh: refactor to upload directories properly 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto 05ab50949f communicator/ssh: refactor scpSession that we'll reuse for UploadDir 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto d857c9ccbb builder/amazon/chroot: implement UploadDir for chroot communicator 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto 443ccc5306 packer/rpc: don't panic on failed Ui calls 2013-08-23 14:39:59 -07:00
Mitchell Hashimoto 043264ca77 communicator/ssh: more error handlingin Upload 2013-08-23 11:27:59 -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 c2451e9f49 communicator/ssh: get data race tests passing 2013-08-21 11:05:21 -07:00
Mitchell Hashimoto 90974a4733 communicator/ssh: fix panic when client is nil on reconnect 2013-08-12 15:22:31 -07:00
Mitchell Hashimoto fa3f87a5f6 communicator/ssh: docs 2013-08-11 16:15:10 -07:00
Rafael Garcia be1f6b79f1 communicator/ssh: ability to use a password-protected key 2013-08-11 09:46:28 -07:00
Mitchell Hashimoto a134a326b8 communicator/ssh: log when remote exits 2013-07-30 17:06:22 -07:00
Mitchell Hashimoto 9b0c3b28c5 communicator/ssh: use SetExited 2013-07-29 12:12:42 -07:00
Jeff Stamerjohn 4ff0185add Windows fixes
Strip carriage returns from end of lines in virtualbox/driver.go, fixing wait for virtualbox host shutdown.
Fix target upload directory path in communicator.go to use forward slashes.  (When running on windows path/filepath returns backslashes...which does not work when the target host is unix).
2013-07-25 09:28:04 -07:00
Mitchell Hashimoto b2397f4fb1 communicator/ssh: style
/cc @markpeek - The main thing is that the style for variables/methods
in Go is to use CamelCase (with the first letter generally downcased
unless an exported thing).
2013-07-19 14:16:39 -04:00
Mitchell Hashimoto b88595b169 communicator/ssh: remove complete TODO 2013-07-19 14:09:20 -04:00
Mark Peek ebd14bb2df Return errors from remote scp command
Currently file provisioners will silently fail when there is an error
with the remote side. This commit checks the scp error code and will
return the error message from the remote.
2013-07-17 18:15:42 -07:00
Mitchell Hashimoto 07449a7801 communicator/ssh: improved logging 2013-07-14 21:07:32 +09:00
Mitchell Hashimoto a0f1667df1 communicator/ssh: tweakable timeout on retry connection 2013-07-14 21:05:22 +09:00
Mitchell Hashimoto ebd3742e3e communicator/ssh: retry connection in ConnectFunc forawhile 2013-07-14 21:02:47 +09:00
Mitchell Hashimoto 2fff555e7f fmt 2013-07-14 20:55:27 +09:00
Mitchell Hashimoto 020e719e92 communicator/ssh: re-establish ssh connection if possible [GH-152] 2013-07-14 20:55:02 +09:00
Mitchell Hashimoto 04463f8254 communicator/ssh: ConnectFunc times out after 15 sceonds 2013-07-14 20:31:51 +09:00
Mitchell Hashimoto 9718a4656c communicator/ssh: have a Connection func so we can re-establish
[GH-152]
2013-07-14 20:22:57 +09:00