Mitchell Hashimoto
6eaa7726d9
website: use the comparison operators in Puppet docs
2013-12-11 12:39:42 -08:00
Mitchell Hashimoto
5dd150a941
provisioner/puppet-masterless: use Go 1.2 template comparators
2013-12-11 12:39:02 -08:00
Mitchell Hashimoto
41b323ce4f
packer/plugin: communicate over unix domain sockets if you can
2013-12-11 12:24:45 -08:00
Mitchell Hashimoto
32ace2aa82
update CHANGELOG
2013-12-11 11:22:53 -08:00
Mitchell Hashimoto
4c9b14effe
provisioner/puppet-masterless: validate manifest_dir is a dir
2013-12-11 11:21:51 -08:00
Mitchell Hashimoto
9b3f37b63f
provisioner/puppet-masterless: simplify manifest dir upload
2013-12-11 11:20:22 -08:00
Mitchell Hashimoto
c09f37a68b
go fmt
2013-12-11 11:19:36 -08:00
Mitchell Hashimoto
1ecdd43eca
Merge branch 'configure-manifest-dir' of https://github.com/Jimdo/packer into Jimdo-configure-manifest-dir
2013-12-11 11:14:45 -08:00
Mitchell Hashimoto
c78da95e18
packer/rpc: remove the PortRange stuff
2013-12-10 18:49:07 -08:00
Mitchell Hashimoto
7085f5c85e
website: update vsphere endpoint docs [GH-695]
2013-12-10 18:17:41 -08:00
Mitchell Hashimoto
916df47ff9
communicator/ssh: fix build
2013-12-10 18:14:02 -08:00
Mitchell Hashimoto
abe0d8b8a6
communicator/ssh: clearer logging [GH-699]
2013-12-10 18:10:15 -08:00
Mitchell Hashimoto
aad214793a
packer/rpc: update some comments
2013-12-10 17:31:54 -08:00
Mitchell Hashimoto
2a17190946
Update CHANGELOG
2013-12-10 17:20:49 -08:00
Mitchell Hashimoto
d3f458116b
Merge pull request #701 from mitchellh/rpc-refactor
...
RPC happens over single TCP connection per plugin now
Three benefits:
* Single file descriptor per plugin
* NAT-friendly since plugins don't have to dial back in to the host
* Opens the foundation that we can easily use Unix domain sockets and such
A handful of Packer users were having issues with highly parallel (many builder/provisioner) templates where their systems would quickly reach their default file descriptor limits. This was because the previous mechanism would use a single TCP connection per RPC server, and Packer needs many (one per interface, basically).
This merges in a MuxConn that multiplexes many "streams" on top of a single io.ReadWriteCloser. The RPC system has been revamped to know about this and use unique stream IDs to send everything over a single connection per plugin.
Previously, the RPC mechanism would sometimes send an address to the remote end and expect the remote end to connect back to it. While Packer shouldn't run remotely, some firewalls were having issues. This should be gone.
Finally, it should be possible now to optimize and use Unix domain sockets on Unix systems, avoiding ports and firewalls altogether.
2013-12-10 17:19:25 -08:00
Mitchell Hashimoto
d71f72a955
Test on Go 1.2
2013-12-10 17:10:41 -08:00
Mitchell Hashimoto
dd50e9d535
packer/rpc: fix data race in MuxConn
2013-12-10 17:09:17 -08:00
Mitchell Hashimoto
10c90e6513
packer/rpc: edge-triggerd state changes for faster dial/accept
2013-12-10 17:01:02 -08:00
Mitchell Hashimoto
322343b631
packer/rpc: hard close all streams when underlying conn closes
2013-12-10 16:49:14 -08:00
Mitchell Hashimoto
1dd77ffe21
packer/rpc: need a real lock for closing
2013-12-10 16:23:47 -08:00
Mitchell Hashimoto
0a863c97a4
packer/rpc: implement proper close_wait state
2013-12-10 15:51:22 -08:00
Mitchell Hashimoto
aa38e7e628
packer/rpc: rename uploadReader to uploadData because that makes sense
2013-12-10 15:30:58 -08:00
Mitchell Hashimoto
f6bb61c490
packer/rpc: more robust communicator connection cleanup
2013-12-10 15:12:16 -08:00
Mitchell Hashimoto
aae2177156
packer/plugin: catch interrupts for every server
2013-12-10 14:12:00 -08:00
Mitchell Hashimoto
bf28b78d98
packer/rpc: improve logging for the MuxConn
2013-12-10 14:11:50 -08:00
Mitchell Hashimoto
faf0c12c47
plugin/*: update to latest API
2013-12-10 13:59:38 -08:00
Mitchell Hashimoto
c93daf6445
packer/plugin: use new RPC API
2013-12-10 13:47:18 -08:00
Mitchell Hashimoto
68b1a7b4c8
packer/rpc: remove unused methods
2013-12-10 13:26:07 -08:00
Mitchell Hashimoto
512e27bdf6
packer/rpc: complete command
2013-12-10 13:23:07 -08:00
Mitchell Hashimoto
27ff2dc7a9
packer/rpc: builds
2013-12-10 13:18:48 -08:00
Mitchell Hashimoto
9986ba64a0
packer/rpc: environment
2013-12-10 12:23:42 -08:00
Mitchell Hashimoto
c51e069a91
packer/rpc: Builder
2013-12-10 12:14:08 -08:00
Mitchell Hashimoto
2dab0cab07
packer/rpc: start command
2013-12-10 12:02:01 -08:00
Mitchell Hashimoto
13b8bef58f
packer/rpc: Provisioner
2013-12-10 11:56:15 -08:00
Mitchell Hashimoto
88830b21b9
packer/rpc: Hook
2013-12-10 11:50:30 -08:00
Mitchell Hashimoto
92ec548dce
packer/rpc: implement Communicator
2013-12-10 11:43:02 -08:00
Mitchell Hashimoto
bcebec8fc3
packer/rpc: better close states
2013-12-10 11:40:17 -08:00
Mitchell Hashimoto
0a6061fd0b
packer/rpc: MuxConn writes don't block the whole loop
2013-12-10 10:44:57 -08:00
Mitchell Hashimoto
77638d0489
packer/rpc: MuxConn.NextId properly increments
2013-12-10 10:34:35 -08:00
Jan Brauer
6750335956
Merge branch 'master' into configure-manifest-dir
2013-12-10 09:08:11 +01:00
Mitchell Hashimoto
02a497c61b
packer/rpc: get PostProcessor working
2013-12-09 19:07:36 -08:00
Mitchell Hashimoto
770a54afe5
packer/rpc: MuxConn can return next available stream ID
2013-12-09 16:27:13 -08:00
Mitchell Hashimoto
e63bdc29b0
packer/rpc: work-in-progress commit
2013-12-09 16:22:11 -08:00
Mitchell Hashimoto
0e7e945182
packer/rpc: post-processors work on a single connection
2013-12-09 15:44:00 -08:00
Mitchell Hashimoto
755f7c8562
packer/rpc: PostProcessor
2013-12-09 14:57:18 -08:00
Mitchell Hashimoto
f54e23d17b
packer/rpc: Cache
2013-12-09 14:51:13 -08:00
Mitchell Hashimoto
0db9b7ad67
packer/rpc: use packer.MockArtifact
2013-12-09 14:46:33 -08:00
Mitchell Hashimoto
d88f8acf4e
packer/rpc: tests passing
2013-12-09 14:44:26 -08:00
Mitchell Hashimoto
6f43f9bfd0
packer/rpc: update docs
2013-12-09 14:29:28 -08:00
Mitchell Hashimoto
a9b0081828
packer/rpc: muxconn is a lot more sane, acts like bsd socket
2013-12-09 14:24:55 -08:00