Commit Graph

417 Commits

Author SHA1 Message Date
Glyn Normington b42d0cb1da Use conventional factory terminology
The Initialize method is responsible for creating a new Container instance
and calling it Create makes the factory pattern more obvious. Clearly
creating a Container instance involves initialising the instance.

Docker-DCO-1.1-Signed-off-by: Glyn Normington <gnormington@gopivotal.com> (github: glyn)
2014-07-10 11:50:51 +01:00
Michael Crosby ca2de1bc2c Merge pull request #81 from crosbymichael/update-factory
Add Load method to factory
2014-07-09 17:30:29 -07:00
Michael Crosby 33855392d8 Replace ID with Path on the container
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-09 17:02:36 -07:00
Michael Crosby 5001b7e841 Add Load method to factory
Also update Initialize to take a path to the container
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-09 16:58:59 -07:00
Victor Marmol 32221d509b Merge pull request #77 from leetreveil/spelling
Fix spelling
2014-07-09 13:59:06 -07:00
Victor Marmol c427473a9d Merge pull request #80 from rjnagal/cgroup-cleanup
Change checks for non-existent cgroup file to a more concise form.
2014-07-09 09:59:17 -07:00
Rohit Jnagal dceaa2e7b3 Cleanup checks for non-existent cgroup file to be concise.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-07-09 16:39:38 +00:00
Victor Marmol 46e34cf630 Merge pull request #76 from vmarmol/api-init
Adding Initialize() to create a new container.
2014-07-08 17:59:04 -07:00
Victor Marmol ff8b888060 Merge pull request #78 from crosbymichael/rename-nsinit-main
Rename package correctly so the binary is nsinit
2014-07-08 16:44:45 -07:00
Michael Crosby 704a90bec4 Rename package correctly so the binary is nsinit
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-08 16:36:59 -07:00
Lee Treveil 6a3cea177c Fix spelling
Docker-DCO-1.1-Signed-off-by: Lee Treveil <leetreveil@gmail.com> (github: leetreveil)
2014-07-09 00:14:51 +01:00
Victor Marmol c90a2c53bc Adding Initialize() to create a new container.
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-07-08 16:02:12 -07:00
Rohit Jnagal 8e3130d7fd Merge pull request #75 from vmarmol/fix-stats
Ignore stats that are not available
2014-07-08 14:31:16 -07:00
Victor Marmol b18a4fdf2e Ignore stats that are not available
Closes #13

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-07-08 14:25:55 -07:00
Rohit Jnagal 12c465c1d2 Merge pull request #67 from vmarmol/api2
Basic version of libcontainer API.
2014-07-08 13:22:40 -07:00
Victor Marmol a01dde8b65 Merge pull request #74 from rjnagal/cgroup_testing
Add a cleanup method to cgroup fs. This will help in building a
2014-07-08 13:21:45 -07:00
Rohit Jnagal d712d29b9a Add a cleanup method to cgroup fs. This will help in building a
standalone cgroup test util. systemd does auto cleanup on empty, so
doesn't need an extra interface.

Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-07-08 18:49:45 +00:00
Michael Crosby dbb515f01f Update api proposal
Move concepts into specific files for easy management
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vmarmol)
2014-07-08 11:27:27 -07:00
Victor Marmol 173642ab0b Basic version of libcontainer API.
This version has mostly the behavior available today and the
functionality agreed upon in other PRs. Further changes will be sent as
smaller PRs for discussion.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-07-07 18:20:08 -07:00
Michael Crosby 99458b9c57 Merge pull request #60 from tianon/cross-travis
Add cross-compilation testing to .travis.yml
2014-07-07 10:50:33 -07:00
Victor Marmol 39ebd07a82 Merge pull request #61 from vishh/split_nsinit
Separate nsinit main from implementation
2014-07-01 16:06:29 -07:00
Vishnu Kannan 28dadc538c Separate nsinit main from implementation. This is done inorder to package nsinit as part of docker binary.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-07-01 22:00:15 +00:00
Tianon Gravi 4f2dd420be Add cross-compilation testing to .travis.yml
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-30 17:08:01 -06:00
Victor Marmol 77c5125e87 Merge pull request #56 from crosbymichael/nsinit-pause
Add pause and unpause commands to nsinit
2014-06-26 18:17:13 -07:00
Michael Crosby 3f0764fa51 Add pause and unpause commands to nsinit
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 16:45:18 -07:00
Victor Marmol 14567adea1 Merge pull request #55 from crosbymichael/nsinit-config
Rename nsinit spec to config and only display raw json
2014-06-26 16:37:36 -07:00
Michael Crosby 361ac10612 Just output raw stats json
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 16:25:55 -07:00
Michael Crosby 21b71ef33d Rename spec to config
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 16:24:16 -07:00
Michael Crosby 53cfe0a1eb Merge pull request #54 from crosbymichael/report-child-error
Report child error to parent
2014-06-26 14:38:11 -07:00
Michael Crosby a980a961c1 Return error on shutdown call
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 14:18:39 -07:00
Michael Crosby bd7d1eb7b6 Fix parent type in sync pipe
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 14:08:49 -07:00
Michael Crosby e098c02ef7 Update tests for network state
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 14:06:26 -07:00
Michael Crosby 73ff1addf9 Fix cross compile with syscall
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 14:03:49 -07:00
Michael Crosby e7916505a3 Add unit test for sync pipe
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 14:03:49 -07:00
Michael Crosby eb9a561b18 Address review comments
Ensure that the command is killed if we receive an error from the child
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 14:02:43 -07:00
Alexander Larsson ca9544522e Report child error better (and later)
We use a unix domain socketpair instead of a pipe for the sync pipe,
which allows us to use two-way shutdown. After sending the
context we shut down the write side which lets the child know
it finished reading.

We then block on a read in the parent for the child closing the file
(ensuring we close our version of it too) to sync for when the child
is finished initializing. If the read is non-empty we assume this
is an error report and fail with an error. Otherwise we continue as
before.

This also means we're now calling back the start callback later,
meaning at that point its more likely to have succeeded, as well as
having consumed all the container resources (like volume mounts,
making it safe to e.g. unmount them when the start callback is
called).

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-26 14:02:43 -07:00
Michael Crosby f975ff9159 Merge pull request #25 from vishh/network_stats
Adding per container network stats
2014-06-26 13:58:18 -07:00
Vishnu Kannan 813d247bc7 Fixing some nits.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-26 20:49:02 +00:00
Victor Marmol dfb1ea8171 Merge pull request #43 from cf-guardian/nsinit_usage
Improve nsinit usage instructions
2014-06-26 07:09:11 -07:00
Glyn Normington 29adc8c29f Improve nsinit usage instructions
nsinit must be run as root.

Tidy up the README somewhat to clarify the distinction between
libcontainer and the nsinit CLI.

Fix some typos in other files.

Docker-DCO-1.1-Signed-off-by: Glyn Normington <gnormington@gopivotal.com> (github: glyn)
2014-06-26 11:57:09 +01:00
Vishnu Kannan 3e5fe45417 Further refactoring.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-26 05:40:58 +00:00
Vishnu Kannan ab4201f240 Refactoring.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-26 05:04:20 +00:00
Vishnu Kannan 98c2593cdc Refactores network Interface a bit to use NetworkState struct instead of a map for passing runtime information around.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-25 22:51:28 +00:00
Vishnu Kannan edf1e856a0 RuntimeCkpt is now State and the checkpoint file is called state.json.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-25 21:29:04 +00:00
Vishnu Kannan 481552c02b Created a global runtime checkpoint for libcontainer. Got rid of the network specific runtime checkpoint.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-25 19:20:07 +00:00
Vishnu Kannan 9253412ee1 1. Added a basic version of network stats inside network package.
2. Introducing a new checkpoint file 'network.stats' which will contain the network runtime information (veth interface names for now).
3. Adding network stats to 'nsinit stats'.
4. Added a libcontainer Stats API to get both network and cgroup stats

Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-25 19:19:10 +00:00
Michael Crosby ce034dff2e Merge pull request #50 from crosbymichael/create-state
Create state
2014-06-25 12:16:02 -07:00
Michael Crosby f6ada60a68 Merge pull request #48 from crosbymichael/add-oom-event
Add oom notify event
2014-06-25 11:56:28 -07:00
Michael Crosby 5bb250143e Rename to InitPid
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-25 11:42:08 -07:00
Michael Crosby 77dcaac129 Update code based on review comments
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-25 11:36:54 -07:00