Commit Graph

2990 Commits

Author SHA1 Message Date
Euan 0b5131444d Set OOMKilled state on any OOM event
This restores the behavior that existed prior to #16235 for setting
OOMKilled, while retaining the additional benefits it introduced around
emitting the oom event.

This also adds a test for the most obvious OOM cases which would have
caught this regression.

Fixes #18510

Signed-off-by: Euan <euank@amazon.com>
2015-12-15 19:27:57 +00:00
Phil Estes 0faee5896d Remove unecessary chown on mqueue device path
This was causing the host /dev/mqueue to be remapped to the daemon's
user namespace range root user and group. Given the perms are open on
the mqueue path, there is no need to chown this path at all.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-12-15 14:11:03 -05:00
Jess Frazelle 2180dd6cf0 Merge pull request #18617 from tiborvass/cleanup-builder
Cleanup builder: remove container package dependency
2015-12-15 09:59:29 -08:00
Brian Goff ce0b1841c8 Merge pull request #17034 from rhvgoyal/volume-propagation
Capability to specify per volume mount propagation mode
2015-12-15 12:14:41 -05:00
Alexander Morozov 812a7c204a Merge pull request #18531 from coolljt0725/update_container_networking_on_create
fix docker inspect return unconsistent network settings  of created container and stopped container
2015-12-15 08:47:54 -08:00
Daniel Nephin c4472b389d Move registry.SearchResult types to api/types/registry.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-15 11:44:20 -05:00
Tibor Vass 93c0de2af4 builder: remove unused Retain/Release and put Mount/Unmount back
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-12-15 17:24:07 +01:00
Tibor Vass c70f8b3c9c builder: remove container package dependency
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-12-15 17:24:07 +01:00
Antonio Murdaca f22ee02c6d devmapper: store base device fs type
After the very first init of the graph `docker info` correctly shows the
base fs type under `Backing Filesystem`. This information isn't stored
anywhere. After a restart (w/o erasing `/var/lib/docker`) `docker info`
shows an empty string under `Backing Filesystem`.
This patch records the base fs type after the first run in the metadata
or, to fix old devices that don't have this info in the metadata, just
probe the fs type of the base device at graph startup.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-12-15 09:33:19 +01:00
Vincent Demeester 6c0c199103 Merge pull request #18659 from Mashimiao/blkio-bps-tfix
tfix: modify internal variable name to be lower-case
2015-12-15 09:20:15 +01:00
Chris Dituri 0aa6ace6e6 Make daemon/graphdriver/devmapper log messages with a common, consistent prefix.
Closes #16667

Uses the prefix "devmapper:" for all the fmt and logrus error, debug, and info messages.

Signed-off-by: Chris Dituri <csdituri@gmail.com>
2015-12-14 21:35:13 -06:00
Ahmet Alp Balkan 755f8609f6 Add containers’ networks to /containers/json
After addition of multi-host networking in Docker 1.9, Docker Remote
API is still returning only the network specified during creation
of the container in the “List Containers” (`/containers/json`) endpoint:

    ...
    "HostConfig": {
      "NetworkMode": "default"
    },

The list of networks containers are attached to is only available at
Get Container (`/containers/<id>/json`) endpoint.
This does not allow applications utilizing multi-host networking to
be built on top of Docker Remote API.

Therefore I added a simple `"NetworkSettings"` section to the
`/containers/json` endpoint. This is not identical to the NetworkSettings
returned in Get Container (`/containers/<id>/json`) endpoint. It only
contains a single field `"Networks"`, which is essentially the same
value shown in inspect output of a container.

This change adds the following section to the `/containers/json`:

    "NetworkSettings": {
      "Networks": {
        "bridge": {
          "EndpointID": "2cdc4edb1ded3631c81f57966563e...",
          "Gateway": "172.17.0.1",
          "IPAddress": "172.17.0.2",
          "IPPrefixLen": 16,
          "IPv6Gateway": "",
          "GlobalIPv6Address": "",
          "GlobalIPv6PrefixLen": 0,
          "MacAddress": "02:42:ac:11:00:02"
        }
      }
    }

This is of type `SummaryNetworkSettings` type, a minimal version of
`api/types#NetworkSettings`.

Actually all I need is the network name and the IPAddress fields. If folks
find this addition too big, I can create a `SummaryEndpointSettings` field
as well, containing just the IPAddress field.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-12-14 19:03:23 -08:00
Ma Shimiao 38797ca61b tfix: modify internal variable name to be lower-case
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-12-15 09:50:16 +08:00
Derek McGowan a7e0968321 Add metadata function to layer store
Add function to get metadata from layer store for a mutable layer

fixes #18614

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-12-14 16:52:15 -08:00
Qiang Huang f408b4f463 Adapt container settings when start
`adaptContainerSettings` is growing up, new it's only called
when create. It'll be a problem that old containers will never
have chance to adapt the latest rule. `HostConfig` of these
containers will be obsoleted.

Add this calling to start to avoid problems like #18550 and
avoid such backward compatability in the future.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-12-15 08:42:26 +08:00
Alexander Morozov ecc3717cb1 Merge pull request #18612 from mrunalp/update_runc
Update runc/libcontainer to v0.0.6
2015-12-14 13:05:53 -08:00
David Calavera 75d69ce0da Merge pull request #18637 from dnephin/move_auth_config
Move more api types to api/types package
2015-12-14 11:53:30 -08:00
Jess Frazelle c38aa60180 Merge pull request #18393 from qzio/apparmor/ptrace-ubuntu14
Enable ptrace in a container on apparmor below 2.9
2015-12-14 10:07:01 -08:00
Daniel Nephin 96c10098ac Move IndexInfo and ServiceConfig types to api/types/registry/registry.go
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-12-14 11:28:02 -05:00
Daniel Nephin 5b321e3287 Move AuthConfig to api/types
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-12-14 11:22:01 -05:00
Vivek Goyal d4b4ce2588 Check Propagation properties of source mount point
Whether a shared/slave volume propagation will work or not also depends on
where source directory is mounted on and what are the propagation properties
of that mount point. For example, for shared volume mount to work, source
mount point should be shared. For slave volume mount to work, source mount
point should be either shared/slave.

This patch determines the mount point on which directory is mounted and
checks for desired minimum propagation properties of that mount point. It
errors out of configuration does not seem right.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-12-14 10:39:53 -05:00
Vivek Goyal a2dc4f79f2 Add capability to specify mount propagation per volume
Allow passing mount propagation option shared, slave, or private as volume
property.

For example.
docker run -ti -v /root/mnt-source:/root/mnt-dest:slave fedora bash

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-12-14 10:39:53 -05:00
Vincent Demeester 5e0283effa Merge pull request #18618 from dnephin/refactor_resolve_auth_config
Refactor ResolveAuthConfig to remove the builder dependency on cli code
2015-12-14 15:23:36 +01:00
Justas Brazauskas 927b334ebf Fix typos found across repository
Signed-off-by: Justas Brazauskas <brazauskasjustas@gmail.com>
2015-12-13 18:04:12 +02:00
Lei Jitang c427131c94 update network settings on container creating
To make docker inspect return a consistent result of networksettings
for created container and stopped container, it's bettew to update
the network settings on container creating.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-12-13 02:34:44 -05:00
Sebastiaan van Stijn 51ffc088a5 Merge pull request #18270 from hqhq/hq_refactor_verify_config
Move verify container resources to a separate function
2015-12-12 12:47:19 +01:00
Antonio Murdaca 1fffc0270f Merge pull request #15365 from twistlock/14674-docker-authz
Docker authorization plug-in infrastructure
2015-12-12 12:30:33 +01:00
Antonio Murdaca 241f6d7107 Merge pull request #18592 from hqhq/hq_fix_start
Add lock for container update
2015-12-12 12:17:18 +01:00
Daniel Nephin 920ea13516 Refactor ResolveAuthConfig to remove the builder dependency on cli code.
registry.ResolveAuthConfig() only needs the AuthConfigs from the ConfigFile, so
this change passed just the AuthConfigs.

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-12-11 19:31:24 -08:00
Mrunal Patel e8f7d5885d Update runc/libcontainer to v0.0.6
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-12-11 15:24:32 -05:00
Liron Levin de4ffdfe48 Change authz plugin argument name
Signed-off-by: Liron Levin <liron@twistlock.com>
2015-12-11 20:59:15 +02:00
David Calavera d7d512bb92 Rename `Daemon.Get` to `Daemon.GetContainer`.
This is more aligned with `Daemon.GetImage` and less confusing.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-12-11 12:39:28 -05:00
Marius Sturm a31435c8a2 dont trim gelf log message
Signed-off-by: Marius Sturm <marius@graylog.com>
2015-12-11 10:28:24 +01:00
Qiang Huang c6bfb54ac1 Move verify container resources to a separate function
Make the code easy to view.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-12-11 10:59:29 +08:00
Qiang Huang 464eefd795 Add lock for container update
Container needs to be locked when updating the fields, and
this PR also remove the redundant `parseSecurityOpt` since
it'll be done in `setHostConfig`.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-12-11 10:33:13 +08:00
David Calavera b89676bead Merge pull request #18580 from tophj-ibm/fix-typo-blkio-invalid-device
Fix typo in named test and docs.
2015-12-10 15:19:41 -08:00
Alexander Morozov ac453a310b Merge pull request #18353 from aaronlehmann/transfer-manager
Improved push and pull with upload manager and download manager
2015-12-10 14:52:48 -08:00
Christopher Jones 7c077c2c34 Fixed typo change deivce to device.
This changes deivce to device in daemon, test and docs.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2015-12-10 15:23:05 -06:00
Vincent Demeester 13155ac47e Merge pull request #18555 from runcom/clean-devmapper
devmapper: remove unused var
2015-12-10 18:17:04 +01:00
Phil Estes 2ea48e9fc0 Merge pull request #18197 from nalind/workaround-go-libgcc
Work around a linking problem on 32-bit arches
2015-12-10 11:50:03 -05:00
Antonio Murdaca 037cbcec98 devmapper: remove unused var
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-12-10 08:28:02 +01:00
Brian Goff ff0e33824a Merge pull request #18550 from ibuildthecloud/panic
Don't dereference HostConfig.MemorySwapiness if nil
2015-12-09 23:11:18 -05:00
Aaron Lehmann 572ce80230 Improved push and pull with upload manager and download manager
This commit adds a transfer manager which deduplicates and schedules
transfers, and also an upload manager and download manager that build on
top of the transfer manager to provide high-level interfaces for uploads
and downloads. The push and pull code is modified to use these building
blocks.

Some benefits of the changes:

- Simplification of push/pull code
- Pushes can upload layers concurrently
- Failed downloads and uploads are retried after backoff delays
- Cancellation is supported, but individual transfers will only be
  cancelled if all pushes or pulls using them are cancelled.
- The distribution code is decoupled from Docker Engine packages and API
  conventions (i.e. streamformatter), which will make it easier to split
  out.

This commit also includes unit tests for the new distribution/xfer
package. The tests cover 87.8% of the statements in the package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-12-09 19:13:35 -08:00
Daniel Nephin efda9618db Move networking api types to the api/types/networking package.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-12-09 13:55:59 -08:00
Darren Shepherd 5ac12c418f Don't dereference HostConfig.MemorySwapiness if nil
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-12-09 14:47:51 -07:00
Qiang Huang 2347f98003 Check minimum kernel memory limit to be 4M
Fixes: #18405

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-12-09 14:26:41 +08:00
Phil Estes 191cefbaca Fix overlay and user namespace permissions
All underlay dirs need proper remapped ownership. This bug was masked by the
fact that the setupInitLayer code was chown'ing the dirs at startup
time. Since that bug is now fixed, it revealed this permissions issue.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-12-08 14:28:28 -05:00
Dima Stopel 8cc0892269 Fixing documentation according to comments by @moxiegirl and @thaJeztah
Signed-off-by: Dima Stopel <dima@twistlock.com>
2015-12-08 17:34:15 +02:00
Liron Levin 75c353f0ad Docker authorization plug-in infrastructure enables extending the functionality of the Docker daemon with respect to user authorization. The infrastructure enables registering a set of external authorization plug-in. Each plug-in receives information about the user and the request and decides whether to allow or deny the request. Only in case all plug-ins allow accessing the resource the access is granted.
Each plug-in operates as a separate service, and registers with Docker
through general (plug-ins API)
[https://blog.docker.com/2015/06/extending-docker-with-plugins/]. No
Docker daemon recompilation is required in order to add / remove an
authentication plug-in. Each plug-in is notified twice for each
operation: 1) before the operation is performed and, 2) before the
response is returned to the client. The plug-ins can modify the response
that is returned to the client.

The authorization depends on the authorization effort that takes place
in parallel [https://github.com/docker/docker/issues/13697].

This is the official issue of the authorization effort:
https://github.com/docker/docker/issues/14674

(Here)[https://github.com/rhatdan/docker-rbac] you can find an open
document that discusses a default RBAC plug-in for Docker.

Signed-off-by: Liron Levin <liron@twistlock.com>
Added container create flow test and extended the verification for ps
2015-12-08 17:34:15 +02:00
Sebastiaan van Stijn b36b492039 Merge pull request #18108 from phemmer/no-mtu-discovery
don't try to use default route MTU as container MTU
2015-12-08 00:26:29 +01:00
Patrick Hemmer fd9d7c02fc don't try to use default route MTU as bridge MTU
Signed-off-by: Patrick Hemmer <patrick.hemmer@gmail.com>
2015-12-07 17:32:51 -05:00
Brian Goff 41ae615aa1 Merge pull request #18442 from MHBauer/move-configs
move configs structs to remove dependency on deamon
2015-12-07 13:38:43 -05:00
Morgan Bauer 63fb931a0b
move configs structs to remove dependency on daemon
- Moved the following config structs to api/types
   - ContainerRmConfig
   - ContainerCommitConfig

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-12-07 09:03:25 -08:00
Phil Estes 7d6a2e3cf5 Merge pull request #18451 from WeiZhang555/net-err
Better error message for network connect
2015-12-07 09:17:48 -05:00
Tibor Vass 1f8efc687c Merge pull request #18123 from aidanhs/aphs-fail-on-broken-tar
Ensure adding a broken tar doesn't silently fail
2015-12-07 14:38:21 +01:00
Tibor Vass ba77a5b46f Merge pull request #18329 from liusdu/mount_err
Fix rm container error in aufs and devicemapper after daemon crash
2015-12-07 12:47:52 +01:00
Joel Hansson 6480feb766 Enable ptrace in a container on apparmor below 2.9
Ubuntu 14.04 LTS is on apparmor 2.8.95.
This enables `ps` inside a container without causing
audit log entries on the host.

Signed-off-by: Joel Hansson <joel.hansson@ecraft.com>
2015-12-07 11:08:49 +01:00
Zhang Wei 8edb941b79 Better error message for network connect
Use better error message when user want to connect container with same
name to one network, this can help avoid confusion.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-12-07 17:39:13 +08:00
Jess Frazelle 87a614ed55 Merge pull request #17989 from jfrazelle/initial-seccomp-support
Phase 1: Initial seccomp support
2015-12-05 08:33:58 -08:00
Jess Frazelle a56f258c8a Merge pull request #18436 from estesp/fix-initlayer-perms
Fix init layer chown of existing dir ownership
2015-12-04 11:53:09 -08:00
Phil Estes 51b0f23127 Merge pull request #18398 from calavera/system_backend
Move docker system information to a dedicated router and backend.
2015-12-04 12:56:57 -05:00
Phil Estes 23b771782a Fix init layer chown of existing dir ownership
This solves a bug where /etc may have pre-existing permissions from
build time, but init layer setup (reworked for user namespaces) was
assuming root ownership.  Adds a test as well to catch this situation in
the future.

Minor fix to wrong ordering of chown/close on files created during the
same initlayer setup.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-12-04 12:18:05 -05:00
Ma Shimiao 3f15a055e5 Add support for blkio read/write bps device
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-12-04 09:26:03 +08:00
Jessica Frazelle 6707f4b9b6
inital seccomp support
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-12-03 16:30:44 -08:00
Michael Crosby 168b490062 Merge pull request #18347 from tiborvass/container_package
Move Container to its own package (carry of 17969)
2015-12-03 14:10:16 -08:00
Tibor Vass 5bb4d0d9ea Move DisconnectFromNetwork back to daemon/
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-12-03 20:10:27 +01:00
David Calavera 867f432985 Move docker system information to a dedicated router and backend.
Because I like the name `system` better than `local` :)

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-12-03 13:38:56 -05:00
Alexander Morozov 4b55765c11 Use /docker as cgroup parent instead of docker
It means that containers will be created under root cgroup and not under
daemon cgroup.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-03 08:42:45 -08:00
Phil Estes d9755df2b3 Merge pull request #18391 from runcom/remove-daemon-config-func
daemon: remove private func config()
2015-12-03 11:42:31 -05:00
David Calavera 6bb0d1816a Move Container to its own package.
So other packages don't need to import the daemon package when they
want to use this struct.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-12-03 17:39:49 +01:00
Tibor Vass 33ab2bb52c Merge pull request #18266 from calavera/events_pub_sub
Event PubSub topics + linear filtering.
2015-12-03 17:11:40 +01:00
Liu Hua 451f751773 fix Put without Get in aufs
this Patch is ported from 3916561619

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-12-03 22:22:25 +08:00
Liu Hua f7bdb97357 Fix Put without Get in devicemapper
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-12-03 22:22:25 +08:00
Antonio Murdaca 3662f58083 daemon: remove private func config()
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-12-03 11:46:53 +01:00
David Calavera 434d2e8745 Add PubSub topics.
A TopicFunc is an interface to let the pubisher decide whether it needs
to send a message to a subscriber or not. It returns true if the
publisher must send the message and false otherwise.

Users of the pubsub package can create a subscriber with a topic
function by calling `pubsub.SubscribeTopic`.

Message delivery has also been modified to use concurrent channels per
subscriber. That way, topic verification and message delivery is not
o(N+M) anymore, based on the number of subscribers and topic verification
complexity.

Using pubsub topics, the API stops controlling the message delivery,
delegating that function to a topic generated with the filtering
provided by the user. The publisher sends every message to the
subscriber if there is no filter, but the api doesn't have to select
messages to return anymore.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-12-02 16:43:49 -05:00
David Calavera f8364c013d Merge pull request #18369 from LK4D4/misleading_rm
daemon/delete.go: use less confusing naming of functions
2015-12-02 11:57:18 -08:00
Arnaud Porterie 8f1f53f735 Merge pull request #16277 from runcom/add-oom-score-adj
Add OomScoreAdj
2015-12-02 11:49:51 -08:00
Brian Goff f411b101ac Merge pull request #18285 from hqhq/hq_fix_swappiness
Set default MemorySwappiness when adapt
2015-12-02 14:25:08 -05:00
David Calavera d4be46def4 Merge pull request #13587 from rhatdan/volume-tmpfs
Add tmpfs as a valid volume source command.
2015-12-02 11:16:49 -08:00
Alexander Morozov 828f63f1ab daemon/delete.go: use less confusing naming of functions
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-02 11:10:14 -08:00
Jess Frazelle fcccf2dae4 Merge pull request #18350 from duglin/Issue9798a
Deprecate -f flag from docker tag
2015-12-02 08:16:09 -08:00
Jess Frazelle e07769bc5a Merge pull request #18351 from LK4D4/fix_rm_race
Fix race between two ContainerRm
2015-12-02 08:13:52 -08:00
David Calavera 93d1dd8036 Make filtering a linear operation.
Improves the current filtering implementation complixity.
Currently, the best case is O(N) and worst case O(N^2) for key-value filtering.
In the new implementation, the best case is O(1) and worst case O(N), again for key-value filtering.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-12-02 11:12:42 -05:00
Nalin Dahyabhai 0ca6d77e6e Revert "prevent journald from being built on ARM"
This reverts commit 6f6f10a75f, so that we
can apply a different workaround.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2015-12-02 10:30:13 -05:00
Dan Walsh b3e527dfd2 This patch adds --tmpfs as a option for mounting tmpfs on directories
It will Tar up contents of child directory onto tmpfs if mounted over

This patch will use the new PreMount and PostMount hooks to "tar"
up the contents of the base image on top of tmpfs mount points.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2015-12-02 10:06:59 -05:00
Antonio Murdaca 2969abc6c5 Move defaultSHMSize in daemon pkg
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-12-02 10:28:10 +01:00
Alexander Morozov 4d1007d75c Fix race between two ContainerRm
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-01 20:13:18 -08:00
Doug Davis 8d4fe141c4 Deprecate -f flag from docker tag
Closes #9798

@maintainers please note that this is a change to the UX. We no longer
require the -f flag on `docker tag` to move a tag from an existing image.
However, this does make us more consistent across our commands,
see https://github.com/docker/docker/issues/9798 for the history.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-12-01 19:53:49 -08:00
Qiang Huang 4089b4e440 Set default MemorySwappiness when adapt
It makes the inspect result consistent between cli and REST api
when MemorySwappiness is not set.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-12-02 10:53:52 +08:00
Qiang Huang 1415f55cc0 Move security opt adaption to adapt function
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-12-02 08:26:11 +08:00
Alexander Morozov 5efb37616f Merge pull request #18308 from mountkin/delete-graphdb-later
fix 2 corner cases in container create cleanup and container removal
2015-12-01 13:19:59 -08:00
Shijiang Wei 4953ea1eae fix 2 corner cases in container create cleanup and container removal
- avoid empty Names in container list API when fails to remove
    a container
  - avoid dead containers when fails to create a container

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-12-02 01:37:50 +08:00
Antonio Murdaca ef1d410b02 fix shm size handling
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-12-01 16:29:40 +01:00
Phil Estes c8891158bd Merge pull request #18310 from rhvgoyal/log-fs-creation
devmapper: Log start and end of filesystem creation
2015-12-01 09:49:13 -05:00
Sebastiaan van Stijn c6a2bce919 Merge pull request #18331 from runcom/fix-typo
daemon: daemon_experimental.go: fix typo
2015-12-01 15:48:10 +01:00
Vivek Goyal a489e685c0 devmapper: Log start and end of filesystem creation
ext4 filesystem creation can take a long time on 100G thin device and
systemd might time out and kill docker service. Often user is left thinking
why docker is taking so long and logs don't give any hint. Log an info
message in journal for start and end of filesystem creation. That way
a user can look at logs and figure out that filesystem creation is
taking long time.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-12-01 13:05:46 +00:00
Antonio Murdaca 4c8088268c daemon: daemon_experimental.go: fix typo
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-12-01 12:03:50 +01:00
David Calavera d7117a1b71 Make sure container start doesn't make the DNS fields nil.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-30 22:46:31 -05:00
Jess Frazelle e852959fad Merge pull request #18178 from jfrazelle/apparmor-we-meet-again
Fix docker-default profile handing signals
2015-11-30 11:34:34 -08:00
Alexandre Beslic 0f0cf267e8 Merge pull request #18204 from mavenugo/dhb
Configurable discovery ttl and heartbeat timer
2015-11-30 11:00:53 -08:00
Jessica Frazelle f8db9a09e0
check version for docker-default aa profile
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-11-30 10:18:12 -08:00
Jess Frazelle 360a106511 Merge pull request #18303 from runcom/lxc-leftover
daemon: remove sysInitPath, lxc leftover
2015-11-30 09:37:05 -08:00
Alexander Morozov 377e1d75f9 Merge pull request #18239 from jfrazelle/17783-fix-regex
Fix parsing of apparmor pcre syntax
2015-11-30 09:15:25 -08:00
Antonio Murdaca d3af7f283d Add OomScoreAdj to configure container oom killer preferences
libcontainer v0.0.4 introduces setting `/proc/self/oom_score_adj` to
better tune oom killing preferences for container process. This patch
simply integrates OomScoreAdj libcontainer's config option and adjust
the cli with this new option.

Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-11-30 11:19:04 +01:00
Antonio Murdaca 1b726b29b2 daemon: remove sysInitPath, lxc leftover
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-11-30 10:04:13 +01:00
Qiang Huang dd7b4fd651 Fix kernel memory limit
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-11-28 09:47:25 +08:00
Alexander Morozov b8c21783f0 Merge pull request #17108 from coolljt0725/fix_remove_image
Fix docker rmi trying to remove a being used parent
2015-11-26 12:21:30 -08:00
Brian Goff 9ebf7dfae3 Merge pull request #18252 from aaronlehmann/tarstream-readcloser
Make TarStream return an io.ReadCloser
2015-11-25 21:35:21 -05:00
Lei Jitang 0bbc9f1d2d Fix docker rmi trying to remove a being used parent
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-11-26 09:57:20 +08:00
Aaron Lehmann 21278efaee Make TarStream return an io.ReadCloser
Currently, the resources associated with the io.Reader returned by
TarStream are only freed when it is read until EOF. This means that
partial uploads or exports (for example, in the case of a full disk or
severed connection) can leak a goroutine and open file. This commit
changes TarStream to return an io.ReadCloser. Resources are freed when
Close is called.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-11-25 16:39:54 -08:00
Tonis Tiigi 20e759ab56 Validate adding digests to tagstore with go types
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-11-25 15:06:51 -08:00
Jessica Frazelle c0f7fdc025
Fix parsing of apparmor pcre syntax
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-11-25 10:38:18 -08:00
Madhu Venugopal 2efdb8cbf5 Make discovery ttl and heartbeat configurable
Docker daemon uses kv-store as the host-discovery backend.
Discovery module tracks the liveness of a node through a simple
keepalive mechanism.  The keepalive mechanism depends on every
node performing heartbeat by registering itself with the discovery
module (via KV-Store Put operation). And for every Put operation,
the discovery module in all other nodes will receive a Watch
notification. That keeps the node alive.
Any node that fails to register itself within the TTL timer is
considered dead and removed from the discovery database.

The default timer (heartbeat = 20 seconds & ttl = 60 seconds)
works fine for small clusters.  But for large clusters, these
default timers are extremely aggressive and that causes high CPU
& most of the processing is spent managing the node discovery
and that impacts normal daemon operation.

Hence we need a way to make the discovery ttl and heartbeat
configurable.  As the cluster size grows, the user can change
these timers to make sure the daemon scales.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-11-25 06:51:55 -08:00
David Calavera 38abba9e2c Move versioned references of inspect functions to the daemon.
Leaving only one versioned main function that a backend must implement.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-24 14:03:39 -05:00
Tonis Tiigi 4352da7803 Update daemon and docker core to use new content addressable storage
Add distribution package for managing pulls and pushes. This is based on
the old code in the graph package, with major changes to work with the
new image/layer model.

Add v1 migration code.

Update registry, api/*, and daemon packages to use the reference
package's types where applicable.

Update daemon package to use image/layer/tag stores instead of the graph
package

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-11-24 09:40:25 -08:00
Stefan Berger 5cd6b3eca2
Adjust docker-default profile when docker daemon is confined
Adjust the docker-default profile for when the docker daemon is running in
AppArmor confinement. To enable 'docker kill' we need to allow the container
to receive kill signals from the daemon.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
2015-11-23 15:20:01 -08:00
Aidan Hobson Sayers 3243e504d0 Ensure adding a broken tar doesn't silently fail
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-11-23 14:18:58 +00:00
Stefan Scherer 6f6f10a75f prevent journald from being built on ARM
Signed-off-by: Govinda Fichtner <govinda.fichtner@googlemail.com>
2015-11-21 15:17:31 +01:00
David Calavera 9ca2e4e81c Move exec store to its own package inside the daemon.
Remove double reference between containers and exec configurations by
keeping only the container id.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-20 17:40:16 -05:00
Michael Crosby b5c507750f Merge pull request #18051 from calavera/extract_streams
Extract StreamConfig struct out of the daemon package.
2015-11-20 13:45:13 -08:00
David Calavera 3f5b8f712d Extract StreamConfig struct out of the daemon package.
This is a small configuration struct used in two scenarios:

1. To attach I/O pipes to a running containers.
2. To attach to execution processes inside running containers.

Although they are similar, keeping the struct in the same package
than exec and container can generate cycled dependencies if we
move any of them outside the daemon, like we want to do
with the container.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-20 15:04:27 -05:00
Vincent Demeester f064b9941c Merge pull request #18073 from runcom/hostconfig-resources
runconfig: split resources into a struct
2015-11-20 20:29:44 +01:00
David Calavera 8fa09749fb Merge pull request #17718 from wenchma/17716_before_filter_doc
Re-implement --before and --since as options for --filter
2015-11-20 11:24:19 -08:00
Antonio Murdaca 1a0b483e02 runconfig: split resources into a struct
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-11-20 19:40:01 +01:00
Wen Cheng Ma 1921c62938 Re-implement --before and --since as options for --filter
* This commit will mark --before and --since as deprecated, but leave their behavior
  unchanged until they are removed, then re-implement them as options for --filter.

* And update the related docs.

* Update the integration tests.

Fixes issue #17716

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2015-11-20 13:10:13 +08:00
NIWA Hideyuki 5aeaf2a0c4 Addition of "--shm-size" to which size of /dev/shm is changed.
- Optional "--shm-size=" was added to the sub-command(run, create,and build).
- The size of /dev/shm in the container can be changed
  when container is made.
- Being able to specify is a numerical value that applies number,
  b, k, m, and g.
- The default value is 64MB, when this option is not set.
- It deals with both native and lxc drivers.

Signed-off-by: NIWA Hideyuki <niwa.hiedyuki@jp.fujitsu.com>
2015-11-20 09:24:18 +09:00
Alexander Morozov 8e6e38990c Merge pull request #18084 from wenchma/18054_exec_start_fix
Update docs and test of exec create api return codes
2015-11-19 13:51:46 -08:00
Alexander Morozov 24fb3659df Merge pull request #18076 from rhvgoyal/unmount-recursive
Unmount recursively to unmount volumes
2015-11-19 13:46:48 -08:00
Alexander Morozov 37f64ded44 Merge pull request #17908 from calavera/carry_17059
[Carry 17059] allow filtering containers by any status
2015-11-19 13:24:43 -08:00
Vivek Goyal b9e701b203 Use lazy unmount to unmount volumes
Volumes can have more mount points beneath them and unmount will fail. This
is the case when a bind mounted directory on host already had a mount point
underneath it. So use lazy unmount instead.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-11-19 20:46:07 +00:00
Kamil Domański f30364c583 allow filtering containers by any status
Signed-off-by: Kamil Domański <kamil@domanski.co>
(cherry picked from commit 9ada6a06c57ce4ed4bfad50f603962b7b9ce6fb1)
2015-11-19 14:11:41 -05:00
John Howard 37d2a70038 Windows: [TP4] docker info crashes
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-19 11:02:25 -08:00
Wen Cheng Ma 01b86d612c Update docs and test of exec create api return codes
Fixes issue #18054

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2015-11-19 22:22:27 +08:00
Vincent Demeester c32f8bb36a Merge pull request #17704 from LK4D4/default_cgroupfs
Use fs cgroups by default
2015-11-19 14:01:13 +01:00
Alexander Morozov 419fd7449f Use fs cgroups by default
Our implementation of systemd cgroups is mixture of systemd api and
plain filesystem api. It's hard to keep it up to date with systemd and
it already contains some nasty bugs with new versions. Ideally it should
be replaced with some daemon flag which will allow to set parent systemd
slice.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-18 16:16:13 -08:00
Michael Crosby 877fe61f75 Merge pull request #18065 from calavera/one_container_constructor_to_rule_them_all
Remove the container initializers per platform.
2015-11-18 14:06:47 -08:00
David Calavera 060f4ae617 Remove the container initializers per platform.
By removing deprecated volume structures, now that windows mount volumes we don't need a initializer per platform.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-18 08:41:46 -05:00
Kenjiro Nakayama 84781a5df7 docker info suppports case-insensitive proxy env settings
Signed-off-by: Kenjiro Nakayama <nakayamakenjiro@gmail.com>
2015-11-18 10:58:19 +09:00
Michael Crosby 3f508f08de Merge pull request #17261 from mountkin/remove-unused-daemon-config
remove the unused DefaultNetwork member from daemon.Config
2015-11-17 16:33:11 -08:00
Michael Crosby 104dab87ea Merge pull request #17478 from vdemeester/pr-13921
Carry#13921 : Expand /info: Expose OSType (GOOS), Architecture (GOARCH)
2015-11-17 15:44:57 -08:00
Alexander Morozov adce1981f4 Merge pull request #17593 from daehyeok/refactoring_json_log
Refactoring json log driver
2015-11-17 15:38:52 -08:00
Alexander Morozov d3744fbeb1 Merge pull request #18002 from Microsoft/10662-registerlinks
Windows: Disable links
2015-11-17 11:48:53 -08:00
Michael Crosby 1ecb9a40db Merge pull request #17974 from anusha-ragunathan/fsMagic
Fix devmapper backend in docker info
2015-11-17 11:44:48 -08:00
Alexander Morozov 9187656305 Merge pull request #16639 from mrunalp/skip_dev_setup
Skip /dev setup in container when it is bind mounted in
2015-11-17 11:36:00 -08:00
Alexander Morozov 4dda67b801 Merge pull request #16452 from rhatdan/btrfs-selinux
Relabel BTRFS Content on container Creation
2015-11-17 11:03:40 -08:00
Alexander Morozov f18d5da6a7 Merge pull request #17300 from kunalkushwaha/plugin-info
Patch for Plugin drivers in docker info
2015-11-17 10:46:29 -08:00
David Calavera 6f1bc096a6 Merge pull request #18025 from Microsoft/10662-ArgumentEscaping
Windows: Fix docker exec
2015-11-17 11:14:54 +01:00
Darren Stahl d7692b02bd Typo in previous PR processConfig, not c.ProcessConfig
Signed-off-by: Darren Stahl <darst@microsoft.com>
2015-11-16 11:56:01 -08:00
Alexander Morozov a3065fa48f Merge pull request #17891 from splunk/splunk-logger-support-for-tag-env-labels
Allow configurable metadata for Splunk log driver
2015-11-16 10:11:27 -08:00
Tibor Vass 92487d7fb4 Merge pull request #17985 from Microsoft/jjh/firstboot
Windows: [TP4] Fix regression on second or later container starts
2015-11-16 10:03:46 +01:00
Kunal Kushwaha aa7fd884e6 Supported added for reterving Plugin list for Network and Volume.
Also, plugin information in docker info output.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2015-11-16 15:28:09 +09:00
John Howard b2771b4456 Windows: Disable links
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-15 21:32:31 -08:00
Sebastiaan van Stijn cf824d9749 Merge pull request #17479 from coolljt0725/show_warning
Show warning when user specify dm.basesize for already initialized devicemapper driver
2015-11-15 08:51:33 +01:00
daehyeok mun 086c0b4a66 Extract rotate file writer from json log driver
Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2015-11-14 16:15:44 -07:00
Vincent Demeester 49779b674a Add pkg/parsers/architecture and pkg/platform
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-11-14 23:03:02 +01:00
Olle Jonsson 4e8fcd4002 /info: Add keys Architecture, OSType
- introduces Swarm-relevant keys, see #13634
  - docs updated

Signed-off-by: Olle Jonsson <olle.jonsson@gmail.com>
2015-11-14 22:21:45 +01:00
John Howard 8da449055f Windows: Fix regresion on first boot
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-14 11:06:19 -08:00
Antonio Murdaca ad8a66573c Merge pull request #17851 from Microsoft/10662-ArgumentEscaping
Prevent double escaping of Dockerfile commands on Windows
2015-11-14 17:25:53 +01:00
Anusha Ragunathan fdc2641c2b Fix devmapper backend in docker info
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2015-11-13 21:05:47 -08:00
Michael Crosby 439633cee6 Merge pull request #17977 from Microsoft/jjh/archivewindowscomment
Windows: Fixes comment in archive_windows.go
2015-11-13 16:00:14 -08:00
Michael Crosby 58244392e5 Merge pull request #17979 from Microsoft/jjh/tidytodowindows
Remove 'TODO Windows' unnecessary comment
2015-11-13 15:59:06 -08:00
unclejack 13963957eb Merge pull request #17877 from aaronlehmann/capped-bytespipe
Cap the amount of buffering done by BytesPipe
2015-11-14 00:51:11 +02:00
Alexander Morozov 5e2d4aaec2 Merge pull request #17980 from Microsoft/jjh/configuresysinit
Remove uncalled configureSysInit
2015-11-13 14:30:03 -08:00
John Howard 2648655a4a Remove uncalled configureSysInit
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-13 13:43:09 -08:00
John Howard 208ad80605 Remove TODO Windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-13 13:07:27 -08:00
John Howard e5261d6e4a Windows: Fixes comment
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-13 12:51:05 -08:00
Alexander Morozov 42fa8e3128 Merge pull request #17417 from cpuguy83/15815_add_log_file_poller
Fallback to file polling for jsonlog reader on err
2015-11-13 11:49:54 -08:00
Darren Stahl 9db5db1b94 This fixes the case where arguments are escaped twice from Dockerfiles on
Windows

Signed-off-by: Darren Stahl <darst@microsoft.com>
2015-11-13 10:43:06 -08:00
Alexander Morozov cccf674943 Merge pull request #16873 from coolljt0725/expand_docker_info
Add more cgroup config to docker info
2015-11-13 09:37:06 -08:00
Alexander Morozov f9daecc880 Rename daemon/utils_*.go to selinux
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-12 15:48:41 -08:00
Vincent Demeester 588fedef4a Merge pull request #17949 from Microsoft/jjh/cpuweighttp4
Windows: TP4 fix cpu weight
2015-11-12 21:13:09 +01:00
Vincent Demeester 318a13b0af Merge pull request #17948 from LK4D4/splunk_windows
Enable Splunk logdriver for windows
2015-11-12 20:44:31 +01:00
Vincent Demeester 812a1c149a Merge pull request #13959 from Mashimiao/add-support-blkio_weight_device
Add support for blkio.weight_device
2015-11-12 20:42:13 +01:00
John Howard 90eac6b48b Windows: TP4 fix cpu weight
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-12 11:08:24 -08:00
Alexander Morozov 705b50850c Enable Splunk logdriver for windows
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-12 10:57:21 -08:00
Aaron Lehmann 64f8ee444d Cap the amount of buffering done by BytesPipe
Turn BytesPipe's Read and Write functions into blocking, goroutine-safe
functions. Add a CloseWithError function to propagate an error code to
the Read function.

Adjust tests to work with the blocking Read and Write functions.

Remove BufReader, since now its users can use BytesPipe directly.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-11-12 10:11:29 -08:00
David Calavera 8cf38b6a8b Merge pull request #17589 from Microsoft/jjh/refactorprocessconfig
Refactor ProcessConfig
2015-11-12 07:28:32 -08:00
Denis Gladkikh 26855c7801 Allow configurable metadata for Splunk log driver
Add support of `tag`, `env` and `labels` for Splunk logging driver.
Removed from message `containerId` as it is the same as `tag`.

Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
2015-11-12 06:36:51 -08:00
Alexander Morozov fa7ec908c4 daemon/kill.go: simplify if statement
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-11 17:19:39 -08:00
Brian Goff 87de5fdd59 Merge pull request #17919 from Microsoft/jjh/tp4
Windows [TP4] Require build 10586+
2015-11-11 19:36:13 -05:00
Brian Goff 5b046c71d8 Merge pull request #17916 from Microsoft/jjh/fix-cp-with-volumes
Windows [TP4] Fix docker cp when volumes
2015-11-11 19:35:05 -05:00
John Howard 122568b314 Windows [TP4] Require build 10586+
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-11 14:49:14 -08:00
Alexander Morozov 6c82fba2b3 Merge pull request #17894 from mqliang/deferMove
move defer statement for readability
2015-11-11 14:03:48 -08:00
John Howard 3a852d8442 Windows [TP4] Fix docker cp when volumes
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-11 14:02:07 -08:00
Tibor Vass adb14543fd Merge pull request #17903 from rhvgoyal/default-to-xfs-v2
Devicemapper: Default to xfs instead of ext4
2015-11-11 16:42:58 -05:00
Arnaud Porterie 37dfae3cde Merge pull request #17909 from LK4D4/info_simple
daemon/info.go: assign proxy fields directly
2015-11-11 21:15:13 +01:00
Dan Walsh 1716d497a4 Relabel BTRFS Content on container Creation
This change will allow us to run SELinux in a container with
BTRFS back end.  We continue to work on fixing the kernel/BTRFS
but this change will allow SELinux Security separation on BTRFS.

It basically relabels the content on container creation.

Just relabling -init directory in BTRFS use case. Everything looks like it
works. I don't believe tar/achive stores the SELinux labels, so we are good
as far as docker commit.

Tested Speed on startup with BTRFS on top of loopback directory. BTRFS
not on loopback should get even better perfomance on startup time.  The
more inodes inside of the container image will increase the relabel time.

This patch will give people who care more about security the option of
runnin BTRFS with SELinux.  Those who don't want to take the slow down
can disable SELinux either in individual containers or for all containers
by continuing to disable SELinux in the daemon.

Without relabel:

> time docker run --security-opt label:disable fedora echo test
test

real    0m0.918s
user    0m0.009s
sys    0m0.026s

With Relabel

test

real    0m1.942s
user    0m0.007s
sys    0m0.030s

Signed-off-by: Dan Walsh <dwalsh@redhat.com>

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2015-11-11 14:49:27 -05:00
Alexander Morozov 1df0bb5a13 daemon/info.go: assign proxy fields directly
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-11 11:03:53 -08:00
David Calavera 0b566566c6 Merge pull request #17858 from sanimej/libn
Allow port mapping only for endpoint created on docker run
2015-11-11 11:00:31 -08:00
Alexander Morozov 2bb1c530d7 Merge pull request #17193 from cpuguy83/refactor_store_errors
Refactor volume store's error usage
2015-11-11 10:25:00 -08:00
Tibor Vass 7a985cfafc Merge pull request #17890 from aboch/b6
Restore deterministic IPv6 from MAC behavior on default bridge network
2015-11-11 12:42:08 -05:00
Vivek Goyal 07ff17fb85 devmapper: Switch to xfs as default filesystem if supported
If platform supports xfs filesystem then use xfs as default filesystem 
for container rootfs instead of ext4. Reason being that ext4 is pre-allcating
lot of metadata (around 1.8GB on 100G thin volume) and that can take long
enough on AWS storage that systemd times out and docker fails to start.

If one disables pre-allocation of ext4 metadata, then it will be allocated
when containers are mounted and we will have multiple copies of metadata
per container. For a 100G thin device, it was around 1.5GB of metadata
per container.

ext4 has an optimization to skip zeroing if discards are issued and
underlying device guarantees that zero will be returned when discarded
blocks are read back. devicemapper thin devices don't offer that guarantee
so ext4 optimization does not kick in. In fact given discards are optional
and can be dropped on the floor if need be, it looks like it might not be
possible to guarantee that all the blocks got discarded and if read back
zero will be returned.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-11-11 12:07:35 -05:00
Vivek Goyal 83a34e000b devmapper: Warn if user specified a filesytem and base device already has fs
If user wants to use a filesystem it can be specified using dm.fs=<filesystem>
option. It is possible that docker already had base image and a filesystem
on that. Later if user wants to change file system using dm.fs= option
and restarts docker, that's not possible. Warn user about it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-11-11 12:07:35 -05:00
Alessandro Boch 095a8ac545 Restore IPv6 from MAC on default bridge network
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-11-11 08:36:04 -08:00
Ma Shimiao 0fbfa1449d Add support for blkio.weight_device
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-11-11 23:06:36 +08:00
Vincent Batts 1066725395 Merge pull request #16774 from tonistiigi/15643-aufs-plnk
Copy aufs hardlinks to top layer
2015-11-11 07:59:41 +01:00
mqliang d71eeb1c05 move defer statement for readability
Signed-off-by: mqliang <mqliang.zju@gmail.com>
2015-11-11 11:28:23 +08:00
Brian Goff 43012fe842 Refactor volume store's error usage
Uses an errors API similar the `net` package.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-11-10 20:33:29 -05:00
David Calavera 5b718bdee2 Merge pull request #17874 from LK4D4/nocheck_nil_map
daemon/info.go: remove check for map nilness
2015-11-10 12:52:52 -08:00
Sebastiaan van Stijn d4c4557b1a Merge pull request #17613 from Microsoft/10662-isolationexecopt
Windows: Add default isolation exec driver option
2015-11-10 19:55:46 +00:00
John Howard a429ad1e35 Windows: Add default isolation exec driver option
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-10 11:39:05 -08:00
David Calavera 470fc94f38 Merge pull request #17476 from coolljt0725/prevent_connect_to_host
Fix connect to host and prevent disconnect from host for host network
2015-11-10 09:48:33 -08:00
Alexander Morozov 8f311f4d8c daemon/info.go: remove check for map nilness
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-10 09:20:59 -08:00
Lei Jitang e035d27223 Show warning when user specify dm.basesize for already initialized devicemapper drive
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-11-10 14:50:19 +08:00
Antonio Murdaca 6f2c6111d4 Merge pull request #17843 from LK4D4/discovery_refactor
Refactoring in daemon/discovery.go
2015-11-10 07:34:11 +01:00
Doug Davis 70579bd558 Merge pull request #17847 from LK4D4/exec_unnec_var
Remove unnecessary var block in monitorExec
2015-11-09 23:32:38 -06:00
Shijiang Wei 76992f3e23 remove the unused DefaultNetwork member from daemon.Config
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-11-10 09:51:15 +08:00
Alexander Morozov d83b5dc177 Refactoring in daemon/discovery.go
Replace time.Sleep with time.Tick and remove unnecessary var block.
Use Warn log-level instead of error.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-09 15:21:27 -08:00
Alexander Morozov 445675e808 Remove unnecessary var block in monitorExec
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-09 15:14:20 -08:00
Tibor Vass 62b484411e Merge pull request #17779 from calavera/fix_dns_regression
Use an empty slice as default value for DNS, DNSSearch and DNSOptions.
2015-11-09 18:07:07 -05:00
David Calavera 143f3579b0 Merge pull request #17450 from rhatdan/selinux
Fix relabel for SELinux
2015-11-09 13:19:28 -08:00
David Calavera 58b270c338 Merge pull request #17431 from vdemeester/hope-it-does-not-broke-everything-again
Another try at dockerversion placeholder for library import
2015-11-09 13:15:50 -08:00
Dan Walsh d9011b3617 Fix relabel for SELinux
With the changes merged into runc/libcontainer, are now causing
SELinux to attempt a relabel always, even if the user did not
request the relabel.

If the user does not specify Z or z on the volume mount we should
not attempt a relabel.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2015-11-09 14:04:57 -05:00
Vincent Demeester 8054a30387 dockerversion placeholder for library import
- Add a *version* file placeholder.
- Update autogen and builds to use it and an autogen build flag

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-11-09 19:32:46 +01:00
John Howard 5fa2e4d4f2 Refactor ProcessConfig
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-09 09:51:09 -08:00
David Calavera f1a74a89f8 Use an empty slice as default value for DNS, DNSSearch and DNSOptions
So we don't print those <no value> in the client and we don't fail
executing inspect templates with API field names.

Make sure those fields are initialized as empty slices when
a container is loaded from disk and their values are nil.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-09 12:46:48 -05:00
John Howard 77af7d1067 Refactor exitStatus structure
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-09 08:26:35 -08:00
Alexander Morozov 28588efb47 Merge pull request #17089 from Microsoft/10662-ansi
Windows: Native ANSI console support
2015-11-09 08:05:08 -08:00
Vincent Demeester 944dc7fa8f Merge pull request #17808 from bboreham/ipc-errormsg
Fix typo in container-start error message
2015-11-09 07:58:03 +01:00
John Howard 2ff68910e2 Typo s/contained/container
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-08 18:29:34 -08:00
Lei Jitang a2d8c93fc6 Prevent connecting to host and prevent disconnecting from host
Container has private network namespace can not to connect to host
and container with host network can not be disconnected from host.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-11-09 10:19:53 +08:00
Bryan Boreham 93405dd037 Fix typo in error message
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2015-11-08 18:05:34 +00:00
Antonio Murdaca 343c8547df Merge pull request #17762 from LK4D4/builder_commit
Use name instead of container in Commit
2015-11-08 15:57:13 +01:00
Brian Goff 342e6bb99f Merge pull request #17581 from Microsoft/10662-factoroutexecuser
Windows: Factor out user in execdriver\driver
2015-11-07 22:11:26 -05:00
Brian Goff bf5a6d2a83 Merge pull request #17710 from tonistiigi/fix-builder-symlinks
Fix symlink handling in builder ADD/COPY commands
2015-11-07 16:32:07 -05:00
Antonio Murdaca 98054a8b5c Merge pull request #17787 from Microsoft/jjh/execdriverutils
Don't build utils on Windows
2015-11-07 21:27:32 +01:00
Sebastiaan van Stijn fdc8cce070 Merge pull request #16742 from runcom/10772-docker-stats-all
Allow docker stats without arguments
2015-11-07 19:41:03 +00:00
John Howard b10dd17e06 Don't build utils on Windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-07 08:46:36 -08:00
Antonio Murdaca ae818a820f Allow docker stats without arguments
This patch adds the ability to run `docker stats` w/o arguments and get
statistics for all running containers by default. Also add a new
`--all` flag to list statistics for all containers (like `docker ps`).
New running containers are added to the list as they show up also.
Add integration tests for this new behavior.
Docs updated accordingly. Fix missing stuff in man/commandline
reference for `docker stats`.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-11-07 17:03:33 +01:00
Vincent Batts 10df5647bd Merge pull request #17757 from rhvgoyal/log-blkid-failure
devmapper: Provide more error information if blkid fails
2015-11-07 09:16:14 -05:00
Alexander Morozov ad55d29c91 Merge pull request #17575 from Microsoft/10662-nativetemplate
Windows: Fix native exec template
2015-11-06 16:14:44 -08:00
David Calavera 1ba280a8db Merge pull request #17576 from Microsoft/10662-graphtest
Windows: Fix daemon\graphdriver\graphtest
2015-11-06 15:13:31 -08:00
Lei Jitang 451b79d691 Test to verify --mac-address doesn't get applied to new endpoint
created on network connect.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-11-06 14:52:35 -08:00
Santhosh Manohar dedcf6a6ff Allow port mapping only for endpoint created on docker run
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-11-06 13:54:17 -08:00
Tonis Tiigi 47da59f7ec Fix symlink handling in builder ADD/COPY commands
Fixes #17290

Fixes following issues:

- Cache checksums turning off while walking a broken symlink.

- Cache checksums were taken from symlinks while targets were actually copied.

- Copying a symlink pointing to a file to a directory used the basename of the target as a destination basename, instead of basename of the symlink.


Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-11-06 10:58:12 -08:00
Alexander Morozov 38e34cf6da Use name instead of container in Commit
It will make daemon interface separation easier later.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-06 10:22:00 -08:00
Vivek Goyal 2c8b7c597a devmapper: Provide more error information if blkid fails
Right now if blkid fails we are just logging a debug message and don;t return
the actual error to caller. Caller gets the error message that thin pool
base device UUID verification failed and it might give impression that thin
pool changed. But that's not the case. Thin pool is in such a state that we
could not even query the thin device UUID. Retrun error message appropriately
to make situation more clear.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-11-06 08:21:20 -05:00
Lei Jitang 00d00b429f Remove LxcConf in daemon_test.go and fix a typo
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-11-06 09:58:06 +08:00
Solomon Hykes 2519f46550 Merge pull request #17700 from calavera/remove_lxc
Remove LXC support.
2015-11-05 15:22:37 -08:00
David Calavera b232362310 Merge pull request #17735 from LK4D4/errcode_resize
Move errcode handling for resize upper
2015-11-05 15:00:48 -08:00
David Calavera 157b66ad39 Remove exec-driver global daemon option.
Each platform has only a driver now.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-05 17:09:58 -05:00
David Calavera 3b5fac462d Remove LXC support.
The LXC driver was deprecated in Docker 1.8.
Following the deprecation rules, we can remove a deprecated feature
after two major releases. LXC won't be supported anymore starting on Docker 1.10.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-05 17:09:57 -05:00
Alexander Morozov bb0e7eb196 Move errcode handling for resize upper
It'll allow to separate daemon layer more cleanly later.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-05 13:42:33 -08:00
David Calavera b52bedbd48 Merge pull request #17726 from runcom/fix-errors-format
Fix errors format
2015-11-05 13:30:57 -08:00
David Calavera c7b65288e4 Merge pull request #17685 from WeiZhang555/cluster-parser
Fix `--cluster-store` option parser
2015-11-05 13:21:52 -08:00
Brian Goff 9465d6ee6a Merge pull request #17534 from Microsoft/10662-filterhyperv
Windows: Add isolation to ps filter
2015-11-05 15:55:47 -05:00
John Howard 9c5814171c Windows: Add isolation to ps filter
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-11-05 10:18:24 -08:00
Antonio Murdaca 77826333fe Fix errors format
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-11-05 18:17:37 +01:00
Brian Goff c136a33c5b Fallback to file polling for jsonlog reader on err
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-11-05 10:05:05 -05:00
Brian Goff bb9eca9036 Merge pull request #17671 from Microsoft/sjw/skip_mount_on_create
Optimize Create Container to skip extra mount on Windows.
2015-11-05 09:15:28 -05:00
Zhang Wei 0ebdac8bee Fix `--cluster-store` option parser
`--cluster-store` is of form KV-PROVIDER://KV-URL, this commit makes
sure that KV-URL contains no "://"

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-11-05 11:45:08 +08:00
Brian Goff f18c5e9714 Merge pull request #17703 from aboch/np
Verify Endpoint.Info() before accessing it
2015-11-04 19:23:11 -05:00
Sebastiaan van Stijn 236913f4e8 Merge pull request #14012 from sallyom/exitCodes
Change 'docker run' exit codes to distinguish docker/contained errors
2015-11-05 00:50:08 +01:00
Jess Frazelle 9c1006c8bf Merge pull request #17673 from LK4D4/elim_str_comparison
Do not rely on string comparison in truncindex
2015-11-04 15:39:19 -08:00
Stefan J. Wernli 9112d90b27 Optimize Create Container to skip extra mount on Windows.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-11-04 14:43:50 -08:00
Alessandro Boch 54d22cbd9a Verify Endpoint.Info() before accessing it
- During concurrent operations in multihost environment,
  it is possible that the implementer of `EndpointInfo`
  is nil. It simply means the endpoint is no longer
  available in the datastore.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-11-04 13:27:17 -08:00
Sally O'Malley 41de7a18d8 Change 'docker run' exit codes to distinguish docker/contained errors
The purpose of this PR is for users to distinguish Docker errors from
contained command errors.
This PR modifies 'docker run' exit codes to follow the chroot standard
for exit codes.
Exit status:
125 if 'docker run' itself fails
126 if contained command cannot be invoked
127 if contained command cannot be found
the exit status otherwise

Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-11-04 15:18:50 -05:00
Alexander Morozov d4a8d09d1a Do not rely on string comparison in truncindex
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-04 11:34:05 -08:00
David Calavera 63efc12070 Remove further references to the daemon within containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:28:54 -05:00
David Calavera 444c82d19d Remove daemon field from container.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:49 -05:00
David Calavera 5dc3a9a6da Decouple daemon and container from the stats collector.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:49 -05:00
David Calavera c412300dd9 Decouple daemon and container to configure logging drivers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:49 -05:00
David Calavera 669949d6b4 Decouple daemon and container to manage networks.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera 019c337b93 Decouple daemon and container to cleanup containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera ca5ede2d0a Decouple daemon and container to log events.
Create a supervisor interface to let the container monitor to emit events.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera 2c72015ce3 Decouple daemon and container to manage volumes.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera c1c42db060 Decouple daemon and container to execute processes.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera ebf707ec5f Move `Daemon.containerCopy` to daemon/archive.go
It's the only place where it's used.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera 89decc4446 Remove unused function `Container.getImage`.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera 6ea9a880dc Remove unnecessary `Container.changes` function.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:48 -05:00
David Calavera 3a49765046 Decouple daemon and container to mount and unmount filesystems.
Side effects:
- Decouple daemon and container to start containers.
- Decouple daemon and container to copy files.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:47 -05:00
David Calavera 1c94f5f53a Decouple daemon and container to export containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:47 -05:00
David Calavera 9f79cfdb2f Decouple daemon and container to pause and unpause containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:47 -05:00
David Calavera 4f2a5ba360 Decouple daemon and container to stop and kill containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:47 -05:00
David Calavera 581380cc6c Move `exportContainerRw` to the daemon.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-04 12:27:47 -05:00
Antonio Murdaca 0f41761290 Merge pull request #17672 from LK4D4/unn_var
Remove unnecessary var decls
2015-11-04 12:24:52 +01:00
Alexander Morozov cec31abfea Remove unnecessary var decls
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-03 17:03:40 -08:00
Brian Goff c9208953fa Merge pull request #17630 from LK4D4/syscall_umount_warn
Do not ignore error from syscall.Unmount
2015-11-03 19:58:19 -05:00
Jess Frazelle 562a1263f2 Merge pull request #17665 from LK4D4/setupwd_refactor
Reorder code slightly in setupWorkingDirectory
2015-11-03 15:56:10 -08:00
Jess Frazelle e704182c9c Merge pull request #17614 from LK4D4/fix_golint
Update linting tools to latest versions
2015-11-03 15:32:12 -08:00
Alexander Morozov bb66c16871 Reorder code slightly in setupWorkingDirectory
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-03 14:33:31 -08:00
Brian Goff c30b9e590c Merge pull request #17606 from mountkin/increase-max-retries
increase the maxJSONDecodeRetry in json log reader
2015-11-03 13:45:45 -05:00
Michael Crosby aff8bd178c Merge pull request #17638 from calavera/move_net_stats_collector
Make the stats collector to collect network stats.
2015-11-03 10:31:40 -08:00
David Calavera 8d5695470a Merge pull request #17629 from tonistiigi/kill-autorestart-fix
Fix race causing autorestart turning off on restart
2015-11-03 08:24:11 -08:00
Tonis Tiigi b8aaa4b07c Fix race causing autorestart turning off on restart
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-11-02 18:37:55 -08:00
David Calavera 453473d6a9 Make the stats collector to collect network stats.
Currently, we get the network stats each time per subscriber, causing a
high load of cpu when there are several subscribers per container.

This change makes the daemon to collect once and publish N times, where N is the
number of subscribers per container.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-11-02 21:06:44 -05:00
David Calavera 79d47c5b96 Merge pull request #17628 from LK4D4/umount_log_err
Log error from unmountVolumes on cleanup
2015-11-02 15:38:32 -08:00
Alexander Morozov 3f10bdf100 Do not ignore error from syscall.Unmount
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-02 14:40:29 -08:00
Alexander Morozov 944ea3134d Merge pull request #17554 from calavera/warm_ipc_unmounts
Turn IPC unmount errors into warnings.
2015-11-02 14:25:39 -08:00
Alexander Morozov a20fea1823 Log error from unmountVolumes on cleanup
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-02 14:11:42 -08:00
David Calavera beeec6d103 Merge pull request #17558 from aboch/nw
Fix bug in initializeNetwork()
2015-11-02 12:15:41 -08:00
Alessandro Boch 45e71a7984 Fix bug in initializeNetwork()
- On `docker run --net <network id> ...`
  the bug would cause the container to attempt
  to connect to the network two times
- Also made sure endpoint creation rollback will
  be executed on failures in `func (container *Container) connectToNetwork()`

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-11-02 11:20:15 -08:00
Jana Radhakrishnan 10e1b9f02e Vendoring libnetwork
Vendoring libnetwork @ 05a5a1510f85977f374a9b9804a116391bab5089

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-11-02 08:33:52 -08:00
Alexander Morozov 7aa28b6bdd Fix go vet warnings
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-02 08:28:34 -08:00
Alexander Morozov b087846c0e Fix error formatting
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-11-02 06:51:48 -08:00
Shijiang Wei a82f9ac819 increase the maxJSONDecodeRetry in json log reader
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-11-02 17:51:22 +08:00
John Howard 8764967381 Windows: Fix daemon\graphdriver\graphtest
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-31 21:14:18 -07:00
John Howard 910e4ba7ed Windows: Factor out user in execdriver\driver
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-31 19:19:24 -07:00
John Howard be2f53ece8 Windows: Fix native exec template
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-31 11:39:19 -07:00
Alexander Morozov 4468e1e74e Merge pull request #17567 from Microsoft/10662-lxcunittest
Windows: Fix go test in execdriver\lxc
2015-10-31 09:40:19 -07:00
Alexander Morozov 8d584da96e Merge pull request #17568 from Microsoft/10662-journald
Windows: Fix journald compile error
2015-10-31 09:35:39 -07:00
John Howard 5452954d89 Windows: Fix journald compile error
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-31 08:31:25 -07:00
John Howard 30ab497e17 Windows: Fix go test in execdriver\lxc
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-31 08:25:36 -07:00
Arnaud Porterie 5719d01066 Merge pull request #16579 from coolljt0725/fix_attach_paused_container
Add show error when attach to a paused container
2015-10-31 07:43:22 -07:00
Alexander Morozov ed6e3cf704 Merge pull request #17537 from mountkin/fix-logger-race
fix a race in json logger reader
2015-10-30 23:00:17 -07:00
Brian Goff f87082f08e Merge pull request #17545 from LK4D4/writehs_encode
Use json.Encoder for container.writeHostConfig
2015-10-30 21:11:15 -04:00
David Calavera 2e466bafda Merge pull request #17548 from mavenugo/ugr
Vendoring libnetwork to fix #17526 & #17527
2015-10-30 17:13:40 -07:00
David Calavera 6d8aff07ac Merge pull request #17547 from LK4D4/unn_stat
Remove unnecessary Stat check from readHostConfig
2015-10-30 16:56:11 -07:00
David Calavera 9bf20c6847 Merge pull request #17549 from donhcd/fixPre122Stats
fix pre-1.21 docker stats
2015-10-30 16:45:41 -07:00
Madhu Venugopal 401632c756 fixing ungraceful daemon restart case where nw connect is not persisted
For graceful restart case it was done when the container was brought
down. But for ungraceful cases, the persistence is missing for nw
connect

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-30 16:24:02 -07:00
David Calavera a54d5932e3 Turn IPC unmount errors into warnings.
And do not try to unmount empty paths.

Because nobody should be woken up in the middle of the night for them.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-30 19:13:52 -04:00
Alexandre Beslic 33f5429786 Merge pull request #17538 from calavera/deprecated_bridge_interface
Fix network inspect for default networks.
2015-10-30 16:03:51 -07:00
Donald Huang d2c04f844b fix pre-1.22 docker stats
This fixes a bug introduced in #15786:

* if a pre-v1.20 client requested docker stats, the daemon
would return both an API-compatible JSON blob *and* an API-incompatible JSON
blob: see https://gist.github.com/donhcd/338a5b3681cd6a071629

Signed-off-by: Donald Huang <don.hcd@gmail.com>
2015-10-30 22:28:03 +00:00
David Calavera 0c991f3d68 Merge pull request #16779 from Microsoft/10662-execdrivercommand
Windows: Refactor execdriver.Command
2015-10-30 14:59:59 -07:00
Alexander Morozov 36a69bbc60 Remove unnecessary Stat check from readHostConfig
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-30 14:54:09 -07:00
Alexander Morozov cf1a6c08fa Use json.Encoder for container.writeHostConfig
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-30 14:45:35 -07:00
Alexander Morozov 23a0fe9627 Merge pull request #17539 from cpuguy83/cleaner_ipc_unmount_handling
Force IPC mount to unmount on daemon shutdown/init
2015-10-30 14:40:42 -07:00
David Calavera 85d7bbf7aa Merge pull request #17528 from LK4D4/todisk_encode
Use json.Encoder for container.toDisk
2015-10-30 14:36:42 -07:00
Tibor Vass 74362e8392 Merge pull request #17531 from crosbymichael/no-set-reservation
Don't set mem soft limit if not specifiecd
2015-10-30 17:01:36 -04:00
David Calavera f301c5765a Fix network inspect for default networks.
- Keep old fields in NetworkSetting to respect the deprecation policy.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-30 16:55:21 -04:00
John Howard 9d14866d71 Windows: Refactor execdriver.Command
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-30 13:53:00 -07:00
John Howard 805dd0eeed Windows: Native ANSI console support
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-30 13:44:04 -07:00
Alessandro Boch d795bc7d53 Modify IPAMConfig structure json tags
- So that it complies with docker convention for inspect

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-30 12:57:49 -07:00
Brian Goff 78bd17e805 Force IPC mount to unmount on daemon shutdown/init
Instead of using `MNT_DETACH` to unmount the container's mqueue/shm
mounts, force it... but only on daemon init and shutdown.

This makes sure that these IPC mounts are cleaned up even when the
daemon is killed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-30 15:41:48 -04:00
Shijiang Wei e41eae8b42 fix a race in json logger reader
The json decoder starts to decode immediately an inotify event is
received.
But at the time the inotify event is trigged, the json log
entry might haven't been fully written to the disk.
In this case the decoder will return an "io.UnexpectedEOF" error, but
there is still data remaining in the decoder's buffer. And the data
should be passed to the decoder when the next inotify event is
triggered.

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-10-31 02:28:23 +08:00
Jess Frazelle 0aa3bff482 Merge pull request #17530 from Microsoft/jjh/windowsmasterbuild
Build broken on master (awslogs)
2015-10-30 10:39:48 -07:00
Brian Goff 17a8fbeaeb Merge pull request #17514 from mavenugo/ugr
Fixing a case of dangling endpoint during ungraceful daemon restart
2015-10-30 13:38:27 -04:00
Michael Crosby ecb87ed0a5 Don't set mem soft limit if not specifiecd
You cannot do this for individual cgroups for all the containers.  Only
set the reservation if the user requested it.  The error you will
receive is an EINTVAL when you try to set a large limit like we were in
the memory limit.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-10-30 10:34:01 -07:00
John Howard 2716e3964d Windows build broken on master (awslogs)
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-30 10:02:32 -07:00
Tibor Vass c545dce004 Merge pull request #16640 from samuelkarp/awslogs-logging-driver
[awslogs] Auto-detect region and set user-agent
2015-10-30 12:38:40 -04:00
Michael Crosby aadae4b503 Merge pull request #16412 from Microsoft/10662-hyper-v-containers
Windows [TP4]: Adds support for Hyper-V Containers
2015-10-30 09:34:16 -07:00
Alexander Morozov cf02b369e0 Use json.Encoder for container.toDisk
* for simmetry with fromDisk
* it might be slightly better for GC because of internal sync.Pool

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-30 09:29:53 -07:00
Antonio Murdaca e990eca1e5 Merge pull request #17510 from LK4D4/refactor_shutdown
Refactor Shutdown a little to reduce indentation
2015-10-30 12:24:03 +01:00
Antonio Murdaca 6b9de7342f Merge pull request #17498 from LK4D4/fix_graph_comment
Fix Graph() docstring
2015-10-30 09:48:16 +01:00
Vincent Demeester 81c5b1ce4a Merge pull request #17492 from aidanhs/aphs-remove-dead-code
Remove dead code
2015-10-30 08:50:54 +01:00
Madhu Venugopal 0c07096b7d Fixes a case of dangling endpoint during ungraceful daemon restart
When a container restarts after a ungraceful daemon restart, first
cleanup any unclean sandbox before trying to allocate network resources.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-29 18:56:56 -07:00
Alexander Morozov ace5854f65 Refactor Shutdown a little to reduce indentation
Also make daemon.netController.Stop() regardless of container existance.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-29 17:20:32 -07:00
Brian Goff 82203d06eb Merge pull request #17497 from LK4D4/put_err
Do not ignore errors from graphdriver.Put
2015-10-29 19:37:10 -04:00
John Howard 15e35c4470 Windows: Adds support for Hyper-V Containers
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-29 16:18:52 -07:00
Alexander Morozov 7f7950aa18 Merge pull request #17490 from aboch/pm
Libnetwork vendoring & overlay networking fixes
2015-10-29 13:45:19 -07:00
David Calavera cdfd9846f4 Merge pull request #17460 from dmcgowan/fix-rmi-force-tag
Fix rmi -f removing multiple tags
2015-10-29 13:01:06 -07:00
Alessandro Boch e03daebb48 Execute buildPortMapInfo after Endpoint.Join()
- As the retrieved info may not be available at
  Endpoint creation time for certain network drivers
- Also retrieve the MAC address from Endpoint.Info().Iface()

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-29 11:47:30 -07:00
Alexander Morozov 134772f91e Fix Graph() docstring
It's not true anymore, it used in builder for example.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-29 11:41:42 -07:00
Alexander Morozov ac4b290552 Do not ignore errors from graphdriver.Put
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-29 11:25:53 -07:00
Aidan Hobson Sayers 164d0bca63 Remove dead code
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-10-29 16:56:29 +00:00
Lei Jitang de1d611990 Add show error when attach to a paused container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-28 21:00:09 -04:00
David Calavera 0e1618db19 Merge pull request #17437 from LK4D4/put_error
Do not ignore error from driver.Put
2015-10-28 17:32:03 -07:00
Derek McGowan 48e7f7963e Fix rmi -f removing multiple tags
When an image has multiple tags and rmi is called with force on a tag, only the single tag should be removed.
The current behavior is broken and removes all tags and the image.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-10-28 16:07:02 -07:00
Alexander Morozov 990655448d Remove unnecessary error returns
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-28 15:15:22 -07:00
David Calavera 54d42f4a10 Merge pull request #17424 from coolljt0725/fix_inspect_gateway_value
Fix docker inspect display odd gateway value for none network mode
2015-10-28 13:39:59 -07:00