Hi,
Can someone please help me resolving this issue.
Summary
I am trying to build docker image passing in Dockerfile on the same host
where Dockerfile and other related project files resides. Without using
ansible, I am able to run my Dockerfile build an image out of it and start
a container that is if i use docker itself. But when i try to put these
steps into ansible playbook, it fails. On this host machine, docker,
ansible, python-pip and docker sdk for python are installed
Outputs of different commands:
ansible localhost -m debug -a "var=ansible_python_interpreter"
localhost | SUCCESS => {
"ansible_python_interpreter": "/usr/bin/python2"
}
pip --version
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
pip show docker
Metadata-Version: 2.1
Name: docker
Version: 5.0.3
ansible --version | grep "python version"
python version = 2.7.5
inventory file
[local]
localhost ansible_connection=local
ansible --version
ansible 2.9.27 config file = /etc/ansible/ansible.cfg configured module
search path = [u'/home/username/.ansible/plugins/modules',
u'/usr/share/ansible/plugins/modules'] ansible python module location =
/usr/lib/python2.7/site-packages/ansible executable location =
/usr/bin/ansible python version = 2.7.5 (default, Nov 13 2020, 02:52:00)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44.0.3)]
Operating System: Oracle Linux Server 7.9
ansible-playbook -i inventory docker-container.yml OR ansible-playbook
docker-container.yml
hosts: local
vars:
- dockerfile_sample: "Dockerfile"
- docker_image_name: "built-thru-ansible:1"
- docker_container_name: "running-thru-ansible"
- proxy: "http://validproxyurl.com:XXXX"
tasks:
- name: "Build docker image"
docker_image:
name: "{{docker_image_name}}"
build:
path: "path/to/dockerfiledir/"
pull: no
dockerfile: "{{dockerfile_sample}}"
buildargs:
HTTP_PROXY: "{{proxy}}"
HTTPS_PROXY: "{{proxy}}"
state: present
source: build
- name: "launch docker container"
docker_container:
name: "{{docker_container_name}}"
image: "{{docker_image_name}}"
state: started
exposed_ports:
- "XXXX"
ports:
- "XXXX:XXXX"
register: docker_info
Error: -
PLAY [local]
********************************************************************************************************************************************************************************************
TASK [Gathering Facts]
**********************************************************************************************************************************************************************************
[WARNING]: Platform linux on host localhost is using the discovered Python
interpreter at /usr/bin/python, but future installation of another Python
interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html
for more information.
ok: [localhost]
TASK [Build docker image]
*******************************************************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use
-vvv. The error was: SyntaxError: invalid syntax
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr":
"Traceback (most recent call last):\n File
\"/home/infra/.ansible/tmp/ansible-tmp-1643737614.37-38618-81901358275286/AnsiballZ_docker_image.py\",
line 102, in <module>\n _ansiballz_main()\n File
\"/home/infra/.ansible/tmp/ansible-tmp-1643737614.37-38618-81901358275286/AnsiballZ_docker_image.py\",
line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path,
ANSIBALLZ_PARAMS)\n File
\"/home/infra/.ansible/tmp/ansible-tmp-1643737614.37-38618-81901358275286/AnsiballZ_docker_image.py\",
line 40, in invoke_module\n
runpy.run_module(mod_name='ansible.modules.cloud.docker.docker_image',
init_globals=None, run_name='__main__', alter_sys=True)\n File
\"/usr/lib64/python2.7/runpy.py\", line 176, in run_module\n fname,
loader, pkg_name)\n File \"/usr/lib64/python2.7/runpy.py\", line 82, in
_run_module_code\n mod_name, mod_fname, mod_loader, pkg_name)\n File
\"/usr/lib64/python2.7/runpy.py\", line 72, in _run_code\n exec code in
run_globals\n File
\"/tmp/ansible_docker_image_payload_pKjB0q/ansible_docker_image_payload.zip/ansible/modules/cloud/docker/docker_image.py\",
line 436, in <module>\n File
\"/tmp/ansible_docker_image_payload_pKjB0q/ansible_docker_image_payload.zip/ansible/module_utils/docker/common.py\",
line 44, in <module>\n File
\"/usr/lib/python2.7/site-packages/docker/__init__.py\", line 2, in
<module>\n from .api import APIClient\n File
\"/usr/lib/python2.7/site-packages/docker/api/__init__.py\", line 2, in
<module>\n from .client import APIClient\n File
\"/usr/lib/python2.7/site-packages/docker/api/client.py\", line 222\n
f'Error while fetching server API version: {e}'\n
^\nSyntaxError: invalid syntax\n",
"module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the
exact error", "rc": 1}
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/de86fbe2-7833-47a5-9934-4e1e8a33b7d2n%40googlegroups.com.