Commit Graph

167 Commits

Author SHA1 Message Date
Ben Firshman 1984f68730
Add new user-focused API
See #1086

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:05:43 +00:00
Ben Firshman 39900c558c
Move APIClient tests into single file
For some reason this was spread across two files.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:03:04 +00:00
Ben Firshman e055a1c813
Rename DockerClientTest to BaseAPIClientTest
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:03:04 +00:00
Ben Firshman 9daa320454
Rename Client to APIClient
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:03:03 +00:00
Ben Firshman d5bc7dc99a
Drop support for Python 2.6
Because it's ancient. If you're still using it, you can use an old
version of docker-py.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:03:03 +00:00
Ben Firshman 19eefcf705
Make docker.ssladaptor a single file
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:03:03 +00:00
Ben Firshman 2c9d1110f0
Make docker.auth a single file
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-22 17:03:03 +00:00
Joffrey F f12b618ee9 Merge pull request #1236 from docker/host_config_isolation
Add support for isolation param in host config
2016-11-17 17:42:57 -08:00
Joffrey F f262dd6da9 Merge pull request #1281 from TomasTomecek/1265-ssl-test-no-sslX-support-in-openssl
ssl,test: OpenSSL may not support ssl2
2016-11-14 12:02:55 -08:00
Aanand Prasad c66c2d6fa5 Fix linting error
This seems to have been ignored by older versions of flake8, and fixed
in version 3.1.0 or 3.1.1.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-14 18:20:13 +00:00
Tomas Tomecek 9a485b30ee ssl,test: OpenSSL may not support ssl2
Fixes #1265

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2016-11-14 09:05:26 +01:00
Ben Firshman 3c7c231983
Fix broken unit test
Introduced by https://github.com/docker/docker-py/pull/1230

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-07 12:20:20 -08:00
Joffrey F f745c8e7c5 Merge pull request #1230 from LabattFoodService/updateNode
enable setting of node labels #1225
2016-11-07 10:47:55 -08:00
Walker Lee a3981f891d
Add docker network IPAM options parameter
Signed-off-by: Walker Lee <walkerlee.tw@gmail.com>
2016-10-27 00:17:05 +08:00
Joffrey F cec3fe7c31 Update tests to avoid failures on Windows platforms
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-14 16:02:28 -07:00
Joffrey F 14634fb50a Merge pull request #1256 from docker/format_env_unicode_bug
Do not break when calling format_environment with unicode values
2016-10-13 12:39:47 -07:00
Joffrey F 059f61bf5a Do not break when calling format_environment with unicode values
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-12 17:52:43 -07:00
Joffrey F 05f1060824 Remove trailing slashes in result of utils.parse_host
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-12 16:06:43 -07:00
Ben Firshman 69e992ec48
Move requires_api_version to helpers
Because it's a helper, not a base thing. In preparation for
moving/deleting the unit test base classes.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-10-03 11:58:08 +01:00
Joffrey F 49997d040b Add support for isolation param in host config
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-29 16:34:36 -07:00
Nathan Shirlberg 6ef14932d0 enable setting of node labels #1225
Added update_node function to enable setting labels on nodes.  This
exposes the Update a Node function from the Docker API and should
enable promoting/demoting manager nodes inside a swarm.

Signed-off-by: Nathan Shirlberg <nshirlberg@labattfood.com>
2016-09-27 11:26:26 -05:00
Joffrey F 1e939be5fb Merge pull request #1210 from docker/identity-token-support
Add support for identity tokens in config file
2016-09-16 11:47:48 -07:00
Joffrey F d731a4315c Add support for identity tokens in config file.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-15 14:28:09 -07:00
Ben Firshman 6220636536
Fix a few pep8 issues
autopep8 --in-place --recursive --experimental -aaa --ignore E309 .

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-09-14 16:54:54 +01:00
Ben Firshman 0cdf737625
Fix unit test which doesn't do anything
It also overrode the fake API inspect endpoint with a broken
response.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-09-07 11:40:19 +02:00
Ben Firshman 3769c089e8
Fix licenses
* Complete main LICENSE
* Remove unnecessary licenses from individual files

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-09-05 17:48:09 +02:00
Joffrey F 6552076856 Add support for force disconnect
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-08-31 18:44:36 -07:00
Joffrey F 24bfb99e05 Merge pull request #1167 from docker/1075-from-env-version
Support version parameter in `Client.from_env`
2016-08-25 14:59:46 -07:00
Joffrey F 764d7b38c4 Support version parameter in `Client.from_env`
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-08-25 14:44:13 -07:00
Joffrey F 2ef02df2f0 Merge pull request #1168 from docker/aiden0z-master
Support pids_limit in HostConfig
2016-08-25 14:38:22 -07:00
fermayo 5bedd32a69 Fix creating containers with env vars with unicode characters
Signed-off-by: Fernando Mayo <fernando@docker.com>
2016-08-25 13:36:02 +02:00
Joffrey F 902c7a76cc Docs and tests for pids_limit.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-08-23 17:05:08 -07:00
Joffrey F fb41965272 Merge pull request #1082 from masci/fix_stream_helper
Invoke self._result passing `json=True` when `decode=True`
2016-08-23 15:34:35 -07:00
Kay Yan fc72ac66e9 support MemoryReservation and KernelMemory
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2016-08-23 15:32:06 -07:00
Joffrey F 797f1edc20 Merge branch 'master' of https://github.com/srikalyan/docker-py into srikalyan-master 2016-08-23 15:16:15 -07:00
Joffrey F 0e4314a872 Merge branch 'jp-cpushares' of https://github.com/joshpurvis/docker-py into joshpurvis-jp-cpushares 2016-08-23 15:12:30 -07:00
Joffrey F 0acdd19665 Merge pull request #1131 from Knetic/dnsopts
Implemented dns_opt support (from api 1.21)
2016-08-23 15:04:25 -07:00
Josh Purvis 7d147c8ca1 Move cpu_shares and cpuset_cpu to HostConfig when API >= 1.18
Signed-off-by: Josh Purvis <joshua.purvis@gmail.com>
2016-08-15 16:33:58 -04:00
Tomas Tomecek 08b284ab39 docker client consistency: don't quote ':/'
E.g.

docker client

`/v1.21/images/localhost:5000/busybox/push?tag=`

docker-py

`/v1.21/images/localhost%3A5000%2Fbusybox/push`

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2016-08-10 09:30:19 +02:00
George Lester 93b4b4134e Implemented dns_opt support (from api 1.21)
Signed-off-by: George Lester <glester491@gmail.com>
2016-08-07 14:23:22 -07:00
Joffrey F ae7cb4b99f Avoid crashing in update_headers decorator when headers kwarg is None
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-08-02 17:25:50 -07:00
Jari Takkala dec29e1c10 Add support for sysctl when creating container
Closes #1144

Signed-off-by: Jari Takkala <jtakkala@gmail.com>
2016-08-01 23:43:52 +01:00
Joffrey F 723d144db5 Add support for IPv6 docker host connections.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-07-27 18:42:14 -07:00
Aanand Prasad 0e68b0a429 Default to npipe address on Windows
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-26 11:39:09 +01:00
Keerthan Reddy Mala 1294d3c410
Add unit tests
Signed-off-by: Keerthan Reddy Mala <kmala@deis.com>
2016-07-22 10:04:32 -06:00
Ben Firshman bd73225e14
Set custom user agent on client
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-07-20 15:04:54 -07:00
Joffrey F e64ba8f2b9 Mock read_from_socket method
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-07-13 17:08:17 -04:00
David Gageot 5464cf2bea Add hijack hints for non-detached exec api calls
Signed-off-by: David Gageot <david@gageot.net>
2016-07-13 17:08:17 -04:00
Tomas Tomecek 8f8a3d0ed2 volumes,create: support adding labels
Fixes #1102

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2016-07-13 08:41:45 +02:00
Justin Michalicek e8ea79dfdb Change double underscore in test case names for _set_auth_headers
* Change test__set_auth_headers_* methods to test_set_auth_headers_*

Signed-off-by: Justin Michalicek <jmichalicek@gmail.com>
2016-07-12 10:06:34 -04:00
Justin Michalicek f7807bdb52 Update build unit tests
* Test that the request from build when the client has
  auth configs contains the correct X-Registry-Config header
* Test that BuildApiMixin._set_auth_headers() updates the passed
  in headers dict with auth data from the client
* Test that BuildApiMixin._set_auth_headers() leaves headers dict intact
  when there is no _auth_config on the client.

Signed-off-by: Justin Michalicek <jmichalicek@gmail.com>
2016-07-12 10:06:34 -04:00
Srikalyan Swayampakula b5d3556bce Added support for user namespace.
Signed-off-by: Srikalyan Swayampakula <srikalyansswayam@gmail.com>
2016-06-30 15:25:17 -07:00
Joffrey F 538a1db9dd Merge pull request #1066 from yunzhu-li/blkio-control
Add support for Block IO constraints in HostConfig
2016-06-15 14:26:49 -07:00
Massimiliano Pippi 86d1b8fb83 invoke self._result with json=True if decode=True
Signed-off-by: Massimiliano Pippi <massi@datadoghq.com>
2016-06-07 10:32:02 -04:00
yunzhu-li 896d36ea1d
Add support for Block IO constraints in HostConfig
This adds support for Block IO constraint options:
    - blkio-weight
    - blkio-weight-device
    - device-read-bps
    - device-write-bps
    - device-read-iops
    - device-write-iops

Signed-off-by: yunzhu-li <contact@yunzhu.li>
2016-06-05 23:30:44 -04:00
Joffrey F 0176fa171f Update parse_host and tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-06-02 18:21:29 -07:00
Thomas Grainger e0b9cb2a8c
support Python 3.5
Signed-off-by: Thomas Grainger <tom.grainger@procensus.com>
2016-05-19 17:59:34 +01:00
Aanand Prasad 5ebf4b8ec7 Resolve path traversal in .dockerignore patterns
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-05-16 15:55:06 +01:00
Kevin Frommelt 2826dd51e7 Don't set socket timeout if it's already disabled when streaming
Signed-off-by: Kevin Frommelt <kevin.frommelt@gmail.com>
2016-05-10 10:23:14 -05:00
Joffrey F 3c02fc4cc7 Merge pull request #1004 from klj613/allow-equals-character-in-env-file
makes it possible to have '=' in the env file
2016-04-27 16:27:28 -07:00
Felix Yan 9da5493135 Use backports.ssl_match_hostname
The py2-ipaddress module unfortunately conflicts with the pypi:ipaddress module, which is in the dependency tree of widely used pyOpenSSL. I think it would be a good idea to use a well maintained backport of the Python 3.5 implementation of match_hostname() instead of duplicating the effort and maintain another.

All tests are passing here.

Signed-off-by: Felix Yan <felixonmars@archlinux.org>
2016-04-08 00:36:46 +08:00
Joffrey F 541edd7ffb Don't raise InvalidConfigError when auth dict doesn't have an 'auth' key
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-05 14:05:33 -07:00
Joffrey F c5a92e0822 Tests for match_hostname backport
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-29 17:09:26 -07:00
Joffrey F 9505b3e8b5 Merge branch 'master' of https://github.com/dimaspivak/docker-py into dimaspivak-master 2016-03-23 12:04:09 -07:00
Joffrey F c3f76e6e8f Merge branch 'from_env' of https://github.com/bfirsh/docker-py into bfirsh-from_env 2016-03-22 17:09:24 -07:00
Aditya Marella 7a0e19766b Support OomScoreAdj in host configuration
Signed-off-by: Aditya Marella <aditya.marella@gmail.com>
2016-03-22 10:54:59 -07:00
Kristian Lewis Jones 6eaf8ce721 makes it possible to have '=' in the env file
note that the docker command line flag --env-file also allows '=' in the env file

Signed-off-by: Kristian Lewis Jones <klj613@kristianlewisjones.com>
2016-03-22 10:00:47 +00:00
Joffrey F 3fe08cbfe5 Support passing an alternate environment dict to kwargs_from_env
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-21 18:17:27 -07:00
Dima Spivak 99b6ec1180 Add support for changes param to ContainerApiMixin.commit
docker commit --changes was added to Docker in 1.6.0.

Signed-off-by: Dima Spivak <dima@spivak.ch>
2016-03-21 11:37:14 -07:00
Joffrey F 3168149cbf If tcp host is provided while TLS is enabled, convert to https
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-17 16:18:37 -07:00
Aanand Prasad 7417bc2cce Don't support tmpfs in API version < 1.22
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-03-16 17:37:54 +00:00
Jan Losinski 72446b47c0 Add unittest for the Tmpfs Hostconfig option
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2016-03-16 14:47:40 +00:00
Ben Firshman 8991ba7cce Add docker.from_env() shortcut
A much neater way of getting started with docker-py.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-03-15 11:24:25 -07:00
Joffrey F ad480ff0b1 Fix enable_tls issue #984
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-11 12:27:24 -08:00
Joffrey F 81d8caaf36 Merge pull request #916 from docker/container_update_feature
Support for container limits update
2016-02-24 18:00:06 -08:00
Joffrey F cdf6dc8c3c Merge pull request #942 from seguins/934-separate-stream-follow-logs
Separate params stream and follow for logs.
2016-02-24 16:04:42 -08:00
Joffrey F a710fbf60a Unit test for Client.update_container method
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 16:18:36 -08:00
Aanand Prasad 9ba0ddf267 Fix TLS regressions
- Set `verify` to the CA cert path if one has been specified, rather
  than `True`

- Don't set `assert_fingerprint`

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-23 14:29:52 -08:00
Stéphane Seguin 71fafd3209 Separate params stream and follow for logs.
Closes #934

Signed-off-by: Stéphane Seguin <stephseguin93@gmail.com>
2016-02-16 18:51:55 +01:00
Joffrey F c3a66cc599 Merge pull request #928 from docker/926-ignored_dockerfiles
Never exclude Dockerfile from the build context.
2016-02-09 12:52:04 -08:00
Joffrey F 90760cfe1d Never exclude Dockerfile from the build context.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-09 12:11:30 -08:00
Joffrey F dc198be26c Don't break when parsing unknown config keys
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-09 12:08:34 -08:00
Joffrey F 8bdaffc2e7 Merge pull request #920 from docker/ssl_version_simpler
Remove obsolete SSL version computation
2016-02-05 12:41:02 -08:00
Mike Dougherty 387db11009 Re-write kwargs_from_env to handle TLS options better
This more closely matches the way the docker client interprets the
relevant environment variables. Among other things, it's now possible to
set DOCKER_TLS_VERIFY=false.

Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2016-02-04 17:13:09 -08:00
Spencer Rinehart fca622cad7 Add support for shm_size.
--shm-size was added to Docker in 1.10 via docker/docker#16168.  See
docker/compose#2823 for more details.

Signed-off-by: Spencer Rinehart <anubis@overthemonkey.com>
2016-02-04 12:33:05 -06:00
Joffrey F b808cc45b4 Remove obsolete SSL version computation
Recent versions of urllib3 (including the one packaged by requests)
will automatically reject SSLv2/3.
Additional test to check urllib3's behavior (mostly for release/packaging)

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-03 17:50:52 -08:00
Joffrey F bb94fe7a8c Support unspecified protocol in base_url when using TLS
(assume HTTPS)

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-28 16:25:23 -08:00
Aanand Prasad 01a754a7f7 Support links when creating containers or connecting to networks
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-20 17:47:45 +00:00
Joffrey F eb1f24a1fc Merge pull request #880 from docker/813-parse-float-bytes
Handle 64-bit integer values in parse_bytes
2016-01-18 14:37:34 -08:00
Pavel Kravchenko 84a72f49e9 Add HttpHeaders support in load_config
Signed-off-by: Pavel Kravchenko <kpavel@il.ibm.com>
2016-01-18 14:29:31 -08:00
Joffrey F cd66f6c6cd parse_bytes: Add ability to handle 64-bit integers in py2
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-18 13:53:52 -08:00
Joffrey F f9b04c1026 Improve host devices support
Add unit tests for utils.parse_devices
Rewrite documentation
Support dict and string format for device declaration

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-18 11:38:32 -08:00
Aanand Prasad 21a5a0a049 Normalise/fix networking API JSON keys
- Use CamelCase
- `auxaddresses` -> `AuxiliaryAddresses`

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-18 18:41:18 +00:00
Aanand Prasad d00a5bb086 Implement support for network-scoped aliases
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-14 18:19:35 +00:00
Ryan Belgrave 67a29441c4 allow custom ipam options when creating networks
Signed-off-by: Ryan Belgrave <rmb1993@gmail.com>
2016-01-04 18:57:11 -05:00
Aanand Prasad 9deffc45a1 Merge pull request #863 from thomasboyt/fast-exclude-paths
Don't descend into ignored directories when building context
2015-12-16 16:59:12 +00:00
Aanand Prasad 25b188440a Treat 'index.docker.io' repo names as 'docker.io'
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-10 12:42:54 +00:00
Aanand Prasad 9b890c4540 Refactor resolve_authconfig tests
The structure of the fake config dictionary was not reflective of what
actual parsed config looks like.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-10 12:42:54 +00:00
Sumit Sahrawat 2981d013a5 Fix remove_volume return value
Signed-off-by: Sumit Sahrawat <sumit.sahrawat.apm13@iitbhu.ac.in>
2015-12-10 10:29:11 +05:30
Sumit Sahrawat bd948be7d9 Allow providing options when creating networks
Following the spec:

    http://docs.docker.com/engine/reference/api/docker_remote_api_v1.21/#create-a-network

I have added an Options argument to create_network.

This opens up the possibility of creating isolated containers with no
internet access programmatically. We require such facilities in
https://github.com/jupyter/tmpnb/issues/187.

Signed-off-by: Sumit Sahrawat <sumit.sahrawat.apm13@iitbhu.ac.in>
2015-12-10 10:29:11 +05:30