Commit Graph

350 Commits

Author SHA1 Message Date
8d1ce4f1b2 beam/data: convenience Message.Pretty() function
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: eca6fecb590b1a3107beb910f8df5aef0da457e6
Component: engine
2014-04-22 15:50:18 -07:00
67a797ee49 beam/examples/beamsh: basic implementation of the pipeline design, with static handlers for now.
In the pipeline design, several beam commands can be run concurrently,
with their respective inputs and outputs connected in such a way that
beam messages flow from the first to last. This is similar to the way
a unix shell executes commands in a pipeline: instead of STDIN and
STDOUT, each beam command has a "BEAMIN" and "BEAMOUT".

Since beam allows for richer communication than plain byte streams, beam
pipelines can express more powerful computation, while retaining the
fundamental elegance and ease of use of unix-style composition.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: d4920b3fffb5458e8d5368f50cedea8e45b21cee
Component: engine
2014-04-22 15:50:18 -07:00
97fa55bc83 beam/examples/beamsh: better debugging messages
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: ec288895e53da11dc28a87d70fc1dd19c63433b8
Component: engine
2014-04-22 15:50:18 -07:00
a143455085 beam/examples/beamsh: simple 'exec' command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: ab2010cfd32b50bb2ff0e4ef9449c0464253b83b
Component: engine
2014-04-22 15:50:18 -07:00
4fa458b774 beam/examples/beamsh: catch introspection calls from jobs for proper nesting
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 5689792171bc6cd5f6d5c2e574d6b976c5f3557c
Component: engine
2014-04-22 15:50:18 -07:00
bb08f36e5e beam: fix FD leaks in SendPipe
This fixes file descriptor leaks in the SendPipe function.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: bcd31405cffba0334c2a71c2be908aa8299400ae
Component: engine
2014-04-22 15:50:18 -07:00
865e951d26 beam: more hooks for interactive debugging
This inserts low-level hooks for interactive step-by-step debugging.
Hooks are triggered by setting the *TEST* environment variable.

This is particularly useful for tracking down file descriptor leaks,
double-closing, or other issues which are difficult to debug with
the usual toolbox.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 1737063904dbcc311bee64b4c48548549006e62e
Component: engine
2014-04-22 15:50:17 -07:00
86299552de beam/examples/beamsh: first try at nested execution
The "wiring" is broken because engine does not keep a reference for handling introspection calls.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 6072dec9e774f1012faa73713c404603f4a09a14
Component: engine
2014-04-22 15:50:17 -07:00
3f7c1ec59c beam/examples/beamsh: fix a bug in the log command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 8697490740ca3b3ae87c30e71a8baf49dddb7789
Component: engine
2014-04-22 15:50:17 -07:00
d5f3f21a43 beam/data: convenience Message.Get
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 488fe61354d772e5a4c13e4b893d976cc2361863
Component: engine
2014-04-22 15:50:17 -07:00
65cd70beaa beam/examples/beamsh: use beam/data
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 460c98d92d6195f7833c19a5a955576842871638
Component: engine
2014-04-22 15:50:17 -07:00
3887238dfb beam/data: Message.Bytes() convenience method
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 5bcf2a736ce154aa9cd6c664db639a35f888fd18
Component: engine
2014-04-22 15:50:17 -07:00
14e7275b78 beam/data: fix a bug in encoding of multi-value maps
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 99dda11d4525c5153a10c4c95c5f46ca3512fc69
Component: engine
2014-04-22 15:50:17 -07:00
07c76db398 beam/data: convenience Message type for chained manipulation
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 276fb1918deb19ee90495e8c88cb5c6774ec31df
Component: engine
2014-04-22 15:50:17 -07:00
d3187d4d93 Beam: remove leftover debugging messages
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 916372c76ffaa3e49bb3c76cf904e675c2b23710
Component: engine
2014-04-22 15:50:17 -07:00
8fdd535d5f beam/examples/beamsh: hide debug messages in examples/beamsh by default
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: cb66e8c1366ed5aae9df1bf59b71aed5a83590f4
Component: engine
2014-04-22 15:50:17 -07:00
dc55e5a0c1 beam/data: a simple format for sending structured data over beam
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 97a2c0ebe66a03593bd184b226f54f38063adf0d
Component: engine
2014-04-22 15:50:16 -07:00
603021f92d beam/examples/beamsh: more bells and whistles for demos
* Automatically switch to interactive mode when stdin is a terminal

* Basic implementation of "responses"

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 771e493457914722dc31a232ce7f01bc1504fd56
Component: engine
2014-04-22 15:50:16 -07:00
2989594be0 Beam: fix bug in beamsh which 'swapped' FDs because of underlying implementation of net.FileConn
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 851c1b05d07e5e96450d702f5997560fa657740d
Component: engine
2014-04-22 15:50:16 -07:00
330c80b96d pkg/dockerscript: <!> is not a special character
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 4481e80636f282b1164b6e4ef0f4cdec246daed5
Component: engine
2014-04-22 15:50:16 -07:00
4d56be89dd Beam: don't close the attachment FD when closing superfluous FDs
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 07c03944ffc5010ae0300bfd794c79f44e1637d4
Component: engine
2014-04-22 15:50:16 -07:00
130eed1f2b Beam: debugging hooks for easy step-by-step inspection of the FD table
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 8875cdf56191a91adb20a86186c7d402cd65a4e3
Component: engine
2014-04-22 15:50:16 -07:00
4bad942357 beam/examples/beamsh: use 'log' command to pass stdout
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: f586dcf307a612d464c6281fac86c291f6bf70b2
Component: engine
2014-04-22 15:50:16 -07:00
2b84970b47 beam/examples/beamsh: basic execution of commands, with in-process beam and dummy handlers
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: d00a6b76480e4c05ffdc6b30434d2b5b11a54ab9
Component: engine
2014-04-22 15:50:16 -07:00
2626066262 pkg/dockerscript: remove debug messages
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: f0933a91b045932e84c47e1e6e9209065924f740
Component: engine
2014-04-22 15:50:16 -07:00
3d01f8e3b0 pkg/dockerscript: '.' is not a special character
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 5c14c3ada569f9c6a84b4fbbdbd5ed2b82fda4d8
Component: engine
2014-04-22 15:50:15 -07:00
97dc795a22 Beam: Send: pass the underlying error unchanged to allow io.EOF detection
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: f94a18677a8c832d386ea96714c7e58874bb31f9
Component: engine
2014-04-22 15:50:15 -07:00
b63ccc059a pkg/dockerscript: expose a simple, clean API with a single Parse method
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 11f2531da631f25437216a051be7699ff2d4663a
Component: engine
2014-04-22 15:50:15 -07:00
6186d9389e beam/examples/beamsh: correctly parse nested commands
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 7f00a3b6652c9601986e9b7020ceb78cfd3f7740
Component: engine
2014-04-22 15:50:15 -07:00
d22e5562e8 dockerscript: patch text/scanner to use a shell-like syntax instead of the default go-like syntax
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: fd890136a9fc5770b0e2acf5fbb966bbb377a1f3
Component: engine
2014-04-22 15:50:15 -07:00
27b0b6b2ee pkg/dockerscript: a simple shell-like syntax to express docker operations
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: cd8ddacdc7ced235dafda9b8ff0177cf2c5827f3
Component: engine
2014-04-22 15:50:15 -07:00
9f2ceac9b4 Beam: beamsh is a mini-shell which runs processes and communicates with them over beam
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: be470f2497eb478b81e46134e5ce13fb41c4ec1c
Component: engine
2014-04-22 15:50:15 -07:00
8c46cf1cfd Beam: basic test harness for the unix socket implementation.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 0e42c7d889232ea90192ec368637c3f05c6347c8
Component: engine
2014-04-22 15:50:15 -07:00
887592a8d7 Beam: USocketPair returns a *net.UnixConn socket pair for convenience.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 59853c188d6f7a3b1d73af7451d2b92d9d37ab21
Component: engine
2014-04-22 15:50:15 -07:00
b6a1a1be31 Beam: fix file descriptor leaks
* Close all file descriptors successfully sent as attachment
* Close duplicate file descriptors created by net.FileCon and net.UnixConn.File

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: c401c43cae4d646a2a7f87850518a1d6ca6ada57
Component: engine
2014-04-22 15:50:15 -07:00
f4f2d42aa7 Beam: change the prototype of SendPipe() to return a *net.UnixSocket
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: b637e5f04af010bd1fc6bef93b8512d587d90c46
Component: engine
2014-04-22 15:50:14 -07:00
3a8ae6b55f Beam: allow sending messages without attachments.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 188c2ef806f50312139484c7d34bd9a3e42773ec
Component: engine
2014-04-22 15:50:14 -07:00
f1a1563d00 Beam: convenience functions Listen and Connect
These convenience functions expose a familiar face to the unknown and bizarre world of beam networking.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 3960da04c87e8830378699c5b2b47a50944359b6
Component: engine
2014-04-22 15:50:14 -07:00
780c1843ce Beam: a simple stream-oriented communication protocol for distributed systems.
This patch includes a stripped down implementation with a bare minimum
unix socket transport. It relies on fd passing for stream multiplexing.

The purpose of this first patch is to allow implementation of dynamic
linking, which will allow advanced service discovery.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 5957e6b385065cfa7e1ada851b1811a0900ef836
Component: engine
2014-04-22 15:50:14 -07:00
e178abd17a Merge pull request #5328 from crosbymichael/refactor-cgroups
Refactor cgroups into subsystems and support metrics
Upstream-commit: 781671245778c8cfdde1892204bb10899020b0d8
Component: engine
2014-04-21 14:06:17 -07:00
9f1c340e38 Merge pull request #5223 from crosbymichael/load-profile
Use apparmor parser directly 
Upstream-commit: c0d5eac120913ac1c52f2abf41c454bbf0242263
Component: engine
2014-04-21 21:50:59 +03:00
1ea14534fa Merge branch 'master' into load-profile
Conflicts:
	daemon/execdriver/native/create.go
	daemon/execdriver/native/driver.go

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: 813cebc64fb4b628e2938405d86144060c330eb9
Component: engine
2014-04-21 10:32:13 -07:00
eec18ea747 Make sure @proc is defined
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: ac814ee3c76a3851d361e8dddfed7ac93ddf10e2
Component: engine
2014-04-21 10:28:04 -07:00
7aff9b75c9 Use cgo to get systems clock ticks for metrics
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 004cf556e86a03d8961416b3e8a0a476a424b10f
Component: engine
2014-04-21 10:26:22 -07:00
f2dbe8f1d1 Refactor stat parsing to use only 8 fields
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: f59be989dc92503f29aa94ebf9ea4097ec28b8c9
Component: engine
2014-04-20 20:45:08 -07:00
3973334e17 work on cpu stats
Docker-DCO-1.1-Signed-off-by: Evan Hazlett <ejhazlett@gmail.com> (github: ehazlett)
Upstream-commit: 2f24b5a9dcc9ca5da07563fb0dd381e49ed844cc
Component: engine
2014-04-21 00:07:05 -04:00
d5fdf0aaaa Add freezer stats
This one is a problem because the most useful stat is a string and not a
float like verything else.  We may have to change the return type
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: bce49dff0d46dec620e755ed859efa791054a843
Component: engine
2014-04-20 18:35:33 -07:00
a0be7fcb46 Reuse cpuacct stats for cpu subsystem
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 3bfe13de2c38fda5b57e2499f474da701495c5ba
Component: engine
2014-04-20 18:20:44 -07:00
2f3e3558eb Fix parsing of blkio files
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 37248039e186f57768bb5c4fad23b1bca65448f7
Component: engine
2014-04-20 18:18:17 -07:00
030a007d36 Add external function to get cgroup stats
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 7f12260fd13329f3bafe4b42ad4193ff963bb1e2
Component: engine
2014-04-20 17:36:20 -07:00