Toshio Kuratomi
e95c0b2df3
Only split on the first colon.
...
Fixes #1214
2015-04-28 08:33:50 -07:00
Heikki Partanen
91ca2d6386
Add support for extra_hosts to docker module
...
extra_hosts parameter (maps to --add-host in 'docker run' syntax) is used
to add host-to-ip mappings to the container.
2015-04-07 10:30:14 +03:00
Andrew Davis
f38186ce8b
ansible_facts reflects 1.8 output
2015-04-03 12:41:10 -07:00
Ash Wilson
45b067f097
Record facts for each changed container.
2015-03-31 16:14:16 -04:00
Ash Wilson
b28459e6f5
Wait for process exit on detached=no.
2015-03-30 15:52:17 -04:00
Ryan Trauntvein
5320cc93e6
Specify that "state: reloaded" was added in Ansible 1.9
2015-03-27 16:36:10 -07:00
nemunaire
7f3df5634a
Add optional signal parameter when killing docker container
2015-03-27 18:14:14 +01:00
Ash Wilson
9ce2fc718a
Only fetch details when necessary.
2015-03-24 11:18:15 -04:00
Ash Wilson
47f4c3f2e5
Compare container images to Config.Image.
2015-03-24 11:07:12 -04:00
moncho
3421712e05
Update docker.py
...
Fix typo that prevents use_tls 'encrypt' option from working properly.
2015-03-19 19:30:36 +01:00
Toshio Kuratomi
76198a8223
Merge pull request #961 from nemunaire/fix-docker-version-print
...
[docker] Fix formating error when remote host doesn't have required version
2015-03-18 19:51:45 -07:00
Toshio Kuratomi
e338fef730
Add another valid status from downloading images
2015-03-18 18:27:01 -07:00
nemunaire
fce8c21176
Convert tuple items to string before format
2015-03-18 14:37:26 +01:00
Toshio Kuratomi
8658b82de7
Some code cleanup (removed unused variables and imports)
2015-03-16 11:58:03 -07:00
Toshio Kuratomi
34c4e0d495
Also use DOCKER_TLS_VERIFY env var to turn on tls verification
2015-03-16 11:43:52 -07:00
Toshio Kuratomi
ceda82603a
Merge pull request #947 from ansible/docker-tls-none
...
When no use_tls is not specified and no tls parameters are given we need to not attempt tls.
2015-03-16 11:29:14 -07:00
Toshio Kuratomi
b0d194ea94
Fix a potential bug in docker pull
2015-03-15 11:22:07 -07:00
Toshio Kuratomi
5b4d7a2182
When no use_tls is not specified and no tls parameters are given we need to not attempt tls.
2015-03-14 22:59:17 -07:00
Toshio Kuratomi
45637176dc
Merge branch 'volumes_from' of https://github.com/lorin/ansible-modules-core into lorin-volumes_from
...
Remove volumes_from altogether
Conflicts:
cloud/docker/docker.py
2015-03-13 13:42:40 -07:00
Toshio Kuratomi
e4a5b46cfb
Merge pull request #936 from ansible/docker-pid-mode
...
Make pid_mode parameter do minimum docker-py/docker server version checks
2015-03-13 11:50:46 -07:00
Toshio Kuratomi
81fc92bd66
Make state=running work for backwards compatibility with 1.8
2015-03-13 10:23:10 -07:00
Toshio Kuratomi
bddd02bfcb
Fix lookup of parameter name to be pid instead of pid_mode
2015-03-13 07:31:55 -07:00
Toshio Kuratomi
9d0d54b9a6
Merge pull request #926 from ansible/docker-tls-alt-854
...
Alternative implementation of tls for docker
2015-03-12 23:41:28 -07:00
Toshio Kuratomi
cf9374f3ea
Make pid_mode parameter do minimum docker-py/docker server version checks
2015-03-12 22:53:31 -07:00
Toshio Kuratomi
3a6cc86578
Fix for problems found by @dguerri
...
* TLSConfig['verify'] has to be set to False if we're only encrypting the
connection, not verifying the host.
* tls_hostname was not set if tls_ca_cert was not present
https://github.com/ansible/ansible-modules-core/pull/926#issuecomment-78573877
2015-03-12 12:53:48 -07:00
Toshio Kuratomi
1add8ed9e5
Implement comments from @smashwilson:
...
* if tls_ca_cert is set then use tls to verify the server
* take tls_hostname from the environment variable DOCKER_TLS_HOSTNAME
if it's not specified in the playbook
https://github.com/ansible/ansible-modules-core/pull/926#issuecomment-78542210
2015-03-12 11:07:22 -07:00
Stefan Junker
c3f92cca21
docker: Use a list instead of a dict for volumes according to the docker-py docs. Do not add host-binds to volumes list.
2015-03-12 12:55:14 +01:00
Stefan Junker
d8df5da49f
merge and resolve conflict in docker.py
2015-03-12 12:47:54 +01:00
Ian Babrou
763f472f5b
fixed: global name 'e' is not defined
2015-03-12 11:04:50 +03:00
Toshio Kuratomi
3e0cbc82f1
Alternative implementation of tls for docker
...
Alternative to #854
2015-03-11 20:37:27 -07:00
Toshio Kuratomi
ca32205c7b
Documentation style changes
2015-03-11 08:26:16 -07:00
Ian Babrou
9ecfde7551
not triggering reload for links and not string env variables
2015-03-09 22:49:00 +03:00
Ash Wilson
0969fd75c8
Use {0}, {1} style format indices for 2.6 compat
2015-03-09 12:54:22 -04:00
Ash Wilson
19664a96db
Expect module env vars to override Dockerfile ones.
2015-03-09 12:17:39 -04:00
Ash Wilson
608ddbea29
Include bind mounts in VOLUMES check.
2015-03-09 11:20:14 -04:00
Ash Wilson
2c58eb3845
Exposed ports, env vars, volumes from the image.
...
This will account for settings that are provided by the hierarchy of
Dockerfiles used to construct your image, rather than only accounting
for settings provided to the module directly.
2015-03-09 10:32:10 -04:00
Ash Wilson
79db475316
Full image inspection and just repo tags
...
Hat tip to @bobrik.
2015-03-09 10:05:56 -04:00
Brian Coca
1c0623ab8d
Merge pull request #890 from SamYaple/docker-pid-support
...
Add pid mode support to docker module
2015-03-07 20:27:42 -05:00
Ash Wilson
d046425049
Connect to Docker with optional TLS.
2015-03-06 18:04:36 -05:00
Ash Wilson
80aca4b936
Rework docker module states.
...
Organize each state into a distinct function for readability and composability.
Rework `present` to create but not start containers. Add a `restarted` state
to unconditionally restart a container and a `reloaded` state to restart a
container if and only if its configuration is incorrect. Store our most recent
knowledge about container states in a ContainerSet object. Improve the value
registered by this task to include not only the inspect data from any changed
containers, but also action counters in their native form, a summary message
for all actions taken, and a `reload_reasons` key to store a human-readable
diagnostic to determine why each container was reloaded.
2015-03-06 17:58:11 -05:00
Ash Wilson
7490223940
Pull newer image versions when requested.
2015-03-06 17:56:45 -05:00
Ash Wilson
fedbea682e
Another documentation commit.
2015-03-06 17:56:37 -05:00
Sam Yaple
e1e74bdf33
Updated version and fixed default
2015-03-06 03:13:55 -06:00
Sam Yaple
74e922449b
Add pid mode support to docker module
...
This allows setting the pid namespace for a container. Currently only
the 'host' pid namespace is supported.
This requires Docker 1.4.1 and docker-py 1.0.0
2015-03-03 23:32:15 -06:00
Brian Coca
d2158708ff
undeprecated docker_image until replacement actually arives
2015-02-23 12:43:10 -05:00
Brian Coca
b787792908
Merge pull request #679 from marqc/fix_dns_create_container_issue
...
Fixes docker.errors.DockerException: 'dns' parameter has no effect on create_container()...
2015-02-18 15:44:16 -05:00
Brian Coca
7e71121da5
Merge pull request #730 from SergeyZh/devel
...
Fixed broken volumes_from for client API >= 1.10
2015-02-17 11:49:16 -05:00
Tomer Paz
374dd06c8e
resolve issue 764
...
https://github.com/ansible/ansible-modules-core/issues/764
added 'domainname' attribute in addition to existing 'hostname'.
That's the most elegant way to delegate domain name to docker-py...
2015-02-11 09:25:24 +02:00
Sergey Zhukov
7baaf97a8b
Fixed broken volumes_from for client API >= 1.10
2015-01-30 19:58:12 +03:00
Toshio Kuratomi
670098af2d
Spelling and grammar fix
2015-01-22 23:08:24 -08:00
calmera
d2c6791082
Update docker.py
...
Added some more documentation for the memory_limit and volume options.
2015-01-22 23:08:24 -08:00
Brian Coca
d66c3fcf51
moved defaulting to module constant to after when it is defined
2015-01-21 19:50:34 -05:00
Marek Chodor
13685fb91b
Fixes docker.errors.DockerException: 'dns' parameter has no effect on create_container(). It has been moved to start()
2015-01-21 13:37:24 +01:00
Lorin Hochstein
48ce8bb564
Don't pass volumes_from to create_container
...
Don't pass the volumes_from argument to the Docker create_container method.
If the volumes_from argument is passed to the create_container method, Docker
raises the following exception:
docker.errors.DockerException: 'volumes_from' parameter has no effect on
create_container(). It has been moved to start()
2014-12-27 22:05:55 -05:00
Lorin Hochstein
3665c92856
docker: fix volume[s]_from typo
...
Code makes reference to volume_from instead of volumes_from. If volumes_from is
passed as an argument, generates a KeyError.
2014-12-25 23:31:06 -05:00
Jan Weitz
ebf9b8c6e2
Fixes invalid dictionary access.
2014-12-24 13:15:40 +01:00
Jan Weitz
82601fdc54
Fixes version check for docker-py
2014-12-24 03:04:04 +01:00
Stefan Junker
8f3b5c640b
Fix bind-volumes on docker >= 1.4.0
...
If bind-volumes are submitted to docker >= 1.4.0 with the volumes set in addition to the binds, docker will create a regular volume and not bind-mount the specified path.
2014-12-21 17:11:47 +01:00
Toshio Kuratomi
c4f9366e91
Newstyle class
2014-12-18 13:43:55 -08:00
Toshio Kuratomi
f65d9ab793
Make insecure_registry feature version check against the client API
2014-12-18 12:45:13 -08:00
Maksim Losev
4172d445d3
Add insecure_registry to docker-py pull method
...
Starting from docker-py>=0.5.0 it is impossible to work with private registries based on HTTP.
So we need additional parameter to allow pull from insecure registry
Related to ansible/ansible#9111
2014-12-18 12:36:17 -08:00
Toshio Kuratomi
fa0fa9d221
Make docker ver checks issue failures rather than silently ignoring
...
Also:
* make client version checks robust for two digit version pieces and
alpha versions
* consolidate version checking code
2014-12-18 11:23:44 -08:00
Ingo Gottwald
80d45c78a3
Add support for new docker restart policies
2014-12-18 10:27:53 +01:00
PikachuEXE
6ce7e63c5f
~ Add missing documentation for option email
2014-12-10 10:23:59 +08:00
Toshio Kuratomi
c6522620c5
Clean up the docker module just a little so that we can unittest the get_split_image_tag function
2014-11-14 08:46:32 -08:00
Michael DeHaan
2970b339eb
Deprecate docker_image, use the docker module to deploy docker images, or shell out to docker to call
...
docker build if you want from a playbook.
2014-11-05 16:13:55 -05:00
Brian Coca
19ed60196c
added __init__.py to new cloud subcategories so builds work again
2014-11-05 11:07:19 -05:00
Brian Coca
0c4adcb2c6
made subcategories for cloud modules for better organization
2014-11-04 11:18:09 -05:00
Michael DeHaan
c8e1a2077e
file extensions!
2014-09-26 10:37:56 -04:00
Michael DeHaan
417309a626
Restructuring.
2014-09-26 10:13:26 -04:00
Michael DeHaan
73123b69fa
Move modules into subdirectory.
2014-09-26 09:23:50 -04:00
James Cammarata
2fac1fd865
Ensure port in docker expose list is a string
...
Fixes #8731
2014-09-16 21:38:49 -05:00
Toshio Kuratomi
3f4bdce67e
My fix was wrong again. Base this try off of @mantiz's fix in #9016
2014-09-16 11:46:09 -07:00
Toshio Kuratomi
e51bcf90a0
Fix the case where a docker image is not part of a namespace.
...
Fixes #9016
2014-09-16 11:39:15 -07:00
Toshio Kuratomi
4094edf92f
Fix splitting the tag from the image name
...
Fixes #8983
2014-09-15 09:01:07 -07:00
Toshio Kuratomi
732b6f0a23
Omit tag from parsed image name
...
Fixes #8925
2014-09-11 11:27:00 -07:00
James Cammarata
fa21b336f8
Stop/remove existing docker container if the specified tag is different
...
Fixes #8278
2014-08-26 13:36:42 -05:00
Eric D. White
6f9cb7ab61
Issue 8735 - module docker - expose values should be striped to ensure port forwarding works.
2014-08-24 21:07:26 +01:00
James Cammarata
3373e82d83
Fixing bug with image/tag pulling in docker module
...
Fixes #8670
2014-08-22 14:08:40 -05:00
James Cammarata
d6375cd3c1
Fix bad commit from #8095 and fix bad splitting on :'s in the image
...
Fixes #8095
Fixes #8658
2014-08-18 10:37:07 -05:00
James Cammarata
f729ab8e67
Make env param a dict type instead of list
...
Also modifies param type checking code to remove whitespace from
around params before splitting them into k=v pairs.
Fixes #8199
2014-08-15 11:04:27 -05:00
James Cammarata
f367adc021
Update version_added field for docker_api_version param
2014-08-08 15:03:34 -05:00
James Cammarata
30ead6a17c
Merge branch 'add-docker-api-version-parameter' of https://github.com/jmoretti/ansible into jmoretti-add-docker-api-version-parameter
2014-08-08 14:52:25 -05:00
James Cammarata
74847bfbfa
Merge branch 'devel' of https://github.com/kolloch/ansible into kolloch-devel
2014-08-08 13:44:48 -05:00
James Cammarata
aa0a904b2b
Updating version_added for docker net param and adding an example
2014-08-08 13:16:08 -05:00
James Cammarata
a9b6d5a516
Merge branch 'docker-add-net-parameter' of https://github.com/discordianfish/ansible into discordianfish-docker-add-net-parameter
2014-08-08 13:09:19 -05:00
James Cammarata
18618b47b0
Merge branch 'fixes/docker-volumes' of https://github.com/devpopol/ansible into devpopol-fixes/docker-volumes
2014-08-08 12:24:21 -05:00
Kurt Yoder
2f74c0bade
Fix Docker image name parsing
...
Fixes #8357
2014-07-30 14:33:01 -04:00
Joe Moretti
ca7498aeb7
Add optional docker_api_version parameter to Docker Module
2014-07-08 10:06:31 -05:00
Peter Kolloch
0f67a94820
Hack to fix #7738 : Allow tag in image parameter of docker module
...
It also defaults to the "latest" tag for pulling the image
instead of pulling all versions.
2014-06-12 11:48:57 +02:00
Paul Myjavec
267d107fe6
Docker links and required alias
...
If no alias is passed one will now be created for you with the same name
as the target link container, as per the documentation
2014-06-10 22:53:55 +10:00
Johannes 'fish' Ziemke
b16cad7cd9
Add networking mode parameter (net) to docker
...
Since 0.11 Docker supports different networking modes (see docker run
--net). This commit add support for that to the ansible docker module.
This depends on
2d58351164
2014-05-29 18:59:03 +02:00
Stephen Paul Suarez
834168f17b
fix spacing
2014-05-28 06:14:54 +08:00
Stephen Paul Suarez
bb0a56ad1d
fix typo
2014-05-27 19:19:49 +08:00
Stephen Paul Suarez
6b84f7093f
support rw bind mode in docker module
2014-05-27 16:18:23 +08:00
Matt Bray
901feb91fc
docker: fix targetting images by name
2014-05-15 15:04:30 +01:00
James Cammarata
8622a3f396
Merge pull request #7404 from jimi-c/issue_7363_docker_names
...
Make sure the docker data has a "Names" field before using it
2014-05-14 14:44:16 -05:00
Konstantin Shabanov
f9e6db7886
Fix env splitting in docker module
...
ENV variable value could contain '=' (for example mysql://host/db?pool=10)
2014-05-14 18:11:43 +04:00
James Cammarata
b59e4e8222
Make sure the docker data has a "Names" field before using it
...
Fixes #7363
2014-05-12 12:27:07 -05:00
Johannes 'fish' Ziemke
ac14a016c4
Fix: Remove check for Ghost state
...
This fixed the just committed change handling non existent Ghost state.
2014-05-09 20:13:25 +02:00
James Cammarata
b5ba1c4527
Merge pull request #7338 from discordianfish/remove-ghost-state
...
Remove check for Ghost state
2014-05-09 13:06:16 -05:00
Johannes 'fish' Ziemke
dccf70ec0b
Remove check for Ghost state
...
This doesn't exist anymore and causes ansible to throw a KeyError
2014-05-09 18:07:02 +02:00
James Cammarata
4e7542315c
Merge pull request #7110 from orgoj/docker-patch-version_comment
...
module docker - add docker version comment
2014-05-09 00:57:41 -05:00
James Cammarata
98d949e143
Merge pull request #7047 from joshuaconner/docker_bugfix_exclude_entrypoint_from_command_check
...
docker: exclude 'entrypoint' from comparing 'command' param with containers
2014-04-23 16:14:48 -05:00
James Cammarata
f068a4f26a
Merge pull request #6991 from joshuaconner/bugfix_dont_send_wrong_params_to_dockerclient_start
...
Docker: don't send wrong parameters to client.start()
2014-04-23 15:48:04 -05:00
Michael Heca
ae8b942e4a
module docker - add docker version comment
...
Default docker version 0.9.1 from Ubuntu 14.04 LTS don't report APIVersion.
2014-04-22 12:21:51 +02:00
CaptTofu
45d2cab30c
Small bug - 'acts' should be 'facts'
2014-04-21 08:06:00 -07:00
Joshua Conner
0ce43d6e3c
docker: exclude 'entrypoint' from comparing 'command' param with containers
...
The JSON the Docker API returns includes the container's ENTRYPOINT value (if it has one) with the 'Command' value. So instead of checking if `container['Command'] == module.params['command']`, we just check that `container['Command'].endswith(module.params['command'])` so the entrypoint won't affect a container being properly classified as matching the module params or not.
Also I refactored a super-long `if` statement into some temporary variables - I did it to help me figure out what was going wrong, and then it makes the code more readable so I kept it.
2014-04-17 16:10:53 -07:00
Joshua Conner
bac2e879b2
docker: send 1.10 params if docker-py is new enough version
2014-04-17 16:05:50 -07:00
Matt Bray
afd0e78f16
docker.client.APIError has moved to docker.errors.APIError
...
see 18d4db09ec
2014-04-16 23:42:56 +01:00
Joshua Conner
6bf75de95c
Docker: don't send wrong parameters to client.start()
...
As part of being updated for the 1.10 API, a couple of parameters were passed to the docker.client.start() command that it doesn't accept. This caused the module to error out if it tried to start any Docker containers. This removes those parameters so the module works again.
2014-04-14 15:05:42 -07:00
Matt Bray
3d20c585a6
docker: from API 1.10 dns and volumes_from should be passed to start()
2014-04-11 17:08:55 +01:00
Michael DeHaan
289b359139
Merge pull request #6486 from discordianfish/docker-module-add-running
...
Rename present to running, add new present state
2014-03-28 11:50:21 -04:00
Joshua Conner
2d9130fc23
docker: use type instead of manually casting strings to lists
2014-03-28 11:19:48 -04:00
Joshua Conner
15eaa859b0
docker bugfixes: trim whitespace around list param elements, handle list params being coerced to int or long type
2014-03-28 11:19:13 -04:00
Matt Bray
a351f40fff
docker: add tty and stdin_open options
...
Useful for development environments. Setting these options to true
allows you to `docker attach` to a docker container started with
ansible.
2014-03-18 11:57:01 +00:00
Johannes 'fish' Ziemke
459a76c0dd
Rename present to running, add new present state
...
The new present state just makes sure that a container exists, not that
it's running, although it get started one creation.
This is very useful for data volumes. This also changes the old
present, now running (default) state to only create the container if
it's not found, otherwise it just get started.
See also discussion on mailinglist:
https://groups.google.com/forum/#!topic/ansible-devel/jB84gdhPzLQ
This closes #6395
2014-03-14 14:28:46 +01:00
Joshua Conner
ad605390cd
docker: add 'version_added' to the appropriate documentation entries
2014-02-25 17:04:01 -08:00
Joshua Conner
758b9603f5
docker: update to docker-py 0.3.0, plus full port binding support, container names, links
2014-02-25 15:24:46 -08:00
Pavel Antonov
a72733ebea
Added modules description and examples
2014-02-12 17:06:58 -05:00
Pavel Antonov
ae99e8860e
Docker supports links and port binding. Added docker_image module
2014-02-12 17:06:58 -05:00
Timur Batyrshin
9ad52632c5
reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 ( #5852 )
2014-02-03 13:00:40 -06:00
Michael DeHaan
cb6f7748d5
All modules should be using /usr/bin/python in the shebang as ansible_python_interpreter processes this (see FAQ).
...
Fixing for standardization purposes.
2014-01-15 09:52:17 -05:00
Michael DeHaan
edc877d6b0
Merge pull request #5133 from joshuaconner/add_docker_max_version_to_docs
...
add supported docker version to docs
2013-12-03 16:46:34 -08:00
Joshua Conner
2c09d829cb
add supported docker version to docs
2013-12-02 13:08:47 -08:00
James Tanner
4f9aadcc07
Addresses #5023 Fix import comments
2013-12-02 15:13:49 -05:00
James Tanner
38edad70ac
Fixes #5023 Convert all modules to use new snippet import pattern
2013-12-02 15:11:23 -05:00
Michael DeHaan
08996d78d6
Add version_added to all modules missing version_added information, the docs formatter will now
...
raise errors when omitted, updated changelog with new modules.
2013-11-18 18:55:49 -05:00
Tom Berger
9344bc175d
Update cloud/docker: if the image name containes a repository, strip it.
...
When using repositories other than the main one at docker.io, the image name contains the repo name (which itself contains ":" as a separator between domain and port). We don't really care about it here, so just get rid of it before looking at the image name.
2013-11-16 23:15:03 +02:00
Cove Schneider
b69fdc270b
Fixes from docker-ansible, update license to be same as other modules
2013-11-03 12:48:03 -08:00
Cove Schneider
729297bce8
update with current fixes from docker-ansible
2013-10-23 22:56:02 -07:00
Cove Schneider
502fe3cf5f
Un-camelcase DockerContainers, rename class to DockerManager().
2013-10-14 13:49:53 -07:00
Cove Schneider
21e31722f9
remove comment about requirements
2013-10-13 21:37:42 -07:00
Cove Schneider
b4cce885e3
add requirements back
2013-10-13 21:36:42 -07:00
Cove Schneider
8f0b3cac51
clean up a few warnings
2013-10-13 21:34:58 -07:00
Cove Schneider
0fc525ff11
add python requirements to docs
2013-10-13 21:14:27 -07:00
Cove Schneider
3859da2a76
add example docs
2013-10-13 20:34:14 -07:00
Cove Schneider
ea3745d7dd
add docker module
2013-10-13 15:07:27 -07:00