-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP Initial attempt at adding Criu support to Docker #2
Open
boucher
wants to merge
602
commits into
docker-master
Choose a base branch
from
boucher-cr-novend
base: docker-master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
boucher
changed the title
Initial attempt at adding Criu support to Docker
WIP Initial attempt at adding Criu support to Docker
Apr 9, 2015
@boucher |
Signed-off-by: Jessica Frazelle <[email protected]>
change httpError logic
Enhanced port integration-cli tests
Remove engine.Job from Builder.
Add -H|--human command-line flag to `docker history`
Enable "netgo" library when we build with gccgo
Add support cpu cfs_quota
Clarify data volume init with existing data
Signed-off-by: Antonio Murdaca <[email protected]>
Remove writeJSONEnv, fixes moby#12597
Docker-DCO-1.1-Signed-off-by: Dan Walsh <[email protected]> (github: rhatdan)
Signed-off-by: Alexander Morozov <[email protected]>
It prints test name and duration for each test. Also performs deleteAllContainers after each test. Signed-off-by: Alexander Morozov <[email protected]>
Signed-off-by: Antonio Murdaca <[email protected]>
Remove job image_tarlayer
Signed-off-by: Antonio Murdaca <[email protected]>
Remove job image_get
Fixes moby#12551 Signed-off-by: Ankush Agarwal <[email protected]>
Signed-off-by: Antonio Murdaca <[email protected]>
It was unused Signed-off-by: Alexander Morozov <[email protected]>
…onfig Remove not needed call to container.readHostConfig()
Remove engine from trust
Remove image_set engine job
moving integration tests to graph unit tests
…ctions-from-doc Remove some unsupported instructions in the docs.
Adding in Seb's comments Updating with Fred's comments Signed-off-by: Mary Anthony <[email protected]>
Signed-off-by: Alexander Morozov <[email protected]>
…ner_json Fix undead containers
Signed-off-by: Vincent Batts <[email protected]>
Closes moby#9856 Signed-off-by: Vincent Batts <[email protected]>
Signed-off-by: Vincent Batts <[email protected]>
fix a minor inspect format issue
Rewrite Official Repos page.
Signed-off-by: Dave Goodchild <[email protected]>
Add support for exclusion rules in dockerignore
…actor Expose whole Response struct in sockRequestRaw
Implement daemon suite for integration-cli
…appers Expose the getResourcePath and getRootResourcePath wrappers.
Signed-off-by: Lei Jitang <[email protected]>
Fix docker rename help not consistent with other commands
Should fix moby#11598 Signed-off-by: Vincent Demeester <[email protected]>
… handled outside with a channel Signed-off-by: Antonio Murdaca <[email protected]>
Add coverage on pkg/fileutils
…d-cgroups Option to configure cgroup manager (adds --exec-opt)
Append DROP rule with --icc=false, not insert
…integration-cli c.Fatal won't fail and exit test inside a goroutine
…ting-term Add error check before getting term
More systemd goodness. Documenting where `docker.service` lives under Ubuntu 15. Signed-off-by: Ahmet Alp Balkan <[email protected]>
docs: Add more places docker.service can be at
This branch represents a merge of current Docker master with the libcontainer criu and swrk branches, along with @SaiedKazemi's original Docker criu branch. In addition to trying to get those branches working, a few features have been added tot he Criu support (in various states of completion), chiefly: being able to specify output directories and being able to leave the process running after checkpointing.
boucher
force-pushed
the
boucher-cr-novend
branch
from
April 30, 2015 02:51
584cef0
to
5b1db18
Compare
boucher
pushed a commit
that referenced
this pull request
Aug 5, 2015
TL;DR: check for IsExist(err) after a failed MkdirAll() is both redundant and wrong -- so two reasons to remove it. Quoting MkdirAll documentation: > MkdirAll creates a directory named path, along with any necessary > parents, and returns nil, or else returns an error. If path > is already a directory, MkdirAll does nothing and returns nil. This means two things: 1. If a directory to be created already exists, no error is returned. 2. If the error returned is IsExist (EEXIST), it means there exists a non-directory with the same name as MkdirAll need to use for directory. Example: we want to MkdirAll("a/b"), but file "a" (or "a/b") already exists, so MkdirAll fails. The above is a theory, based on quoted documentation and my UNIX knowledge. 3. In practice, though, current MkdirAll implementation [1] returns ENOTDIR in most of cases described in #2, with the exception when there is a race between MkdirAll and someone else creating the last component of MkdirAll argument as a file. In this very case MkdirAll() will indeed return EEXIST. Because of #1, IsExist check after MkdirAll is not needed. Because of #2 and #3, ignoring IsExist error is just plain wrong, as directory we require is not created. It's cleaner to report the error now. Note this error is all over the tree, I guess due to copy-paste, or trying to follow the same usage pattern as for Mkdir(), or some not quite correct examples on the Internet. [v2: a separate aufs commit is merged into this one] [1] https://github.com/golang/go/blob/f9ed2f75/src/os/path.go Signed-off-by: Kir Kolyshkin <[email protected]>
boucher
pushed a commit
that referenced
this pull request
Apr 14, 2016
Fix exec start api with detach and AttachStdin at same time. fixes #2…
boucher
pushed a commit
that referenced
this pull request
Dec 4, 2017
This subtle bug keeps lurking in because error checking for `Mkdir()` and `MkdirAll()` is slightly different wrt to `EEXIST`/`IsExist`: - for `Mkdir()`, `IsExist` error should (usually) be ignored (unless you want to make sure directory was not there before) as it means "the destination directory was already there" - for `MkdirAll()`, `IsExist` error should NEVER be ignored. Mostly, this commit just removes ignoring the IsExist error, as it should not be ignored. Also, there are a couple of cases then IsExist is handled as "directory already exist" which is wrong. As a result, some code that never worked as intended is now removed. NOTE that `idtools.MkdirAndChown()` behaves like `os.MkdirAll()` rather than `os.Mkdir()` -- so its description is amended accordingly, and its usage is handled as such (i.e. IsExist error is not ignored). For more details, a quote from my runc commit 6f82d4b (July 2015): TL;DR: check for IsExist(err) after a failed MkdirAll() is both redundant and wrong -- so two reasons to remove it. Quoting MkdirAll documentation: > MkdirAll creates a directory named path, along with any necessary > parents, and returns nil, or else returns an error. If path > is already a directory, MkdirAll does nothing and returns nil. This means two things: 1. If a directory to be created already exists, no error is returned. 2. If the error returned is IsExist (EEXIST), it means there exists a non-directory with the same name as MkdirAll need to use for directory. Example: we want to MkdirAll("a/b"), but file "a" (or "a/b") already exists, so MkdirAll fails. The above is a theory, based on quoted documentation and my UNIX knowledge. 3. In practice, though, current MkdirAll implementation [1] returns ENOTDIR in most of cases described in #2, with the exception when there is a race between MkdirAll and someone else creating the last component of MkdirAll argument as a file. In this very case MkdirAll() will indeed return EEXIST. Because of #1, IsExist check after MkdirAll is not needed. Because of #2 and #3, ignoring IsExist error is just plain wrong, as directory we require is not created. It's cleaner to report the error now. Note this error is all over the tree, I guess due to copy-paste, or trying to follow the same usage pattern as for Mkdir(), or some not quite correct examples on the Internet. [1] https://github.com/golang/go/blob/f9ed2f75/src/os/path.go Signed-off-by: Kir Kolyshkin <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch represents a merge of current Docker master with the libcontainer criu and swrk branches, along with @SaiedKazemi's original Docker criu branch. In addition to trying to get those branches working, a few features have been added tot he Criu support (in various states of completion), chiefly: being able to specify output directories and being able to leave the process running after checkpointing.
(removed committed vendor code from other branch)