Commit Graph

115 Commits (2bf6507c44e05af1db6bec0612014f4b97e070f8)

Author SHA1 Message Date
David Wittman a24898b715 Add cap_drop to docker_container module (#36889)
Closes #29578
2018-08-07 12:11:52 +05:30
Raoul Scarazzini 86387df8b3 Fix docker_container stop/start image dependency (#41678)
This commit adds a conditional inside the constructor so that if a user
didn't specified an image parameter all the code related to the image
version comparison is omitted.
This is extremely useful when a user want to just stop and start
containers using just the name, keeping everything as it is, without the
need of specifying all the image and command stuff used at creation.
Today if you don't specify the image you get an error, and this is a
confusing [1] behavior.

[1] https://github.com/ansible/ansible/issues/27960
2018-07-19 06:40:23 -04:00
Felix Fontein 765a5130d5 Docker modules: improve documentation on docker vs. docker-py Python package requirements (#42457)
* Make sure all docker-py/docker requirements are listed, and clarify about docker vs. docker-py.

* Adjusting changes made in #40839.
2018-07-11 17:57:39 -04:00
Pilou 3301a0b530 docker_container: fix init check requirements (#40839)
* docker_container: ensure 'init' is supported

Check docker-py version too.

Move API version check in docker_container module since 'init' module
parameter isn't defined by other docker modules.

docker-py supports 'init' since 2.2.0:
https://github.com/docker/docker-py/blob/2.2.0/docs/change-log.md

* docker_container: fix compat with docker-py<2.2

Exception was:
TypeError: create_host_config() got an unexpected keyword argument 'init'
fatal: [localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):
                        File ansible_module_docker_container.py, line 2089, in <module>
                          main()
                        File ansible_module_docker_container.py, line 2084, in main
                          cm = ContainerManager(client)
                        File ansible_module_docker_container.py, line 1704, in __init__
                            self.present(state)
                        File ansible_module_docker_container.py, line 1724, in present
                            new_container = self.container_create(self.parameters.image, self.parameters.create_parameters)
                        File ansible_module_docker_container.py, line 826, in create_parameters
                            host_config=self._host_config(),
                        File ansible_module_docker_container.py, line 932, in _host_config
                            return self.client.create_host_config(**params)
                        File lib/python3.6/site-packages/docker/api/container.py, line 157, in create_host_config
                            return utils.create_host_config(*args, **kwargs)
                      TypeError: create_host_config() got an unexpected keyword argument 'init'",
    "module_stdout": "",
    "msg": "MODULE FAILURE",
    "rc": 1
}
2018-07-09 07:32:51 +02:00
rcgoodfellow 3a695acf37 Update docker package version (#42394)
The docker API init parameter is the dependency requiring this bump. It was introduced 2.3.0 release of the docker package as per commit 13b5f785a7ab459960aae82fae00e4245e391387 in github.com/docker/docker-py.
2018-07-06 10:48:24 -04:00
rcgoodfellow e3478e0da5 Update docker_container.py (#42370)
`docker-py` is no longer a thing.

https://github.com/docker/docker-py/issues/1431
2018-07-05 14:03:50 -04:00
Dag Wieers da49aaf1d9 Add trailing dot and make it a separate item 2018-06-21 12:33:03 -04:00
Camillevau 79982473ca Update docker_container.py
<!--- Your description here -->

 label: docsite_pr
2018-06-21 12:33:03 -04:00
Sharp Hall 3935cce394 docker: Allow publishing of ports with the same number but different protocol (#38412)
* Don't deduplicate docker container ports with different protocols

* Test _parse_exposed_ports
2018-06-15 12:36:20 -04:00
Ben Berry 32c191ee9c expand user before calling abspath (#40196)
* expand user before calling abspath

* omit expanduser code smell check for volumes
2018-06-13 21:18:02 -04:00
Achintha Gunasekara d98c892017 Adding a switch to output docker logs (#40693)
* Adding a switch to print logs

* Update to docs

* Adding `version_added` for the new option

* Updating version added

* Moving `output_logs` before `paued` for alphabetically ordering.
2018-06-06 10:50:04 +02:00
Suzuki Shunsuke 38c86b7eef Add 'init' option to docker_container module to support docker's `--init` option (#34547)
* Add support for `--init` option to `docker_container` module

Fixes #30761

* Validate docker API's version when docker_container's init option is True

https://github.com/ansible/ansible/pull/34547#pullrequestreview-122355244
https://docs.docker.com/engine/reference/commandline/run/#options

init option requires docker API 1.25+ .

* Fix failure of sanity test
2018-05-24 12:55:16 -05:00
jctanner 2f32e0ba2d
Remove me from botmeta (#39263)
* Remove myself from team_vmware
* Remove myself from maintainership of all modules
2018-04-24 19:55:04 -04:00
Thierry BOUVET 4117b2dd29 Fix documentation fragments for docker (#38378) 2018-04-17 08:51:56 -07:00
Matt Martz 897c8df8d0 Ensure the MAC address uses colons instead of hyphens for later comparison. Fixes #35463 (#35465) 2018-03-27 15:20:01 -04:00
Dag Wieers cdd21e2170
Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2018-03-15 22:15:24 +01:00
skylerbunny d984afa5ba Add compatibility for docker-py version 3 (#36973) 2018-03-06 07:14:31 -05:00
Michael 75130b4a4d Support domainname in docker_containers (#32292) 2018-01-23 08:24:37 -06:00
Yury Tsarev 7c8120d0de Fix misleading cleanup/detach documentation (#34674)
* Fix misleading cleanup/detach documentation

Current documentation is not concrete regarding desired
state of `detach` to make container be properly removed
with `cleanup`

Make `detach:false` be mentioned explicitly

* Tweak formatting
2018-01-10 15:33:22 +00:00
John Barker c57a7f05e1 Bulk autopep8 (modules)
As agreed in 2017-12-07 Core meeting bulk fix pep8 issues

Generated using:
autopep8 1.3.3 (pycodestyle: 2.3.1)
autopep8 -r  --max-line-length 160 --in-place --ignore E305,E402,E722,E741 lib/ansible/modules

Manually fix issues that autopep8 has introduced
2017-12-07 20:25:55 +00:00
Nicolas DOUILLET 4b4c1fdb13 Fix memory_reservation typo in docker_container module (#33375) 2017-11-29 19:01:49 -05:00
Harris Dimitriou 9e9f2b9ad5 Added userns support on docker_container module Fixes #20648 (#22195)
* added userns support on docker_container module

* Fixes #20648 - changed 'version_added' of userns_mode to 2.3 from 2.2

* version_added 2.5
2017-11-28 16:54:19 +00:00
Artem Bolshakov fb4d065654 Fix running docker container with not readable logging driver. Fixes #27278 2017-10-02 11:00:16 -04:00
Sebastien Boyron cb5f2c7ac3 [fix] issue #29886 - it misses oom_killer in host_config_params (#30712)
so it was never passed to docker API.
2017-09-25 20:42:02 -04:00
Jun Guo 655667527d [docker] Fix ignore_image option not work issue. (#19039)
Currently the ignore_image option can be set, but can not work as it is
descripted in document. The reason is the code will check the difference
of configurations between current container and target image, and it
will mark the `different` to `True` when the image is different even we
set `ignore_image=true`, that will cause the container being re-create.
2017-08-17 13:47:52 -04:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Toshio Kuratomi 1ee08c0f06 Get rid of more wildcard imports and add boilerplate to more modules
This commit cleans up the following module categories:
* messaging
* inventory
* crypto
* commands
* clustering
* cloud/webfaction
* cloud/docker
* cloud/digital_ocean
2017-07-29 07:02:12 -07:00
Toshio Kuratomi 225fa5d092 Fix undefined variables, basestring usage, and some associated python3 issues 2017-07-25 15:58:23 -07:00
Chris Houseknecht 8765eadb30 Fixes list comparison (#26042) 2017-06-26 11:06:57 -04:00
Will Rouesnel 42b608db0c Add support for tmpfs to docker_container. (#25747) 2017-06-23 08:03:28 -04:00
Kassian Sun 42d57782c0 Try to fix travis 2017-06-02 10:10:34 -07:00
Kassian Sun 981249daa1 use single line for-loop 2017-06-02 10:10:34 -07:00
Kassian Sun b3a37da671 Add --sysctl support for cloud/docker_container 2017-06-02 10:10:34 -07:00
Konrad Klimaszewski 64f63a3cac Properly handle Docker image comparison for published_ports defined as IP::PORT
- Published port defined as IP::PORT where parsed in expected.parameters
  as 0.0.0.0::PORT leading to changed==True on every playbook run.
2017-05-24 15:55:30 -07:00
bengerman 5b39368108 use two-tuples rather than dicts to allow multiple aliases for the same target 2017-05-24 15:48:12 -07:00
bengerman cb3026f769 rebuild docker containers if there are less ports exposed 2017-05-24 12:37:29 -07:00
bengerman fab2dfd1c6 typo in security opts 2017-05-24 12:16:31 -07:00
Michael Sheinberg 272125023f Add working_dir to docker_container (#20044) (#24977)
* docker_container: add working_dir (fixes #20044)

Added a working directory option that will get passed with the other
docker container parameters. This is optional and addresses feature
request #20044.
2017-05-24 11:41:54 -07:00
Andrew Shewmaker f5fd32eae6 docker_container: do not split command on commas (#24900)
* docker_container: do not split command on commas

Fix issue #24430

* docker_container: document command parameter

Prior behavior was strange, splitting strings on commas
only to join them again ... replacing commas with spaces.

FYI, docker-py accepts strings or lists, using shlex.split
on strings ... splitting on spaces while respecting things
like quotes.

https://github.com/docker/docker-py/blob/master/docker/api/container.py
https://github.com/docker/docker-py/blob/master/docker/types/containers.py
https://github.com/docker/docker-py/blob/master/docker/utils/utils.py

More info regarding Dockerfile syntax for CMD strings and lists
can be found at https://docs.docker.com/engine/reference/builder/#cmd
2017-05-22 15:39:57 -07:00
Matt Martz 3324d0a4b0 Support auto_remove in docker_container (#22929)
* Support auto_remove in docker_container

* Fail if not docker>=2 and auto_remove=True, don't set auto_remove in host_config if not docker>=2

* Make quoting more readable in ansible errors
2017-05-09 16:19:27 -04:00
smaftoul 9812d211e7 typo: psuedo -> pseudo (#23177) 2017-03-31 10:48:29 -04:00
Chris Houseknecht 4099eb41b9 Treats both [] and {} as equal to None (#23088) 2017-03-29 22:48:21 +02:00
Dylan Silva 9ffad27319 Changed supported_by from curated to community (#22654) 2017-03-15 14:28:33 -07:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
Chris Houseknecht b15ceee6bd Changes command and entrypoint to type list 2017-03-13 14:39:23 -04:00
John R Barker e5b990a55a Fix invalid fields in module DOCUMENATION (#22297)
* fix module doc fields

* More module docs corrections

* More module docs corrections

* More module docs corrections

* More module docs corrections

* correct aliases

* Review comments

* Must quote ':'

* More authors

* Use suboptions:

* restore type: bool

* type should be in the same place

* More tidyups

* authors

* Use suboptions

* revert

* remove duplicate author

* More issues post rebase
2017-03-09 16:20:25 +00:00
Brian Coca 20bf02f6b9 rename return var to avoid conflicts
fixes #22323
2017-03-07 12:08:31 -05:00
Andrea Giardini 04e990281e Add flag to Docker pull_image to know when the image is already latest (#21508)
* Add flag to Docker pull_image to know when the image is already latest

Whenever the flag pull is set to 'yes' the resource is always defined
as 'changed'. That is not true in case the image is already at the
latest version.

Related to ansible/ansible#19549

* Docker pull_image does not change status if the image is latest
2017-03-03 10:16:16 -05:00
Ryan Brown d64d38a1f4 [cloud][docker] Insensitive search for docker port publishing (#21579) 2017-02-17 10:41:26 -05:00
Zhuo Peng fe02dbecc0 [cloud] Fix a minor doc error in docker_container module (#21033) 2017-02-17 10:01:15 -05:00