Commit Graph

2723 Commits

Author SHA1 Message Date
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