from what i see {{ item.item }} would expand to 'AnsibleWeb' when the
content actually has "ip-172-31-24-83!" hence it fails. so i think
the condition would be
when: "'Hello, from sunny {{hostvars[item.item][ansible_hostname]}}!'
not in item.content"
you might need a play to collect facts from the web group.
On Tue, Jul 25, 2017 at 1:09 AM, Robert Williams
<[email protected]> wrote:
> I am trying to figure out the same issue. Please let me know if you have it
> resolved.
>
> Thanks,
>
>
> On Monday, August 22, 2016 at 7:34:59 AM UTC-5, James Lovato wrote:
>>
>> The test to the loadbalancer itself never fails, and serves the same
>> content as the websites (although host and metadata are a bit different),
>> and I can't for the life of me figure out the disconnect.
>> If someone can point me in the right direction it would be appreciated.
>>
>> All hosts are ubuntu 16.04.01 LTS
>> hostnames:
>> loadbalancer - Ansible-nginx
>> webcluster - AnsibleWeb, AnsibleWeb2
>>
>> All AWS EC2 instances
>>
>>
>>
>> The loadbalancer lines in my status playbook:
>>
>> - hosts: loadbalancer
>> tasks:
>> - name: verify backend index response
>> uri: url=http://{{item}} return_content=yes
>> with_items: '{{groups.webcluster}}'
>> register: app_index
>>
>> - fail: msg="index failed to return content"
>> when: "'Hello, from sunny {{item.item}}!' not in item.content"
>> with_items: "{{app_index.results}}"
>>
>>
>> Output of the play before it stops:
>>
>> PLAY [loadbalancer]
>> ************************************************************
>>
>> TASK [setup]
>> *******************************************************************
>> ok: [Ansible-nginx]
>>
>> TASK [verify backend index response]
>> *******************************************
>> ok: [Ansible-nginx] => (item=AnsibleWeb)
>> ok: [Ansible-nginx] => (item=AnsibleWeb2)
>>
>> TASK [fail]
>> ********************************************************************
>> failed: [Ansible-nginx] (item={u'status': 200, u'content_length': u'35',
>> '_ansible_item_result': True, u'date': u'Sat, 20 Aug 2016 23:26:21 GMT',
>> '_ansible_no_log': False, u'url': u'http://AnsibleWeb', u'changed': False,
>> u'server': u'Apache/2.4.18 (Ubuntu)', u'content': u'Hello, from sunny
>> ip-172-31-30-54!\n', 'item': u'AnsibleWeb', u'connection': u'close',
>> u'content_type': u'text/html; charset=utf-8', 'invocation': {'module_name':
>> u'uri', u'module_args': {u'directory_mode': None, u'force': False,
>> u'remote_src': None, u'follow_redirects': u'safe', u'body_format': u'raw',
>> u'owner': None, u'follow': False, u'group': None, u'use_proxy': True,
>> u'setype': None, u'content': None, u'serole': None, u'status_code': [200],
>> u'return_content': True, u'method': u'GET', u'body': None, u'url_username':
>> None, u'src': None, u'dest': None, u'selevel': None, u'force_basic_auth':
>> False, u'removes': None, u'http_agent': u'ansible-httpget', u'regexp': None,
>> u'url_password': None, u'url': u'http://AnsibleWeb', u'backup': None,
>> u'seuser': None, u'creates': None, u'headers': {}, u'delimiter': None,
>> u'mode': None, u'timeout': 30, u'validate_certs': True}}, u'msg': u'OK (35
>> bytes)', u'redirected': False}) => {"failed": true, "item": {"changed":
>> false, "connection": "close", "content": "Hello, from sunny
>> ip-172-31-30-54!\n", "content_length": "35", "content_type": "text/html;
>> charset=utf-8", "date": "Sat, 20 Aug 2016 23:26:21 GMT", "invocation":
>> {"module_args": {"backup": null, "body": null, "body_format": "raw",
>> "content": null, "creates": null, "delimiter": null, "dest": null,
>> "directory_mode": null, "follow": false, "follow_redirects": "safe",
>> "force": false, "force_basic_auth": false, "group": null, "headers": {},
>> "http_agent": "ansible-httpget", "method": "GET", "mode": null, "owner":
>> null, "regexp": null, "remote_src": null, "removes": null, "return_content":
>> true, "selevel": null, "serole": null, "setype": null, "seuser": null,
>> "src": null, "status_code": [200], "timeout": 30, "url":
>> "http://AnsibleWeb", "url_password": null, "url_username": null,
>> "use_proxy": true, "validate_certs": true}, "module_name": "uri"}, "item":
>> "AnsibleWeb", "msg": "OK (35 bytes)", "redirected": false, "server":
>> "Apache/2.4.18 (Ubuntu)", "status": 200, "url": "http://AnsibleWeb"}, "msg":
>> "index failed to return content"}
>> failed: [Ansible-nginx] (item={u'status': 200, u'content_length': u'35',
>> '_ansible_item_result': True, u'date': u'Sat, 20 Aug 2016 23:26:21 GMT',
>> '_ansible_no_log': False, u'url': u'http://AnsibleWeb2', u'changed': False,
>> u'server': u'Apache/2.4.18 (Ubuntu)', u'content': u'Hello, from sunny
>> ip-172-31-24-83!\n', 'item': u'AnsibleWeb2', u'connection': u'close',
>> u'content_type': u'text/html; charset=utf-8', 'invocation': {'module_name':
>> u'uri', u'module_args': {u'directory_mode': None, u'force': False,
>> u'remote_src': None, u'follow_redirects': u'safe', u'body_format': u'raw',
>> u'owner': None, u'follow': False, u'group': None, u'use_proxy': True,
>> u'setype': None, u'content': None, u'serole': None, u'status_code': [200],
>> u'return_content': True, u'method': u'GET', u'body': None, u'url_username':
>> None, u'src': None, u'dest': None, u'selevel': None, u'force_basic_auth':
>> False, u'removes': None, u'http_agent': u'ansible-httpget', u'regexp': None,
>> u'url_password': None, u'url': u'http://AnsibleWeb2', u'backup': None,
>> u'seuser': None, u'creates': None, u'headers': {}, u'delimiter': None,
>> u'mode': None, u'timeout': 30, u'validate_certs': True}}, u'msg': u'OK (35
>> bytes)', u'redirected': False}) => {"failed": true, "item": {"changed":
>> false, "connection": "close", "content": "Hello, from sunny
>> ip-172-31-24-83!\n", "content_length": "35", "content_type": "text/html;
>> charset=utf-8", "date": "Sat, 20 Aug 2016 23:26:21 GMT", "invocation":
>> {"module_args": {"backup": null, "body": null, "body_format": "raw",
>> "content": null, "creates": null, "delimiter": null, "dest": null,
>> "directory_mode": null, "follow": false, "follow_redirects": "safe",
>> "force": false, "force_basic_auth": false, "group": null, "headers": {},
>> "http_agent": "ansible-httpget", "method": "GET", "mode": null, "owner":
>> null, "regexp": null, "remote_src": null, "removes": null, "return_content":
>> true, "selevel": null, "serole": null, "setype": null, "seuser": null,
>> "src": null, "status_code": [200], "timeout": 30, "url":
>> "http://AnsibleWeb2", "url_password": null, "url_username": null,
>> "use_proxy": true, "validate_certs": true}, "module_name": "uri"}, "item":
>> "AnsibleWeb2", "msg": "OK (35 bytes)", "redirected": false, "server":
>> "Apache/2.4.18 (Ubuntu)", "status": 200, "url": "http://AnsibleWeb2"},
>> "msg": "index failed to return content"}
>>
>> NO MORE HOSTS LEFT
>> *************************************************************
>> [WARNING]: Could not create retry file 'stack_status.retry'.
>> [Errno 2] No such
>> file or directory: ''
>>
>>
>> PLAY RECAP
>> *********************************************************************
>> Ansible-nginx : ok=5 changed=1 unreachable=0
>> failed=1
>> AnsibleControl : ok=3 changed=0 unreachable=0
>> failed=0
>> AnsibleDB : ok=3 changed=1 unreachable=0
>> failed=0
>> AnsibleWeb : ok=3 changed=1 unreachable=0
>> failed=0
>> AnsibleWeb2 : ok=3 changed=1 unreachable=0
>> failed=0
>
> --
> 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/ec2adde3-d109-4c82-8c5f-a2d5536e5f6c%40googlegroups.com.
>
> 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/CAFUV_d68_rf4NFsqa7ixrr7M7eEhxHzkq-UZRvr0eCRFyCX0kw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.