Commit Graph

201 Commits

Author SHA1 Message Date
Solomon Hykes c7a78ae81e Simple fork-exec backend
Signed-off-by: Solomon Hykes <solomon@docker.com>
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2014-06-06 01:39:35 +00:00
Solomon Hykes 3243ae084b Move each backend to a separate file
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 07:14:06 +00:00
Aanand Prasad fc41d09026 Rough implementation of 'docker run'
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com> (github: aanand)
2014-06-02 06:50:40 +00:00
Aanand Prasad 188d75e0ab Convert 'forward' backend to beam
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com> (github: aanand)
2014-06-02 06:50:40 +00:00
Solomon Hykes 3634a1c9ee Merge pull request #32 from bfirsh/multiple-backends-pipe 2014-06-05 14:48:30 -07:00
Ben Firshman adcff5d700 go fmt
Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-06-05 12:41:39 -07:00
Ben Firshman 0d7cf7415d Make debug backend forward on all messages
Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-06-05 12:41:19 -07:00
Ben Firshman 3bb782faf1 Add support for multiple backends piped together
Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-06-05 12:40:26 -07:00
Ben Firshman a0874d7b1c Add string representation of verb enum
Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-06-05 12:38:54 -07:00
Solomon Hykes d95b9728e8 beam: encode Verb in an enum instead of a string
Signed-off-bu: Solomon Hykes <solomon@docker.com>
2014-06-05 07:02:21 +00:00
Solomon Hykes 56ee97a572 Remove Hub
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-05 07:00:30 +00:00
Solomon Hykes 91c9eec591 Break down beam plumbing into smaller, simpler files
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-05 06:00:50 +00:00
Solomon Hykes c10e5255ee Port the 'simulator' backend to beam
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 10:13:13 +00:00
Solomon Hykes c752f6e66e Update usage message
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 09:56:20 +00:00
Aanand Prasad 3a54fb513a Attach to backend instance before starting it
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 07:31:04 +00:00
Aanand Prasad 75b1e228cc Remove extra goroutine wrapper in task.go
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 07:30:57 +00:00
Solomon Hykes af2c34b3b5 Simplify swarmd with new beam plumbing
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 00:07:39 +00:00
Solomon Hykes 88828b27b8 beam.Tree: plumbing for an in-memory object tree
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 00:07:39 +00:00
Solomon Hykes ef69ac0858 beam.Task: plumbing for a long running task
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 00:07:39 +00:00
Solomon Hykes 1b22a97f19 First version of an object model
* beam.Verb enumerates all standard verbs
* beam.Object implements standard verbs as convenience client methods
* beam.Server implements stateless handlers to process incoming standard verbs
* beam.Repeater always replies with the same message
* beam.Handler exposes a function as a Receiver

Standard verbs include:

* Object navigation: ls, attach
* Execution: spawn, start, stop
* Notifications: log, error, ack
* Data: set, get

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-03 00:06:36 +00:00
Solomon Hykes 58f7d34f0f Move Pipe() into the beam package
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-06-02 23:55:15 +00:00
Solomon Hykes 16b16715b2 [wip] swarm TODO 2014-06-02 06:22:08 +00:00
Solomon Hykes 99c1e317ac beam: Queue wraps a Sender in a channel for serializing and synchronizing
Solomon Hykes <solomon@docker.com>
2014-06-02 06:20:58 +00:00
Solomon Hykes 6925101cac swarmd: UI polish
* Fix usage message
* Builtin error handler
2014-06-02 06:20:20 +00:00
Solomon Hykes 3265abfa2e Simplify the beam API
* Callback pattern that is easier to grok: each message has an optional nested return channel, instead of 2 nested streams
* Return channel is in the Message structure: less arguments and return values to pass around
* Caller can request a pipe as return channel, or pass its own. This makes proxying and advanced plumbing operations much easier.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 06:15:28 +00:00
Solomon Hykes f86db62eae beam/inmem: remove unused structure field 2014-06-02 06:12:41 +00:00
Solomon Hykes f556ed19f7 swarmd: remove unused engine/beam adapters.
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 06:09:44 +00:00
Solomon Hykes a1dcc4aceb swarmd: default LOG handler
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 00:50:35 +00:00
Solomon Hykes 4f3c557bcf fakeclient backend: switch to object model navigation 2014-06-02 00:50:20 +00:00
Solomon Hykes 5dd211ad0b swarmd: more informative error messages
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 00:24:25 +00:00
Solomon Hykes cb275dab0b swarmd: don't trigger an error on EOF
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 00:23:42 +00:00
Solomon Hykes 38d8b4eb03 Splice: close destination when copy is over 2014-06-02 00:22:51 +00:00
Solomon Hykes 4963740da3 Remove separate beam repo from Godeps
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 00:05:47 +00:00
Solomon Hykes 8a8e36e364 Change imports to use embedded beam version
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-02 00:04:08 +00:00
Solomon Hykes 91ae1d7353 Merge beam into libswarm
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-01 23:49:08 +00:00
Solomon Hykes 6ec69681b0 Merge pull request #14 from shykes/pr_out_stacksender_send_never_returns_a_nil_value 2014-06-01 16:34:32 -07:00
Solomon Hykes 396253a4ee StackSender.Send never returns a nil value
Fix StackSender.Send to always honor the `W` and `R` modes, by:

1) returning a valid Sender and Receiver when the respective flags are set, and
2)  returning a value which doesn't need to be Closed, when they are not.

This also moves `NopSender` and `NopReceiver` out of `utils`, to prevent
a circular dependency.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-06-01 23:30:33 +00:00
Solomon Hykes c90ce90113 WIP more beam conversion 2014-06-01 22:34:03 +00:00
Solomon Hykes 36b9bf7958 Merge pull request #13 from shykes/pr_out_fix_hub_and_stacksender_to_honor_modes 2014-05-30 19:36:39 -07:00
Solomon Hykes 59a431d748 Merge pull request #12 from shykes/pr_out_hub_convenience_api_to_register_jobs 2014-05-27 23:31:40 -07:00
Solomon Hykes 5b54be92ca Update beam version to fix a crash when calling unknown backend.
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-05-27 12:14:42 +00:00
Solomon Hykes c5b8976409 [WIP] switch to Beam 2014-05-31 00:33:53 +00:00
Solomon Hykes 23ec7937ea Merge pull request #14 from bfirsh/update-godeps-to-docker-master 2014-05-29 16:19:10 -07:00
Ben Firshman e738a671a8 Update godeps to use Docker master
Will be easier for folks to get started if they don't have to add
shykes/docker.

Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-05-28 12:00:43 +01:00
Solomon Hykes c4b3c7e839 Merge pull request #12 from tutumcloud/fix-acceptconnections 2014-05-27 17:07:07 -07:00
fermayo 5052519b1a register acceptconnections before calling it 2014-05-27 15:30:20 -04:00
Solomon Hykes 2b547caa75 Fix Hub and StackSender to honor modes
StackSender.Send and Hub.Send now return a valid Sender and Receiver
when the corresponding flags are set in `mode`.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-05-27 12:05:52 +00:00
Solomon Hykes e4beab1432 Hub: convenience API to register jobs
* `Hub.Register`
* `Hub.RegisterTask`
* `Hub.RegisterName`
2014-05-27 06:26:20 +00:00
Solomon Hykes 84027640c2 Merge pull request #10 from bfirsh/add-cloud-backend-dependencies 2014-05-26 19:40:11 -07:00
Solomon Hykes b69fb4ec3b Merge pull request #11 from bfirsh/cloud-backend-fixes 2014-05-26 19:39:26 -07:00