I am new to ansible roles here is what i am doing. 

more site.yml

```
---

- hosts: user1_checkserverlist
  user: user1
  roles:
    - { role: speed_manager, DNAME: "/u" }

- hosts: oracle_checkserverlist
  user: oracle
  roles:
    - { role: speed_manager, DNAME: "/tmp" }

```

more speed\_manager/defaults/main.yml

```
DNAME: ""

```

more speed\_manager/tasks/main.yml

```
---

- include: check.yml diskname={{DNAME}}

```

more speed\_manager/tasks/check.yml

```
---

   - name: ==== Reading Variable ====
     ping:
     vars:
         dn: "{{ diskname }}"

   - name: ====Sync  to remote hosts ====

     synchronize: src="/web/roles/speed_manager/files/" dest="/tmp/mohtt/"

   - name: ====Execute shell=============

     shell: /tmp/mohtt/fixwebserver.sh {{ dn }} chdir=/tmp/mohtt

```

This is how i execute the roles

```
ansible-playbook -vvv site.yml -i /web/hostfiles/myhost.txt

```

Error:

> 
> 
> ```
> TASK [check_bk_speed_manager : ====Execute shell=============] *****************
> task path: /web/roles/speed_manager/tasks/check.yml:25
> fatal: [myserver.com]: FAILED! => {"failed": true, "msg": "'dn' is undefined"}
> fatal: [myserver.com]: FAILED! => {"failed": true, "msg": "'dn' is undefined"}
>         to retry, use: --limit @check_bk_speed.retry
> 
> ```
> 
> 

I was expecting the value of dn to be "/u"

Can you point out where am i going wrong and if this is a bug ?