Commit Graph

12265 Commits

Author SHA1 Message Date
a6b462feda add --cap-add=NET_ADMIN to make a new network device
inspired by #9452

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
Upstream-commit: 48a596a804a24a5b4b3512a58a785b17781c49d0
Component: engine
2014-12-05 16:30:54 +10:00
996111b8d3 Merge pull request #9272 from SvenDowideit/pr_out_try_out_a_different_phrase_for_icc
Try out a different phrase for --icc
Upstream-commit: 8dfcbf62edb2853176eb3f5cf077dae68f2e85c3
Component: engine
2014-12-05 16:22:51 +10:00
49f85cd111 Merge pull request #9504 from davidmat/patch-1
Update Amazon EC2 Docker installation instructions
Upstream-commit: a10b0cd23f806944c7e5d6515cdbf07af49bad9b
Component: engine
2014-12-04 21:57:45 -08:00
d60bbfaec3 Merge pull request #9507 from jsternberg/docker-build-docs-formatting-fix
Fixing docs formatting for the forcerm flag on docker build
Upstream-commit: ebf89cf2198acd6953adabc24ffc44aaac5c0780
Component: engine
2014-12-04 21:54:14 -08:00
fbf4eeb228 Merge pull request #9464 from SvenDowideit/sven_tries_webhooks
Add some extra details to webhook docs
Upstream-commit: 84dc2c83cb208144763740f12354d3e37d9fa135
Component: engine
2014-12-04 19:44:26 -08:00
4eac49ffb5 Merge pull request #9516 from SvenDowideit/tweak-sidebar-css-for-more-spacing
this v spacing irritated me while i was reading
Upstream-commit: 0bd51836c8c06f79db9eb355375427f2d039d37e
Component: engine
2014-12-04 19:26:08 -08:00
635b9dd208 Show image of the Build trigger screen, and add a little search engine fodder for it.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
Upstream-commit: b266ad9c607588e8541926dfca7e338148e904ff
Component: engine
2014-12-05 13:05:38 +10:00
822c213004 Add some extra details to webhook docs
Update the webhook JSON payloads to real ones,
and show there is a difference between an automated build webhook payload and a normal repo payload

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
Upstream-commit: b4b899264ed892818ef31c3626acad8fb110aabb
Component: engine
2014-12-05 12:13:22 +10:00
e8f1ddbeb0 this v spacing irritated me while i was reading
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
Upstream-commit: 11a75ec97f904b1807dbdc7121ac4e19dc229d49
Component: engine
2014-12-05 12:01:13 +10:00
15957abc33 Reduce permissions changes scope after ADD/COPY
Permissions after an ADD or COPY build instructions are now restricted
to the scope of files potentially modified by the operation rather than
the entire impacted tree.

Fixes #9401.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: f3cedce3608afe7bd570666a7fc878ab85c7bc03
Component: engine
2014-12-04 17:16:22 -08:00
68e2369944 Merge pull request #9388 from SvenDowideit/update-docs-from-cli
Auto-update documentation from the output of the cli.
Upstream-commit: 8e59bda173669366ae99944458f2a5a03d13fb99
Component: engine
2014-12-05 11:11:28 +10:00
6a592dd8e6 Auto-update documentation from the output of the cli.
I've re-jigged the run man page so that each option's text begins with the
cli's help text for that flag, and then ay subsequent lines in the man page
are carried forward.

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
Upstream-commit: e01baa6be782320d3c0800697c882c2b919b202f
Component: engine
2014-12-05 10:43:38 +10:00
5190e1516a Merge pull request #9510 from crosbymichael/chrootarchive
Use consistent ApplyLayer in overlayfs
Upstream-commit: 6e7a210db69eb59b08a1b1deb76f89630d5bece4
Component: engine
2014-12-04 14:21:26 -08:00
52bfe6086a Make 'docker build' send non-err output to stdout
Right now 'docker build' will send:
   Sending build context to Docker daemon
to stderr, instead of stdout.  This PR fixes that.

I looked in the rest of api/client/commands.go for other cases
that might do this and only one jumped out at me:
  https://github.com/docker/docker/blob/master/api/client/commands.go#L2202
but I think if I changed that to go to stdout then it'll mess people up
who are expecting just the container ID to be printed to the screen and
there is no --quiet type of flag we can check.

Closes #9404

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 5c91bb93a7e35b2d443090cabc7ec0a2ca59b6ee
Component: engine
2014-12-04 14:06:40 -08:00
ac96967ba9 Use consistent ApplyLayer in overlayfs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: f47d6b9b9de8c567e9e42e12243cbcce99a7bfc7
Component: engine
2014-12-04 12:03:44 -08:00
82038e31a9 Update Amazon EC2 Docker installation instructions
The installation guide for EC2 is outdated, as the current version of Amazon Linux (2014.09) is now Docker ready. No need to go through the manual route anymore. The official AMI has Docker packages in the repository now (this was the 'pre-release' option in the outdated instructions).

Docker-DCO-1.1-Signed-off-by: David Mat <david@davidmat.com> (github: davidmat)
Upstream-commit: da667581cffec4048d848454266b8d3cad55c859
Component: engine
2014-12-04 21:02:29 +01:00
d749cd5cd2 Merge pull request #9494 from jfrazelle/cleanup
Cleanup unnecessary abstractions in integration-cli
Upstream-commit: bfde3f2cd1807cf4472462819645851c58b22e72
Component: engine
2014-12-04 11:29:21 -08:00
2b487e0de2 Fix the issue when docker exec a paused container, it will always hang.
Add the test case of this issue.

Docker-DCO-1.1-Signed-off-by: Chen Chao <cc272309126@gmail.com> (github: cc272309126)
Upstream-commit: 1bb02117db80e75f406f6c63d8d50680c1569019
Component: engine
2014-12-05 03:10:44 +08:00
25e75bf1f1 Fixing docs formatting for the forcerm flag on docker build
Signed-off-by: Jonathan A. Sternberg <jonathansternberg@gmail.com>
Upstream-commit: eb7d646a44d76c4a7f96fa6ef28de9fbbbaf17ca
Component: engine
2014-12-04 12:35:31 -05:00
22351497b2 Merge pull request #9495 from SvenDowideit/aws-cli-exclude-still-broken
Something changed, broke the docs release script, and it seems that --ex...
Upstream-commit: 603fe406615817678e6f6b67ab6ac5ec094a8988
Component: engine
2014-12-04 03:14:34 -05:00
1c71415b94 Fix interactive exec over TLS
The code no longer assumes a net.TCPConn underlying the HTTP connection
in order to close attached streams.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: 266a1044deb9a085ed43dccdc6cfa0723e5142b0
Component: engine
2014-12-03 23:43:03 -08:00
9d37d55377 Correctly close generated benchmark archives
Another update to TarSum tests, this patch fixes an issue where
the benchmarks were generating archives incorrectly by not closing
the tarWriter.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Upstream-commit: 385917e22c5bd0d577a5a0be0de9e88a0499fe87
Component: engine
2014-12-03 22:26:06 -08:00
3b1609f4c6 Something changed, broke the docs release script, and it seems that --exclude still doesn't work, so I'm removing it
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
Upstream-commit: 6d560e197ccde8f1d711ad8260cf399b078c404d
Component: engine
2014-12-04 16:10:55 +10:00
de88b2cc7b Fix output format where no variable specified in mount pkg
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 6fd818f3ef8ca018b74544362c37d41a1095ba9d
Component: engine
2014-12-03 19:02:51 -08:00
61a90c5a2b Run 'go vet' on integration-cli.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 4ee3a318a1f43f35a8c6ec8b6b73db5ea8824de9
Component: engine
2014-12-03 18:45:51 -08:00
9442c6a19e Remove unnessary abstraction deepEqual
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: fa753e67ae2bf573c9dfb1da1e1135c5ef5ef415
Component: engine
2014-12-03 17:52:06 -08:00
f3226b6931 Note that using -lxc-conf to change things Docker manages has pitfalls
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
Upstream-commit: b91d330088958bca4e59285a55fdc5593d2a86ad
Component: engine
2014-12-04 11:49:06 +10:00
2a07b18ca1 Remove unnecessary abstraction nLines
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 02a021119fb2b3e051b98817831a8c1a8a9fd464
Component: engine
2014-12-03 17:47:28 -08:00
4cd694cddb cleanup: remove startCommand function, only used once, and
unecessary abstraction.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 7ba9a18ade7393d942d995d34a92d757ef4af0b7
Component: engine
2014-12-03 17:43:26 -08:00
482d9b0df3 Be consistent about libtrust import path.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 7c7026bd2255cef47cbb026afe0b984d4c9a9130
Component: engine
2014-12-03 17:36:14 -08:00
7930a900f5 Merge pull request #9486 from ClusterHQ/9484-fromSrc-api-docs
Document fromSrc more clearly
Upstream-commit: e15ffa45a670041ceee06c3b51dff177b5f3378f
Component: engine
2014-12-03 20:31:44 -05:00
65e3ca93a1 Merge pull request #9451 from erikh/fix-sqlite
graphdb: initialize the database semi-idempotently on every connection, not just new installs.
Upstream-commit: 8520fd55b66b44f669f6ad6886c7c46d066bd6ca
Component: engine
2014-12-03 17:17:20 -08:00
56a5536647 Merge pull request #9490 from jfrazelle/fix-test-cmd-eff
Fix tests with old cmd function.
Upstream-commit: e2a4b730ca6cc339122d013f33fedd593d95d1f3
Component: engine
2014-12-03 16:29:31 -08:00
b108f27ddc Fix tests with old cmd function.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: e201d5bcd46a3dcb70dd6b6e23ee375e4b5b5f40
Component: engine
2014-12-03 15:53:19 -08:00
e1ce0e0de9 Merge pull request #9089 from cpuguy83/8942_create_volumes_on_create
Initialize volumes when container is created
Upstream-commit: 67fda331973fdd23f3da79588ea899dc577f46e8
Component: engine
2014-12-03 15:42:09 -08:00
7f73c7a751 Update libcontainer to 53eca435e63db58b06cf796d3a9
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 269b37503e00f86b9215bc6fe27c502cf4d90072
Component: engine
2014-12-03 14:53:11 -08:00
3d5681303b Update the most recent released version of the docs as well.
Signed-off-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Upstream-commit: 0888c1880f836703987313049100bad9ce821584
Component: engine
2014-12-03 17:14:08 -05:00
d3f88b9d6d Talk about URL support and the real meaning of - in the latest fromSrc API documentation.
Signed-off-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Upstream-commit: 826f809d0959d59d4f478615be4dc9b7db7c46f1
Component: engine
2014-12-03 17:13:48 -05:00
cdaba1e671 Merge pull request #9482 from ncdc/TempArchive-close-bug
Fix invalid argument error on push
Upstream-commit: c8ccfcb93048e24dbe08b2c449dd1ad802f730f4
Component: engine
2014-12-03 14:13:15 -08:00
717d7acf81 Fix invalid argument error on push
With 32ba6ab from #9261, TempArchive now closes the underlying file and
cleans it up as soon as the file's contents have been read. When pushing
an image, PushImageLayerRegistry attempts to call Close() on the layer,
which is a TempArchive that has already been closed. In this situation,
Close() returns an "invalid argument" error.

Add a Close method to TempArchive that does a no-op if the underlying
file has already been closed.

Signed-off-by: Andy Goldstein <agoldste@redhat.com>
Upstream-commit: 48ec176cd51da20e23564941da2d9906a7779d28
Component: engine
2014-12-03 16:12:24 -05:00
576cfafbf2 Merge pull request #9426 from lhuard1A/overlay_rename
Rename overlayfs to overlay
Upstream-commit: 5d49d2bb7a3bafcd1481a05d56ebc39ecd394393
Component: engine
2014-12-03 10:57:42 -08:00
54cbb45483 Correct TarSum benchmarks: 9kTar and 9kTarGzip
These two cases did not actually read the same content with each iteration
of the benchmark. After the first read, the buffer was consumed. This patch
corrects this by using a bytes.Reader and seeking to the beginning of the
buffer at the beginning of each iteration.

Unfortunately, this benchmark was not actually as fast as we believed. But
the new results do bring its results closer to those of the other benchmarks.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Upstream-commit: 92fd49f7ca42cf5d97825853034eac685b90fc1d
Component: engine
2014-12-03 10:44:05 -08:00
d335495a31 devmapper: Use transactions during device deletion
Use transaction logic during device deletion and do rollback if transaction
is not complete. Following is the sequence of events.

- Open transaction and save to metafile
- Delete device from pool
- Delete device metadata file from disk
- Close Transaction

If docker crashes without closing transaction then rollback will take
place upon next docker start.
 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 17b75a21a667a27a9a27565ab282cd615dbdb66e
Component: engine
2014-12-03 13:06:43 -05:00
18c76d6b93 devmapper: Use transaction mechanism during device or snap device creation
Finally this patch uses the notion of transaction for device or snapshot
device creation. 

Following is sequence of event.

- Open a trasaction and save details in a file.
- Create a new device/snapshot device
- If a new device id is used, refresh transaction with new device id details.
- Create device metadata file
- Close transaction.

If docker crashes anywhere in between without closing transaction, then
upon next start, docker will figure out that there was a pending transaction
and it will roll back transaction. That is it will do following.

- Delete Device from pool
- Delete device metadata file
- Remove transaction file to mark no transaction is pending.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: c115c4aa45ba82f27859b0afba5724d437857879
Component: engine
2014-12-03 13:06:43 -05:00
f802074502 devmapper: Find a free device Id to use for device creation
Finally, we seem to have all the bits to keep track of all used device
Ids and find a free device Id to use when creating a  new device. Start
using it.

Ideally we should completely move away from retry logic when pool returns
-EEXISTS. For now I have retained that logic and I simply output a warning.
When things are stable, we should be able to get rid of it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: e28a419e1197bf50bbb378b02f0226c3115edeaa
Component: engine
2014-12-03 13:06:43 -05:00
c3a04ca795 devmapper: Open code createDevice() and createSnapDevice()
Open code createDevice() and createSnapDevice() and move all the logic
in the caller.

This is a sheer code reorganization so that all device Id allocation
logic is in one function. That way in case of erros, one can easily
cleanup and mark device Id free again. (Later patches benefit from
it).

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 14d0dd855ee1e7cd1a3185c3d5a00e7afccb5c43
Component: engine
2014-12-03 13:06:43 -05:00
a3ad44f760 devmapper: Provide a helper function getNextDeviceId()
Right now we are accessing devices.NextDeviceId directly and also 
incrementing it at various places.

Instead provide a helper function which is responsile for
incrementing NextDeviceId and return next deviceId. 

This is just code structuring. This will help later once we
convert this function to find a free device Id and it goes
through a bitmap of used/free device Ids.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: a44c23fe6604d1de59c64bbb9dc234c7c3dbede9
Component: engine
2014-12-03 13:06:43 -05:00
336b3bbd52 devmapper: Construct initial device Id map from device meta files
When docker starts, build a used/free Device Id map from the per
device meta files we already have. These meta files have the data
which device Ids are in use. Parse these files and mark device as
used in the map.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 39dc7829dea87d4be8e6e9b2a598fb354ebf4ba0
Component: engine
2014-12-03 13:06:43 -05:00
622c433bcb devmapper: Keep track of used device Ids in a bitmap
Currently devicemapper backend does not keep track of used device Ids in
the pool. It tries a device Id and if that device Id exists in pool, it
tries with a different Id and keeps on doing this in a loop till it succeeds.

This worked fine so far but now we are moving to transaction based
device creation and deletion. We will keep deviceId information in 
transaction which will be rolled back if docker crashed before transaction
was complete.

If we store a deviceId in transaction and later figure out it already
existed in pool and docker crashed, then we will rollback and remove
that existing device Id from pool (which we should not have).

That means, we should know free device Id in pool in advance before
we put that device Id in transaction.

Hence this patch creates a bitmap (one bit each for a deviceId), and
sets the bit if device Id is used otherwise resets it. This patch
is just preparing the ground right now. Actual usage will follow
in later patches.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 4d39e056aac2fadffcb8560101f3c31a2b7db3ae
Component: engine
2014-12-03 13:06:43 -05:00
b4dc28ba46 devmapper: Use a common delete function for all device deletion operation
Right now setupBaseImage() uses deleteDevice() to delete uninitialized
base image while rest of the code uses DeleteDevice(). Change it and
use a common function everywhere for the sake of uniformity.

I can't see what harm can be done by doing little extra locking done
by DeleteDevice().

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 359a38b26a164f430c79fe542babb77c6e48dcc3
Component: engine
2014-12-03 13:06:43 -05:00