Commit Graph

266 Commits

Author SHA1 Message Date
nir0s 52702f7da0 removed aggregation for now and added a unit test. also using stream_helper now 2015-02-12 09:48:33 +02:00
Joffrey F cab37b604a pid_mode integration tests 2015-02-11 12:16:36 -08:00
nir0s f402af551d added initial support for stats retrieval 2015-02-11 22:04:32 +02:00
Joffrey F 22dd8d78ea Merge pull request #480 from ggtools/events
Add missing options to the events command
2015-02-11 11:13:52 -08:00
Christophe Labouisse 53b1bb41ac Fix datetime issue with Python 2.6
Signed-off-by: Christophe Labouisse <christophe@labouisse.org>
2015-02-11 07:25:59 +01:00
Christophe Labouisse a07bd28077 Add missing options to the events command
- Add since, until and filters parameters to `Client.events`
- Add missing `events`command in the documentation

Signed-off-by: Christophe Labouisse <christophe@labouisse.org>
2015-02-11 07:25:59 +01:00
Joffrey F e379e8ae24 read_only parameter 2015-02-10 16:13:09 -08:00
Joffrey F d0512028be Merge pull request #482 from docker/rename_container
New Client.rename() method
2015-02-10 13:56:29 -08:00
Joffrey F a7f7fbb0fd rename() tests and docs 2015-02-10 12:55:44 -08:00
Vincent Giersch f3717f5815 Fix crash when building from remote sources
Avoid crashing when the Docker python client is able to load
registry credentials when building using a remote source

Signed-off-by: Vincent Giersch <vincent.giersch@ovh.net>
2015-02-04 16:26:55 +00:00
Joffrey F 40770878ad Additional tests and small improvement to auth.resolve_authconfig 2015-02-01 15:36:56 -08:00
James Harris 301515ed56 Add Support for Mac Address
The new docker api allows specifing mac address for containers. This change is to allow docker py the same functionality.

Signed-off-by: James Harris <james@rancher.com>
2015-01-21 16:08:16 -07:00
Joffrey F aa19d7b660 Fixed TestRestartingContainer 2015-01-13 10:32:28 -08:00
Joffrey F 1f8cde8560 Integration tests fixes 2015-01-09 14:22:55 -08:00
Joffrey F 43c334656b Added RO volumes tests 2015-01-08 18:02:03 -08:00
Joffrey F 4d3e7eb1cb Merge branch 'master' of https://github.com/rmohr/docker-py into rmohr-master 2015-01-08 16:23:21 -08:00
Joffrey F 09ea71971c Fix for issue #443 2015-01-08 15:57:44 -08:00
Sam Thursfield b1d4a5d8d1 Add integration tests for Client.import_image() function
Currently TestImportFromStream fails, because something is going wrong
with the HTTP chunked transfer-encoding. This didn't work before,
either (for a different reason).
2015-01-05 12:33:36 +00:00
Sam Thursfield 2f3b87a470 Rewrite Client.import_image() and add less-magical versions
Rather than have one function that can do 5 things and attempts to guess
what the user wanted, it's good to have a function for each possible
method of importing an image. Error cases are handled a lot better this
way.

The unit test test_import_image_from_file() was changed to be
test_import_image_from_bytes(), because if we try to import a temporary
file in the test, the 'data' parameter of the 'fake_request' object is
an instance of a funny internal type like <_io.BufferedReader
name='/tmp/tmpc9chux'> and it's very hard to match such a thing with
`mock.assert_called_with()`.
2015-01-05 12:32:56 +00:00
Sam Thursfield 42b91885a2 Rework Unix connection code so that 'chunked' transfers work
This allows streaming a system to the 'import' command, rather than
having to read the whole thing into memory before sending it.

Previously both the UnixAdapter and the docker.Client objects would
track the 'base URL' of the Docker daemon (socket path in the case of
local Unix-domain socket connections). The Client object would construct
URLs which contained the path to the socket with the path of the Docker
API call appended. The UnixHTTPConnection instance would then remove the
known socket path from the URL.

This relied on all calls going through the HTTPConnection.request()
function, where the URL could be rewritten. In the case of 'chunked'
HTTP POST requests this doesn't happen, so such calls would request
a path still including the socket path and would receive a 404 error.

The client now constructs URLs containing just the path of the desired API
endpoint, and expects the Unix socket transport to know the path to the
Docker daemon's socket.
2015-01-05 12:05:39 +00:00
Roman Mohr 2d34c38c4d Keep unix socket alive with python3 2014-12-21 11:42:41 +01:00
Joffrey F 2218dbaa67 Use create_host_config in start (unifying parameter processing) 2014-12-18 18:03:27 -08:00
Joffrey F 53d61a77b6 Improved integration tests to run on python3 and close sessions after in tearDown phase 2014-12-18 17:46:41 -08:00
Joffrey F 53beba75f4 Merge pull request #427 from abanna/adding_multiple_dockercfg_support
adding the ability to login with different dockercfg files.
2014-12-18 10:39:59 -08:00
Joffrey F 96f66f7558 Merge pull request #435 from dims/fix-flake8-issues
flake8 fails with F821 for unicode under python 3.4.2
2014-12-18 10:33:40 -08:00
abanna d3cf874938 missed a lint error 2014-12-18 10:21:02 -08:00
Alex Banna 4cbf4e312c adding the ability to login with different dockercfg files. 2014-12-18 10:19:40 -08:00
Davanum Srinivas d9fa43a9b7 flake8 fails with F821 for unicode under python 3.4.2 2014-12-18 11:08:37 -05:00
Marcus Cobden 17c1869304 Tidy up stream test harness & fix race conditions 2014-12-18 09:23:21 +00:00
Joffrey F 8aded4842b Retry on connection error 2014-12-17 12:55:49 -08:00
Joffrey F f75afc92a2 Use unicode() typecast instead of u'' literal (3.2 compat). Fixes #408 2014-12-17 12:07:35 -08:00
Joffrey F b1e0ca0bd6 Merge branch 'master' of https://github.com/leth/docker-py into leth-master
Conflicts:
	tests/test.py
2014-12-17 11:56:58 -08:00
Joffrey F 2b5516afab Re-added integration tests with hostconfig in start 2014-12-17 11:44:52 -08:00
Joffrey F 12aad176b9 Re-added start with hostconfig tests 2014-12-17 11:44:52 -08:00
Joffrey F c29a6a2841 Fixed start_container tests 2014-12-17 11:44:52 -08:00
Joffrey F e992a8127d assertEquals -> assertEqual 2014-12-17 11:44:51 -08:00
Joffrey F 66112561f4 Updated integration tests to use new host_config param 2014-12-17 11:44:51 -08:00
Joffrey F 19b1379f17 Updated unit tests
* Warnings will now raise exceptions in unit tests
* Updated several tests to use host_config
2014-12-17 11:44:51 -08:00
Joffrey F b214406b38 Updated mock API version 2014-12-17 11:44:31 -08:00
Joffrey F f2ba7f9b9d Merge pull request #429 from dims/master
Devices should be separated by colon separated string
2014-12-17 11:32:58 -08:00
Davanum Srinivas 3a51d3fe0b Devices should be separated by colon separated string
Totally bad test :( (written by me). The documentation and
code should match now. Many thanks to pranavs18 for spotting
the error and proposing the fix.
2014-12-17 07:35:07 -05:00
Marcus Cobden 578dda64c9 Consume from chunked streams without data loss
Data already in local python buffers was lost when stream socket
fileobject was re-created. We now use http.client to handle the chunk
transfer encoding, and we read only the data from each chunk.

This adds a test harness for stream responses which tries to trigger the
lost-buffer behaviour by responding to the HTTP request in full, as
early as possible.

NB: Python's http.client will close the socket fileobj early if there is
no content length or chunked transfer encoding header. If this happens,
requests/urllib3 will reopen it, but we lose some data which was stored
in buffers.
2014-12-16 20:36:08 +00:00
Joffrey F 73b15be0c1 Merge pull request #423 from docker/0.6.0-integration
Fixed integration tests
2014-12-15 15:01:20 -08:00
Joffrey F bf9e1c84ba Don't use old test image (deprecated ID scheme) 2014-12-15 14:52:51 -08:00
Joffrey F a4aa1a88f1 Better pull confirmation 2014-12-15 13:53:49 -08:00
Joffrey F 4b91a71313 Longer timeout when contacting hub 2014-12-15 12:11:54 -08:00
Derek Hammer d8e8400419 Allow for pull as an option to docker build
Signed-off-by: Derek Hammer <derek.r.hammer@gmail.com>
2014-12-13 10:31:47 -08:00
Joffrey F a9bc84cece Enforce passing string as version param in ctor 2014-11-26 23:14:19 +01:00
Joffrey F 1a3f3c1304 Fixed integration test 2014-11-03 23:52:03 +01:00
Joffrey F ba7fab1709 Changed assertIn to assertTrue(... in ...) (2.6 support) 2014-11-03 20:49:44 +01:00
Joffrey F c4bb57286a Merge branch 'filters' of github.com:irachex/docker-py into irachex-filters
Conflicts:
	docker/utils/__init__.py
	docker/utils/utils.py
	tests/utils_test.py
2014-11-03 20:07:04 +01:00
Joffrey F 213ca7d71d Merge branch 'feature_logs-tail' of github.com:totem/docker-py into totem-feature_logs-tail
Conflicts:
	docker/client.py
	tests/fake_api.py
2014-10-30 15:07:58 +01:00
Joffrey F 92d1c8e77c Merge pull request #379 from tutumcloud/logs_tail
Added tail behaviour to logs command, same as CLI v1.3 (latest)
2014-10-30 14:57:12 +01:00
Joffrey F 9b63cc548a Merge pull request #324 from infoxchange/clear-unixconn-pool
Clear UNIX connections pool to avoid ResourceWarnings
2014-10-30 13:49:40 +01:00
Joffrey F 1f4597e64f Merge pull request #360 from proppy/kwargs-from-env
utils: add kwargs_from_env
2014-10-29 19:37:50 +01:00
Joffrey F 37c8072f60 Merge branch 'pause-unpause' of github.com:phensley/docker-py into phensley-pause-unpause
Conflicts:
	README.md
	tests/integration_test.py
	tests/test.py
2014-10-29 19:35:05 +01:00
Johan Euphrosine 74e7a67898 utils: add kwargs_from_env 2014-10-29 10:05:49 -07:00
Joffrey F 75d8ff16e4 Merge branch 'support-devices' of github.com:dims/docker-py into dims-support-devices
Conflicts:
	README.md
2014-10-29 17:23:42 +01:00
Joffrey F e0d6b267ee Merge branch 'exec' of github.com:phensley/docker-py into phensley-exec
Conflicts:
	README.md
2014-10-29 17:19:27 +01:00
Joffrey F ca6fc27740 Merge pull request #306 from groundeffect/master
Add support for 'cpuset'
2014-10-29 17:01:01 +01:00
Alberto 5c06bc7f49 Added tail behaviour to logs command, same as CLI v1.3 (latest) 2014-10-27 18:31:47 +01:00
Davanum Srinivas 7a917cc7a0 Ability to specify Host Devices during container start
The command line and daemon started supporting --device
parameter during docker start a while ago in the following commit:
docker/docker@e855c4b

Since the command line looks like this,
--device=[] Add a host device to the container (e.g. --device=/dev/sdc:/dev/xvdc)
This patch allows a list of strings to be passed into the start() method
and we parse out the 3 components just like in the above mentioned commit
2014-10-24 11:43:30 -04:00
Patrick Hensley b365796439 Use shlex for exec string cmd, added integration testcase. 2014-10-22 13:44:41 -04:00
Søren Gjesse 71b26b7167 Remove accidental changes to integration_test.py 2014-10-21 14:17:39 +02:00
Søren Gjesse 60edfe84b8 Add directories to the Docker context
This change adds both files and directories to the tra-file for the
Docker context. Previously only files where added.

The context will now also contain empty directoryes and symlinks
to directories.
2014-10-21 14:01:57 +02:00
Patrick Hensley e70f985b31 Fix typo in exec url. 2014-10-18 11:35:16 -04:00
Patrick Hensley f95c8c4dfc Unit and integration tests for exec. 2014-10-17 16:06:14 -04:00
Huayi Zhang 589e7006d5 Add support for filtering images and containers
[`filters` is a json encoded value of the filters (a map[string][string]) to process on the images list. ][1]
The tricky thing is that we must convert boolean value to string and any filter value to list to make a `map[string][string]` json format

[1]: https://docs.docker.com/reference/api/docker_remote_api_v1.14/#list-images
2014-10-05 23:18:48 +08:00
Patrick Hensley 288e53b28b Unit and integration tests for pause/unpause. 2014-10-04 23:46:33 -04:00
Alexey Kotlyarov aff1fbc506 Test resource warnings when using the client 2014-09-22 16:24:23 +10:00
Joffrey F ff8c9bb5fd Fixed integration tests 2014-09-08 17:22:32 +02:00
Christian Hammerl 9523950829 add support to add or drop capabilities 2014-09-04 23:15:47 +02:00
davy 4388157fef Added support for 'cpuset' 2014-08-27 13:38:27 +02:00
Shreyas Karnik c6046ac137 first cut of restart policy 2014-08-26 21:35:04 -05:00
sukrit007 c27a459e61 Add support for tailing logs (introduced in API : v1.13)
Updated default version to v1.13
2014-08-22 16:32:48 -07:00
Joffrey F 9999cb0663 pep8 fix 2014-08-22 17:08:57 +02:00
Cameron Maske 5800c4ab06 Allow pushing a single tag.
Closes #282
2014-08-22 10:14:51 -04:00
Joffrey F dba1c45454 Merge pull request #291 from yograterol/master
Volumes parameter on create_container should be validated as string
2014-08-22 13:12:41 +02:00
Maxime Petazzoni 97366f6b60 Stop timeout should be added to the request timeout
Using the max of the stop timeout and request timeout did not entirely
make sure that a stop timeout greater than a request timeout wouldn't
fail prematurely with a HTTPTimeout exception. The correct behavior is
to add the timeouts together, as the stop timeout is understood to be
part of the "request processing time". Any transport-level timeout thus
comes in addition to that.

Signed-off-by: Maxime Petazzoni <max@signalfuse.com>
2014-08-19 10:37:54 -07:00
Yohan Graterol 28e27eb81a Create test for volume as string 2014-08-17 02:42:35 -05:00
Leonid Mirsky 98a4aa994c Adding tests for mem_limit string conversion + adding default unit 2014-08-05 22:02:02 +03:00
Joffrey F e2ac293c1e Merge pull request #280 from emonty/remove_auth_from_tests
Protect push tests from environment
2014-07-23 20:26:02 +02:00
Joffrey F 8e45264907 Merge pull request #268 from brutasse/265-dockerignore
Add support for .dockerignore
2014-07-23 20:25:07 +02:00
Bruno Renié 87b4d327d1 Add support for .dockerignore
Fixes #265.

Implementation is a bit more elaborate than docker's implementation and
matches with the one proposed in dotcloud/docker#6869 to handle permission
issues more nicely.
2014-07-23 15:05:53 +02:00
Monty Taylor 5f2c3de6bb Protect push tests from environment
If the tests are run somewhere that somebody has push auth
configured, the auth headers bleed into the tests. Add a mock
to prevent that from happening.
2014-07-22 10:26:46 -07:00
Joffrey F ed2b4581d7 Merge pull request #259 from dotcloud/166-complete-parse-host
Support same URL schemes as Docker
2014-07-09 17:34:25 +02:00
Michael Merickel e15b3bb689 allow docker client to connect to a remote host
to run the tests on a host without using the default unix socket, it's
now possible to specify:

    DOCKER_HOST=tcp://localdocker:4243 env/bin/python setup.py test
2014-07-07 10:03:42 -05:00
Michael Merickel 272c1f8634 support specifying location of temp folders
TestWithBinds was failing when shared folders are used because /tmp was
not shared from OS X to my VM. This fix allows the location of the temp
folders to be changed via:

    TMPDIR=$(pwd) env/bin/python setup.py test

This also properly cleans up temp folders which were sticking around
before.
2014-07-05 14:44:14 -05:00
Michael Merickel b5e75c4019 fix ListContainers which was failing with "executable true; not found" 2014-07-05 14:20:11 -05:00
Joffrey F d33ba883f1 Fixed base_url related tests 2014-07-03 04:16:08 +02:00
Joffrey F cf050d28a0 Implemented complete parse_host method to handle all accepted values of Client's base_url. Unit tests 2014-07-03 04:11:34 +02:00
Ali Vakilzade ea728c1bd5 get size from Client.containers 2014-06-22 21:10:28 +04:30
d11wtq 1ec551cbe7 Add resize() method to Client 2014-06-21 12:21:44 +00:00
Joffrey F 8a63e70bca Updated/fixed integration tests. Moved 'pull busybox' out of setUp(). Commented out logs streaming test 2014-06-20 20:57:29 +02:00
Joffrey F be0afebc98 Update unit tests to use API v1.12 2014-06-20 20:55:49 +02:00
Joffrey F de066a1ae6 Python, not Go 2014-06-17 03:21:42 +02:00
Joffrey F fb11abc8c6 Merge pull request #236 from rail44/feature-support-get-and-load-image
Support get and load image
2014-06-17 02:24:30 +02:00
Satoshi Amemiya 9461035d49 Support get and load image 2014-06-02 16:41:52 +09:00
Sam Riley d34b78aac5 Fix joining of unicode and byte strings in python3.
Check logs response in unit tests, and fix log integration tests for
py3.
2014-06-01 09:01:42 +01:00
Joffrey F c2b259009a Updated unit tests 2014-05-28 02:03:10 +02:00