Вы не можете сделать это с той структурой словаря, потому что она требует разыменования вложенных переменных, что Jinja2 не поддерживает. Итак, ваш словарь должен выглядеть так:
vars:
somedic:
"RedHat":
"7": "endoffilename"
В JSON это выглядит так:
vars:
somedic: { "RedHat": { "7": "endoffilename" } }
Тогда вы можете получить то, что вам нужно:
---
- hosts: localhost
gather_facts: no
vars:
somedic: { "RedHat": { "7": "endoffilename" } }
OS: RedHat
MajorVersion: "7"
tasks:
- debug:
msg: "somefile_{{ somedic[OS][MajorVersion] }}.yml"
Результат задания debug
:
TASK [debug] *************************************************************************
Tuesday 26 May 2020 11:14:30 -0400 (0:00:00.027) 0:00:00.146 ***********
ok: [localhost] => {
"msg": "somefile_endoffilename.yml"
}