В Ansible данные должны быть назначены хостам, а не плейбукам.
Необходимо создать две группы хостов. Те хосты, которым нужны только две переменные go в первую группу. И те хосты, которым нужно 3 переменные go в обе группы. Вы можете включить хосты первой группы во вторую группу.
Затем вы создаете две группы файлов var. В первой вы помещаете 2 переменные, а во вторую - третью переменную.
При этом каждый хост получает правильное количество информации. Playbook 1 использует 3 переменные, а playbook 2 использует только 2 переменные.
Обновление: Минимальный пример
$ diff -N -r none .
diff -N -r none/check_var.yaml ./check_var.yaml
0a1,4
> ---
> - hosts: localhost
> tasks:
> - debug: var=check_var
diff -N -r none/group_vars/myhosts.yaml ./group_vars/myhosts.yaml
0a1
> check_var: "Hello World!"
diff -N -r none/inventory ./inventory
0a1,2
> [myhosts]
> localhost
$ ansible-playbook -i inventory check_var.yaml
PLAY [localhost] ***************************************************************************
TASK [Gathering Facts] *********************************************************************
ok: [localhost]
TASK [debug] *******************************************************************************
ok: [localhost] => {
"check_var": "Hello World!"
}
PLAY RECAP *********************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0