Setting ansible_python_interpreter=/path/to/python2.7 should do it for you unless the scl python2.7 doesn't know where its own libraries are (haven't used scl python so I don't know the answer to that off the top of my head)
You can set that on the command line using the --extra-vars option to test: http://docs.ansible.com/ansible/devel/cli/ansible-playbook.html#cmdoption- ansible-playbook-e and via group_vars/host_vars to make it apply on every run: http://docs.ansible.com/ansible/devel/user_guide/intro_inventory.html#host-variables -Toshio On Mar 15, 2018 4:21 AM, "eric landers" <[email protected]> wrote: I'm trying to run the bigip_node playbook and am receiving the below error. I've also upgraded to python 2.7 which is now running alongside of python 2.6. How do I make the f5 modules now point to python 2.7 instead of 2.6? [admin@server1 f5]$ cat playbooks/labbigipnode.yaml --- - name: Create a Node hosts: lab_ltm connection: local tasks: - name: Add a new node bigip_node: server: "{{ inventory_hostname }}" user: "admin" password: "pass" state: present host: "10.2.1.1" name: "member1" delegate_to: localhost [admin@server1 f5]$ [admin@server1 ~]$ ansible --version ansible 2.4.2.0 config file = /etc/ansible/ansible.cfg configured module search path = [u'/home/admin/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.6/site-packages/ansible executable location = /usr/bin/ansible python version = 2.6.6 (r266:84292, Aug 9 2016, 06:11:56) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] [admin@server1 ~]$ python --version Python 2.6.6 [admin@server1 ~]$ scl enable python27 bash [admin@server1 ~]$ python --version Python 2.7.13 [admin@server1 f5]$ ansible-playbook -i inventory/hosts.ini playbooks/labbigipnode.yaml PLAY [Create a Node] ****************************** ************************************************************ ***************** TASK [Gathering Facts] ****************************** *************************************************************************** ok: [dc1nnelabltm2.company.com.company.com] ok: [dc1nnelabltm1.company.com.company.com] TASK [Add a new node] ****************************** **************************************************************************** An exception occurred during task execution. To see the full traceback, use -vvv. The error was: SyntaxError: invalid syntax fatal: [dc1nnelabltm1.company.com.company.com -> localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_3X7cAp/ansible_module_bigip_node.py\", line 467, in <module>\n from ansible.module_utils.f5_utils import *\n File \"/tmp/ansible_3X7cAp/ansible_modlib.zip/ansible/module_utils/f5_utils.py\", line 143, in <module>\n File \"/usr/lib/python2.6/site-packages/f5/bigip/__init__.py\", line 33, in <module>\n from f5.bigip.cm import Cm\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/__init__.py\", line 19, in <module>\n from f5.bigip.cm.autodeploy import Autodeploy\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/__init__.py\", line 20, in <module>\n from f5.bigip.cm.autodeploy.software_images import Software_Image_Downloads\n File \"/usr/lib/python2.6/site-pack ages/f5/bigip/cm/autodeploy/software_images.py\", line 23, in <module>\n from f5.bigip.resource import PathElement\n File \"/usr/lib/python2.6/site-packages/f5/bigip/resource.py\", line 725\n no_meta_dict = {k: v for k, v in iteritems(self.__dict__)\n ^\nSyntaxError: invalid syntax\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0} An exception occurred during task execution. To see the full traceback, use -vvv. The error was: SyntaxError: invalid syntax fatal: [dc1nnelabltm2.company.com.company.com -> localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_polkKA/ansible_module_bigip_node.py\", line 467, in <module>\n from ansible.module_utils.f5_utils import *\n File \"/tmp/ansible_polkKA/ansible_modlib.zip/ansible/module_utils/f5_utils.py\", line 143, in <module>\n File \"/usr/lib/python2.6/site-packages/f5/bigip/__init__.py\", line 33, in <module>\n from f5.bigip.cm import Cm\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/__init__.py\", line 19, in <module>\n from f5.bigip.cm.autodeploy import Autodeploy\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/__init__.py\", line 20, in <module>\n from f5.bigip.cm.autodeploy.software_images import Software_Image_Downloads\n File \"/usr/lib/python2.6/site-pack ages/f5/bigip/cm/autodeploy/software_images.py\", line 23, in <module>\n from f5.bigip.resource import PathElement\n File \"/usr/lib/python2.6/site-packages/f5/bigip/resource.py\", line 725\n no_meta_dict = {k: v for k, v in iteritems(self.__dict__)\n ^\nSyntaxError: invalid syntax\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0} to retry, use: --limit @/app/f5/playbooks/labbigipnode.retry PLAY RECAP ************************************************************ ********************************************************* dc1nnelabltm1.company.com.company.com : ok=1 changed=0 unreachable=0 failed=1 dc1nnelabltm2.company.com.company.com : ok=1 changed=0 unreachable=0 failed=1 [admin@server1 f5]$ ansible-playbook -i inventory/hosts.ini playbooks/labbigipnode.yaml -vvv ansible-playbook 2.4.2.0 config file = /app/f5/ansible.cfg configured module search path = [u'/app/f5/library'] ansible python module location = /usr/lib/python2.6/site-packages/ansible executable location = /usr/bin/ansible-playbook python version = 2.6.6 (r266:84292, Aug 9 2016, 06:11:56) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] Using /app/f5/ansible.cfg as config file Parsed /app/f5/inventory/hosts.ini inventory source with ini plugin PLAYBOOK: labbigipnode.yaml ****************************** ********************************************************************** 1 plays in playbooks/labbigipnode.yaml PLAY [Create a Node] ****************************** ************************************************************ ***************** TASK [Gathering Facts] ****************************** *************************************************************************** Using module file /usr/lib/python2.6/site-packag es/ansible/modules/system/setup.py <dc1nnelabltm1.company.com.company.com> ESTABLISH LOCAL CONNECTION FOR USER: admin <dc1nnelabltm1.company.com.company.com> EXEC /bin/sh -c 'echo ~ && sleep 0' Using module file /usr/lib/python2.6/site-packag es/ansible/modules/system/setup.py <dc1nnelabltm2.company.com.company.com> ESTABLISH LOCAL CONNECTION FOR USER: admin <dc1nnelabltm2.company.com.company.com> EXEC /bin/sh -c 'echo ~ && sleep 0' <dc1nnelabltm1.company.com.company.com> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/admin/.ansible/tmp/ansib le-tmp-1521032816.65-187496773169800 `" && echo ansible-tmp-1521032816.65-187496773169800="` echo /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-187496773169800 `" ) && sleep 0' <dc1nnelabltm2.company.com.company.com> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/admin/.ansible/tmp/ansib le-tmp-1521032816.65-7587602377538 `" && echo ansible-tmp-1521032816.65-7587602377538="` echo /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-7587602377538 `" ) && sleep 0' <dc1nnelabltm1.company.com.company.com> PUT /tmp/tmpLG3NN5 TO /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-187496773169800/setup.py <dc1nnelabltm2.company.com.company.com> PUT /tmp/tmpHoz4FL TO /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-7587602377538/setup.py <dc1nnelabltm1.company.com.company.com> EXEC /bin/sh -c 'chmod u+x /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-187496773169800/ /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-187496773169800/setup.py && sleep 0' <dc1nnelabltm2.company.com.company.com> EXEC /bin/sh -c 'chmod u+x /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-7587602377538/ /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-7587602377538/setup.py && sleep 0' <dc1nnelabltm1.company.com.company.com> EXEC /bin/sh -c '/usr/bin/python /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-187496773169800/setup.py; rm -rf "/home/admin/.ansible/tmp/ansible-tmp-1521032816.65-187496773169800/" > /dev/null 2>&1 && sleep 0' <dc1nnelabltm2.company.com.company.com> EXEC /bin/sh -c '/usr/bin/python /home/admin/.ansible/tmp/ansible-tmp-1521032816.65-7587602377538/setup.py; rm -rf "/home/admin/.ansible/tmp/ansible-tmp-1521032816.65-7587602377538/" > /dev/null 2>&1 && sleep 0' ok: [dc1nnelabltm2.company.com] ok: [dc1nnelabltm1.company.com] META: ran handlers TASK [Add a new node] ****************************** **************************************************************************** task path: /app/f5/playbooks/labbigipnode.yaml:8 Using module file /usr/lib/python2.6/site-packag es/ansible/modules/network/f5/bigip_node.py <localhost> ESTABLISH LOCAL CONNECTION FOR USER: admin <localhost> EXEC /bin/sh -c 'echo ~ && sleep 0' Using module file /usr/lib/python2.6/site-packag es/ansible/modules/network/f5/bigip_node.py <localhost> ESTABLISH LOCAL CONNECTION FOR USER: admin <localhost> EXEC /bin/sh -c 'echo ~ && sleep 0' <localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/admin/.ansible/tmp/ansible-tmp-1521032817.23-259682973184094 `" && echo ansible-tmp-1521032817.23-259682973184094="` echo /home/admin/.ansible/tmp/ansible-tmp-1521032817.23-259682973184094 `" ) && sleep 0' <localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/admin/.ansible/tmp/ansible-tmp-1521032817.23-181051891789169 `" && echo ansible-tmp-1521032817.23-181051891789169="` echo /home/admin/.ansible/tmp/ansible-tmp-1521032817.23-181051891789169 `" ) && sleep 0' <localhost> PUT /tmp/tmpLG3NN5 TO /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-259682973184094/bigip_node.py <localhost> PUT /tmp/tmpHoz4FL TO /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-181051891789169/bigip_node.py <localhost> EXEC /bin/sh -c 'chmod u+x /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-259682973184094/ /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-259682973184094/bigip_node.py && sleep 0' <localhost> EXEC /bin/sh -c 'chmod u+x /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-181051891789169/ /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-181051891789169/bigip_node.py && sleep 0' <localhost> EXEC /bin/sh -c '/usr/bin/python /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-259682973184094/bigip_node.py; rm -rf "/home/admin/.ansible/tmp/ansible-tmp-1521032817.23-259682973184094/" > /dev/null 2>&1 && sleep 0' <localhost> EXEC /bin/sh -c '/usr/bin/python /home/admin/.ansible/tmp/ansib le-tmp-1521032817.23-181051891789169/bigip_node.py; rm -rf "/home/admin/.ansible/tmp/ansible-tmp-1521032817.23-181051891789169/" > /dev/null 2>&1 && sleep 0' The full traceback is: Traceback (most recent call last): File "/tmp/ansible_OGMNW5/ansible_module_bigip_node.py", line 467, in <module> from ansible.module_utils.f5_utils import * File "/tmp/ansible_OGMNW5/ansible_modlib.zip/ansible/module_utils/f5_utils.py", line 143, in <module> File "/usr/lib/python2.6/site-packages/f5/bigip/__init__.py", line 33, in <module> from f5.bigip.cm import Cm File "/usr/lib/python2.6/site-packages/f5/bigip/cm/__init__.py", line 19, in <module> from f5.bigip.cm.autodeploy import Autodeploy File "/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/__init__.py", line 20, in <module> from f5.bigip.cm.autodeploy.software_images import Software_Image_Downloads File "/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/software_images.py", line 23, in <module> from f5.bigip.resource import PathElement File "/usr/lib/python2.6/site-packages/f5/bigip/resource.py", line 725 no_meta_dict = {k: v for k, v in iteritems(self.__dict__) ^ SyntaxError: invalid syntax fatal: [dc1nnelabltm2.company.com-> localhost]: FAILED! => { "changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_OGMNW5/ansible_module_bigip_node.py\", line 467, in <module>\n from ansible.module_utils.f5_utils import *\n File \"/tmp/ansible_OGMNW5/ansible_modlib.zip/ansible/module_utils/f5_utils.py\", line 143, in <module>\n File \"/usr/lib/python2.6/site-packages/f5/bigip/__init__.py\", line 33, in <module>\n from f5.bigip.cm import Cm\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/__init__.py\", line 19, in <module>\n from f5.bigip.cm.autodeploy import Autodeploy\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/__init__.py\", line 20, in <module>\n from f5.bigip.cm.autodeploy.software_images import Software_Image_Downloads\n File \"/usr/lib/python2.6/site-pack ages/f5/bigip/cm/autodeploy/software_images.py\", line 23, in <module>\n from f5.bigip.resource import PathElement\n File \"/usr/lib/python2.6/site-packages/f5/bigip/resource.py\", line 725\n no_meta_dict = {k: v for k, v in iteritems(self.__dict__)\n ^\nSyntaxError: invalid syntax\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0 } The full traceback is: Traceback (most recent call last): File "/tmp/ansible_9_BpKz/ansible_module_bigip_node.py", line 467, in <module> from ansible.module_utils.f5_utils import * File "/tmp/ansible_9_BpKz/ansible_modlib.zip/ansible/module_utils/f5_utils.py", line 143, in <module> File "/usr/lib/python2.6/site-packages/f5/bigip/__init__.py", line 33, in <module> from f5.bigip.cm import Cm File "/usr/lib/python2.6/site-packages/f5/bigip/cm/__init__.py", line 19, in <module> from f5.bigip.cm.autodeploy import Autodeploy File "/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/__init__.py", line 20, in <module> from f5.bigip.cm.autodeploy.software_images import Software_Image_Downloads File "/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/software_images.py", line 23, in <module> from f5.bigip.resource import PathElement File "/usr/lib/python2.6/site-packages/f5/bigip/resource.py", line 725 no_meta_dict = {k: v for k, v in iteritems(self.__dict__) ^ SyntaxError: invalid syntax fatal: [dc1nnelabltm1.company.com -> localhost]: FAILED! => { "changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_9_BpKz/ansible_module_bigip_node.py\", line 467, in <module>\n from ansible.module_utils.f5_utils import *\n File \"/tmp/ansible_9_BpKz/ansible_modlib.zip/ansible/module_utils/f5_utils.py\", line 143, in <module>\n File \"/usr/lib/python2.6/site-packages/f5/bigip/__init__.py\", line 33, in <module>\n from f5.bigip.cm import Cm\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/__init__.py\", line 19, in <module>\n from f5.bigip.cm.autodeploy import Autodeploy\n File \"/usr/lib/python2.6/site-packages/f5/bigip/cm/autodeploy/__init__.py\", line 20, in <module>\n from f5.bigip.cm.autodeploy.software_images import Software_Image_Downloads\n File \"/usr/lib/python2.6/site-pack ages/f5/bigip/cm/autodeploy/software_images.py\", line 23, in <module>\n from f5.bigip.resource import PathElement\n File \"/usr/lib/python2.6/site-packages/f5/bigip/resource.py\", line 725\n no_meta_dict = {k: v for k, v in iteritems(self.__dict__)\n ^\nSyntaxError: invalid syntax\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0 } to retry, use: --limit @/app/f5/playbooks/labbigipnode.retry PLAY RECAP ************************************************************ ********************************************************* dc1nnelabltm1.company.com : ok=1 changed=0 unreachable=0 failed=1 dc1nnelabltm2.company.com : ok=1 changed=0 unreachable=0 failed=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 post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/ms gid/ansible-project/8aa9b313-e6a3-4a76-901e-c8d16d45bae4%40googlegroups.com <https://groups.google.com/d/msgid/ansible-project/8aa9b313-e6a3-4a76-901e-c8d16d45bae4%40googlegroups.com?utm_medium=email&utm_source=footer> . For more options, visit https://groups.google.com/d/optout. -- 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 post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAPrnkaRpYUY%3DuzL6tfT2c2fOh%2BkRtoNn7oZZUd1W3OWs9HAxmA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
