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.

Reply via email to