1
0
mirror of https://github.com/docker/docs.git synced 2026-11-05 00:14:17 +03:00
Commit Graph

47845 Commits

Author SHA1 Message Date
wenchma
482830b296 Reformat to make it look more graceful
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>

Fixing formatting carry and close #1886

Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-27 08:28:52 -08:00
Arnaud Porterie
c24d4e8ab4 Merge pull request #20734 from cpuguy83/fix_flakey_test
Fix flakey TestStatsAllNewContainersAdded
2016-02-27 07:52:18 -08:00
Brian Goff
e386dfc33f fix double-lock
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-27 09:49:21 -05:00
Vincent Demeester
3f4e49aa61 Merge pull request #20739 from LK4D4/keys_config
Add CONFIG_KEYS to check-config.sh
2016-02-27 14:33:54 +01:00
Brian Goff
c2f7777603 Revert "Add finer-grained locking for aufs"
This reverts commit f31014197c.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-27 08:01:19 -05:00
HuKeping
1a68662736 Messaging both succeed and failure about the signing
It would be good to add a clearer failure or succeed message.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-27 15:46:41 +08:00
HuKeping
5dddf7e98e Refactor trust push
Unlike the untrusted push without an explicit tag will push all
tags for that repo, the trusted push would expect an explicit tag.

So that the code that attempts to do smart logic around signing multiple
tags should be removed.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-27 15:46:35 +08:00
Alexander Morozov
c1996c9245 Add CONFIG_KEYS to check-config.sh
We need this after opencontainers/runc#488

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-02-26 23:40:35 -08:00
Aaron Lehmann
a5bd3e6144 Merge pull request #1474 from miminar/respect-errors
Respect errors returned from middleware code
2016-02-26 23:28:37 -08:00
Aaron Lehmann
770b6728db Merge pull request #1481 from stevvooe/remove-AUTHORS-from-default-make-target
Makefile: remove AUTHORS from default target
2016-02-26 23:26:40 -08:00
Clinton Kitson
799ae78b7e Fixes plugin file descriptor leak on plugin discovery
Signed-off-by: Clinton Kitson <clintonskitson@gmail.com>
2016-02-26 19:43:50 -08:00
HuKeping
08c0da745f Drop the actions
All the other code would not have to know about the exact auth mechanism.

Use "readOnly", we can just include "pull" when readonly is true,
and "push", "pull" when readonly is false.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-27 10:26:23 +08:00
Mike Dougherty
adac575dd3 Use multiple keyservers in install script
This improves on an earlier change by adding another keyserver and using a for loop instead of duplicating the command

Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2016-02-26 17:22:00 -08:00
Lei Jitang
79843b727f Add bridgeNfIptables and bridgeNfIp6tables test request
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-26 19:53:35 -05:00
Christian Böhme
2bd365ae2f Changed the Remote API reference to connect a container to a network in v1.22
and v1.23

Signed-off-by: Christian Böhme <development@boehme3d.de>
2016-02-27 01:31:03 +01:00
David Calavera
df2b74188e Merge pull request #20699 from calavera/remove_static_error_declarations
Remove static errors from errors package.
2016-02-26 16:30:12 -08:00
Victor Vieux
82e5aecc05 Merge pull request #1898 from vieux/more_check_test
add even more tests on rescheduling
2016-02-26 15:28:26 -08:00
Aanand Prasad
62fb6b99eb Update FAQ regarding long stop times
- It happens on recreate, not just stop

- We now support `stop_signal`, which can help in some cases

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-26 14:34:44 -08:00
David Calavera
f666d918fc Merge pull request #20672 from justincormack/personality
Add some uses of personality syscall to default seccomp filter
2016-02-26 14:27:23 -08:00
Jeffrey Morgan
de267d701f Update binary plugins for upgrade
Signed-off-by: Jeffrey Morgan <jmorganca@gmail.com>
2016-02-26 14:12:19 -08:00
Tianon Gravi
5bfaab984c Merge pull request #20636 from anusha-ragunathan/apt-ftparchive
Always create apt-ftparchive.conf.
2016-02-26 14:12:06 -08:00
Brian Goff
efd281d6eb Fix flakey TestStatsAllNewContainersAdded
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-26 16:52:36 -05:00
David Calavera
443a5c2021 Make stdcopy.stdWriter goroutine safe.
Stop using global variables as prefixes to inject the writer header.
That can cause issues when two writers set the length of the buffer in
the same header concurrently.

Stop Writing to the internal buffer twice for each write. This could
mess up with the ordering information is written.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-26 16:51:18 -05:00
Alexander Morozov
2f797bb1d9 Merge pull request #20275 from cpuguy83/finer_graph_locks
Finer graph locks
2016-02-26 13:33:34 -08:00
Nathan LeClaire
d87383e8f3 Merge pull request #3121 from nathanleclaire/revert_rax_net_switches
Revert "Rackspace/Openstack - Add/enhance --*-net-* create switches."
2016-02-26 13:33:03 -08:00
Alexander Morozov
51302c29ed Merge pull request #20729 from estesp/pipework
Add synchronization and closure to IO pipes in userns path
2016-02-26 13:33:02 -08:00
Nathan LeClaire
27e8cf175c Merge pull request #3122 from pyrotechnick/patch-1
Fix typo in DigitalOcean driver
2016-02-26 13:32:56 -08:00
Riyaz Faizullabhoy
1a668bb34d add links to release tags, merge copy
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-02-26 13:03:47 -08:00
David Calavera
a793564b25 Remove static errors from errors package.
Moving all strings to the errors package wasn't a good idea after all.

Our custom implementation of Go errors predates everything that's nice
and good about working with errors in Go. Take as an example what we
have to do to get an error message:

```go
func GetErrorMessage(err error) string {
	switch err.(type) {
	case errcode.Error:
		e, _ := err.(errcode.Error)
		return e.Message

	case errcode.ErrorCode:
		ec, _ := err.(errcode.ErrorCode)
		return ec.Message()

	default:
		return err.Error()
	}
}
```

This goes against every good practice for Go development. The language already provides a simple, intuitive and standard way to get error messages, that is calling the `Error()` method from an error. Reinventing the error interface is a mistake.

Our custom implementation also makes very hard to reason about errors, another nice thing about Go. I found several (>10) error declarations that we don't use anywhere. This is a clear sign about how little we know about the errors we return. I also found several error usages where the number of arguments was different than the parameters declared in the error, another clear example of how difficult is to reason about errors.

Moreover, our custom implementation didn't really make easier for people to return custom HTTP status code depending on the errors. Again, it's hard to reason about when to set custom codes and how. Take an example what we have to do to extract the message and status code from an error before returning a response from the API:

```go
	switch err.(type) {
	case errcode.ErrorCode:
		daError, _ := err.(errcode.ErrorCode)
		statusCode = daError.Descriptor().HTTPStatusCode
		errMsg = daError.Message()

	case errcode.Error:
		// For reference, if you're looking for a particular error
		// then you can do something like :
		//   import ( derr "github.com/docker/docker/errors" )
		//   if daError.ErrorCode() == derr.ErrorCodeNoSuchContainer { ... }

		daError, _ := err.(errcode.Error)
		statusCode = daError.ErrorCode().Descriptor().HTTPStatusCode
		errMsg = daError.Message

	default:
		// This part of will be removed once we've
		// converted everything over to use the errcode package

		// FIXME: this is brittle and should not be necessary.
		// If we need to differentiate between different possible error types,
		// we should create appropriate error types with clearly defined meaning
		errStr := strings.ToLower(err.Error())
		for keyword, status := range map[string]int{
			"not found":             http.StatusNotFound,
			"no such":               http.StatusNotFound,
			"bad parameter":         http.StatusBadRequest,
			"conflict":              http.StatusConflict,
			"impossible":            http.StatusNotAcceptable,
			"wrong login/password":  http.StatusUnauthorized,
			"hasn't been activated": http.StatusForbidden,
		} {
			if strings.Contains(errStr, keyword) {
				statusCode = status
				break
			}
		}
	}
```

You can notice two things in that code:

1. We have to explain how errors work, because our implementation goes against how easy to use Go errors are.
2. At no moment we arrived to remove that `switch` statement that was the original reason to use our custom implementation.

This change removes all our status errors from the errors package and puts them back in their specific contexts.
IT puts the messages back with their contexts. That way, we know right away when errors used and how to generate their messages.
It uses custom interfaces to reason about errors. Errors that need to response with a custom status code MUST implementent this simple interface:

```go
type errorWithStatus interface {
	HTTPErrorStatusCode() int
}
```

This interface is very straightforward to implement. It also preserves Go errors real behavior, getting the message is as simple as using the `Error()` method.

I included helper functions to generate errors that use custom status code in `errors/errors.go`.

By doing this, we remove the hard dependency we have eeverywhere to our custom errors package. Yes, you can use it as a helper to generate error, but it's still very easy to generate errors without it.

Please, read this fantastic blog post about errors in Go: http://dave.cheney.net/2014/12/24/inspecting-errors

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-26 15:49:09 -05:00
Vincent Demeester
b2a15a2226 Merge pull request #20725 from runcom/fix-subid-files-parsing
pkg: idtools: fix subid files parsing
2016-02-26 21:28:08 +01:00
Nicholas Kinsey
0bdc0c61ce Fix typo in DigitalOcean driver
"defaultSSHUSer" -> "defaultSSHUser"

Signed-off-by: Nicholas Kinsey <pyro@feisty.io>
2016-02-27 06:07:10 +10:00
Victor Vieux
ef99401539 Merge pull request #1896 from gradywang/issue-typos
Find some typos when browse the code, fix them in this patch.
2016-02-26 11:37:40 -08:00
Nathan LeClaire
a8f00e8ba0 Revert "Rackspace/Openstack - Add/enhance --*-net-* create switches."
This reverts commit 07cadc68a5.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-02-26 11:24:23 -08:00
Phil Estes
995386735c Add synchronization and closure to IO pipes in userns path
The execdriver pipes setup uses OS pipes with fds so that they can be
chown'ed to the remapped root user for proper access. Recent flakiness
in certain short-lived tests (usually via the "exec" path) reveals that
the copy routines are not completing before exit/tear-down.

This fix adds synchronization and proper closure such that these
routines exit successfully.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-26 13:47:34 -05:00
Aanand Prasad
1502c5a14d Merge pull request #3025 from aanand/release-notes-1.6.2
Add release notes for 1.6.2
2016-02-26 10:36:26 -08:00
Justin Cormack
39b799ac53 Add some uses of personality syscall to default seccomp filter
We generally want to filter the personality(2) syscall, as it
allows disabling ASLR, and turning on some poorly supported
emulations that have been the target of CVEs. However the use
cases for reading the current value, setting the default
PER_LINUX personality, and setting PER_LINUX32 for 32 bit
emulation are fine.

See issue #20634

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-02-26 18:43:08 +01:00
David Calavera
e330d0749c Merge pull request #20703 from riyazdf/notary-v0.2.0-vendor
Vendor in notary v0.2.0
2016-02-26 08:53:07 -08:00
Brian Goff
c47674efda Merge pull request #20428 from jfrazelle/generate-conversion
generate seccomp profile convert type
2016-02-26 10:28:23 -05:00
Antonio Murdaca
bf04d68db2 pkg: idtools: fix subid files parsing
Since Docker is already skipping newlines in /etc/sub{uid,gid},
this patch skips commented out lines - otherwise Docker fails to start.
Add unit test also.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-26 15:42:05 +01:00
Sebastiaan van Stijn
9792308b84 Merge pull request #20515 from raesene/patch-1
Update security.md with basic User Namespace info.
2016-02-26 14:02:46 +01:00
Sebastiaan van Stijn
d622494c3b Merge pull request #20722 from thaJeztah/remove-vivid-reference
remove leftover Ubuntu 15.04 from install docs
2016-02-26 13:59:36 +01:00
Yongqiao Wang
ddce40187c Find some typos when browse the code, fix them in this patch.
Signed-off-by: Yongqiao Wang <yqwyq@cn.ibm.com>
2016-02-26 20:16:39 +08:00
Sebastiaan van Stijn
1ca064cb62 remove leftover Ubuntu 15.04 from install docs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-26 13:00:27 +01:00
Victor Vieux
d731f16279 add even more tests on rescheduling
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-02-26 02:00:06 -08:00
Nishant Totla
4619c85bc0 Merge pull request #1894 from allencloud/add-CORS-allow-method-HEAD
Add method HEAD in options response headers
2016-02-25 23:38:42 -08:00
Riyaz Faizullabhoy
0bb1acee37 bumping miekg/pkcs11 dependency for go1.6
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-02-25 21:29:37 -08:00
Jeffrey Morgan
3cd7fe8de0 Tweak toolbox-installer image
Signed-off-by: Jeffrey Morgan <jmorganca@gmail.com>
2016-02-25 21:18:27 -08:00
Brian Goff
6748cc10ac Merge pull request #20655 from hqhq/hq_fix_update_memoryswap
Fix problems when update swap memory
2016-02-25 22:28:53 -05:00
Sun Hongliang
a718e90662 Add method HEAD in options response headers
Signed-off-by: Sun Hongliang <allen.sun@daocloud.io>
2016-02-26 11:02:18 +08:00
HuKeping
af5ee13d8a Bugfix: the actions should not always be pull and push
The similiar fix in docker daemon:
- https://github.com/docker/docker/pull/20382

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-26 10:25:50 +08:00