Loading...

Watch: Ansible troubleshooting - urlopen error

How to reproduce the urlopen error in Ansible, troubleshooting, and fix to be able to successfully open an URL in your playbook.

Introduction

Today we're going to talk about Ansible troubleshooting, specifically about urlopen error.

I'm Luca Berton and welcome to today's episode of Ansible Pilot.

Playbook

The best way of talking about Ansible troubleshooting is to jump in a live Playbook to show you practically the urlopen error and how to solve it!

error code

  • urlopen_error.yml

``yaml

---

  • name: uri module Playbook

hosts: all

become: false

vars:

server: "https://reqres.it"

endpoint: "/api/users?page=2"

tasks:

- name: list users

ansible.builtin.uri:

url: "{{ server }}{{ endpoint }}"

method: GET

status_code: 200

timeout: 30

register: result

- name: debug

ansible.builtin.debug:

var: result.json.data

`

error execution

`bash

$ ansible-playbook -i virtualmachines/demo/inventory troubleshooting/urlopen_error.yml

PLAY [uri module Playbook] *

TASK [Gathering Facts] *

ok: [demo.example.com]

TASK [list users] **

fatal: [demo.example.com]: FAILED! => {"changed": false, "elapsed": 15, "msg": "Status code was -1 and not [200]: Request failed: <urlopen error [Errno -2] Name or service not known>", "redirected": false, "status": -1, "url": "https://reqres.it/api/users?page=2"}

PLAY RECAP *

demo.example.com : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

`

fix code

  • urlopen_fix.yml

`yaml

---

  • name: uri module Playbook

hosts: all

become: false

vars:

server: "https://reqres.in"

endpoint: "/api/users?page=2"

tasks:

- name: list users

ansible.builtin.uri:

url: "{{ server }}{{ endpoint }}"

method: GET

status_code: 200

timeout: 30

register: result

- name: debug

ansible.builtin.debug:

var: result.json.data

`

fix execution

``bash

$ ansible-playbook -i virtualmachines/demo/inventory troubleshooting/urlopen_fix.yml

PLAY [uri module Playbook]

TASK [Gathering Facts]

ok: [demo.example.com]

TASK [list users] **

Read the full tutorial: Ansible troubleshooting - urlopen error