Awx: [WARNING]: Failure using method (v2_playbook_on_play_start) in callback plugin

Created on 26 Nov 2018  ·  15Comments  ·  Source: ansible/awx

COMPONENT NAME
  • API
SUMMARY

Just after job start I have below output on AWX webpage

1 [WARNING]: Failure using method (v2_playbook_on_play_start) in callback plugin
2 ( 3 0x7f240235b090>): 'NoneType' object has no attribute 'strip'
4
5 skipping: no hosts matched
6
7 PLAY RECAP ********************* 14:17:14

ENVIRONMENT
  • AWX version: 2.1.0
  • AWX install method: docker on linux
  • Ansible version: 2.7.5
  • Operating System: CentOS Linux release 7.5.1804 (Core)
  • Web Browser: Few different versions the same result
STEPS TO REPRODUCE

Just when I run "Job Template" i have described error on screen.

ADDITIONAL INFORMATION
api needs_info

Most helpful comment

I'm still having trouble reproducing this (with your playbook) in the latest version of awx on Docker on Linux:

image

ansible 2.7.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/.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, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

Could you share:

ansible-config dump | cat

All 15 comments

@mihoos Ansible 2.7.5 isn't a released version of ansible - can you provide a correct version number?

Sorry... it is 2.7.2.

[root@localhost ~]# ansible --version
ansible 2.7.2
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.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, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

How can I check released version?

Any chance you could share the playbook where you're encountering this error?

Unfortunately not. But I'm pretty sure that this issue is not related to playbook. I tested already with other playbooks and issue is the same. Looks like awx don't even reach executing playbook step.

** Additionally I can say that when I run this playbook from command line (shell bash) all is OK.

👍 that's good enough, I mostly wanted to know if it was reproducible for other playbooks. I'm going to see if I can reproduce this with a similar setup.

It looks _possible_ that something changed in Ansible upstream that's affected the AWX callback plugin. When I try to run a simple playbook in AWX using 2.7.2, though, I'm having trouble reproducing this failure.

@mihoos are you seeing the same failure when running a simple playbook like this one?

- name: Hello World Sample
  hosts: all
  tasks:
    - name: Hello Message
      debug:
        msg: "Hello World!"

Interesting.

With your version I have output:

1
2 PLAY [Hello World Sample] *************** 16:18:23
3
4 TASK [Gathering Facts] **************** 16:18:24
7
8 PLAY RECAP
******************** 16:18:24
9 10.170.10.16 : ok=0 changed=0 unreachable=1 failed=0
10 10.170.11.37 : ok=0 changed=0 unreachable=1 failed=0

When I change playbook to this:

  • name: Hello World Sample
    hosts: all
    gather_facts: false
    tasks:

    • name: Hello Message

      debug:

      msg: "Hello World!"

I get green output:
1
2PLAY [Hello World Sample] *****************16:21:42
3
4 TASK [Hello Message]
*****************16:21:42
5 ok: [10.170.10.16] => {
6 "msg": "Hello World!"
7 }
8 ok: [10.170.11.37] => {
9 "msg": "Hello World!"
10 }
11
12 PLAY RECAP
*******************16:21:42
13 10.170.10.16 : ok=1 changed=0 unreachable=0 failed=0
14 10.170.11.37 : ok=1 changed=0 unreachable=0 failed=0

@mihoos have you added/changed anything in /etc/ansible/ansible.cfg?

I tested this, thinking that the difference might be that the task defined a name in the other example:

- hosts: all
  gather_facts: false
  vars:
    msg: 'hello'
  tasks:
    - debug: var=msg

This also does not produce the warning.

yes I just unhashed two things:
inventory = /etc/ansible/hosts
host_key_checking = False

The same issue with below playbook.
Could you please test this playbook in your environment?

- hosts: "{{ IP }}"  
  gather_facts: true 
  vars:
    IP:
    ISO:
    HD: 
  tasks:
    - name: Show passed variables
      debug:
        msg:
          -  "Destination IP address: {{ IP }}"
          -  "ISO image file name: {{ ISO }}"
          -  "HD designator: {{ HD }}"

I'm passing variables as Extra Variables (like in below example):
vars: IP=10.170.10.16 ISO=1.1.34.iso HD=H

I'm still having trouble reproducing this (with your playbook) in the latest version of awx on Docker on Linux:

image

ansible 2.7.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/.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, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

Could you share:

ansible-config dump | cat

SMOG!!!
Thank You @ryanpetrello for sharing this screenshot. I realized that in text field Extra Variables I was writing variables with wrong way.
Like this:
vars: IP=10.170.10.16 ISO=1.1.34.iso HD=H
Instead like this:
IP: 10.170.10.16
ISO: 1.1.34.iso
HD: H

My issue is now fixed. From my side you can mark this issue as Resolved.

Thanks for the reply @mihoos!

Was this page helpful?
0 / 5 - 0 ratings