Size: a a a

ansible — русскоговорящее сообщество

2021 February 12

A

Alexei in ansible — русскоговорящее сообщество
Maksim Sharov
если тебе хочется как-то по-другому, то ты будешь бороться с ансиблом и страдать

host_vars, group_vars - туда лучше, они сделаны именно для этого
А можно про host_vars уточнение?  Просто делаю так:
Есть в inventory запись про сервер  oraclework2
в директории host_vars создал файл oraclework2.yml
файл oraclework2.yml выглядит так:
—-  (это 3 минуса)
testvar:my_test_var
в плей буке я черезdebug смотрю:
 - "inventory_hostname!!! '{{ hostvars[oraclework2][testvar] }}' "  -и  получаю ошибку:
TASK [Gathering Facts] ******************************************************************************************************************************************************************************
ok: [oraclework2]

TASK [configureapache2test : Display all variables/facts known for a host] **************************************************************************************************************************
fatal: [oraclework2]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'oraclework2' is undefined\n\nThe error appears to be in '/home/alexei/ansible/musin/ansible/roles/configureapache2test/tasks/main.yaml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Display all variables/facts known for a host\n  ^ here\n"}

Что я делаю не так?
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Konstantinn M
Еще вопросик. Например при запуске плейбука использовались тэги -t tag1,tag2..
Вы хотите странного
источник

KM

Konstantinn M in ansible — русскоговорящее сообщество
Timur Gadiev
Вы хотите странного
Почему?)
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Konstantinn M
Почему?)
Потому что теги - не переменные
источник

KM

Konstantinn M in ansible — русскоговорящее сообщество
Timur Gadiev
Потому что теги - не переменные
Я это понимаю. Но интересно можно ли как-то их значение перехватить и запихать в переменную)
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Там есть переменная ansible_run_tags
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
В ней содержатся теги запуска
источник

NZ

Nikita Zaporozhets in ansible — русскоговорящее сообщество
Привет. А как вообще эти vars объявлять в плейбуке или в роли достаточно? У меня есть плейбук, в нем объявлены переменные.
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Alexei
А можно про host_vars уточнение?  Просто делаю так:
Есть в inventory запись про сервер  oraclework2
в директории host_vars создал файл oraclework2.yml
файл oraclework2.yml выглядит так:
—-  (это 3 минуса)
testvar:my_test_var
в плей буке я черезdebug смотрю:
 - "inventory_hostname!!! '{{ hostvars[oraclework2][testvar] }}' "  -и  получаю ошибку:
TASK [Gathering Facts] ******************************************************************************************************************************************************************************
ok: [oraclework2]

TASK [configureapache2test : Display all variables/facts known for a host] **************************************************************************************************************************
fatal: [oraclework2]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'oraclework2' is undefined\n\nThe error appears to be in '/home/alexei/ansible/musin/ansible/roles/configureapache2test/tasks/main.yaml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Display all variables/facts known for a host\n  ^ here\n"}

Что я делаю не так?
oraclework2 и testvar надо взять в кавычки - т.к. это имена переменных
источник

KM

Konstantinn M in ansible — русскоговорящее сообщество
Timur Gadiev
Там есть переменная ansible_run_tags
А говорите странно. Шикарно! Именно то, что надо! Спасибо!)
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Nikita Zaporozhets
Привет. А как вообще эти vars объявлять в плейбуке или в роли достаточно? У меня есть плейбук, в нем объявлены переменные.
Какие vars?
источник

NZ

Nikita Zaporozhets in ansible — русскоговорящее сообщество
Timur Gadiev
Какие vars?
Переменные
источник

A

Alexei in ansible — русскоговорящее сообщество
Timur Gadiev
oraclework2 и testvar надо взять в кавычки - т.к. это имена переменных
Не ругаясь матом,  - просто помолчу....
Спасибо! час бодался :(
источник

A

Alexei in ansible — русскоговорящее сообщество
Но, дурацкая ситуация с кавычками....
   - "inventory_hostname!!! {{ hostvars['{{ inventory_hostname }}']['testvar'] }} " - такую конструкцию нужно через несколько переменных делать? или как ее можно сотворить?
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Alexei
Но, дурацкая ситуация с кавычками....
   - "inventory_hostname!!! {{ hostvars['{{ inventory_hostname }}']['testvar'] }} " - такую конструкцию нужно через несколько переменных делать? или как ее можно сотворить?
Зачем хостварс? Если переменная того же хоста, то можно просто testvar
источник

A

Alexei in ansible — русскоговорящее сообщество
Timur Gadiev
Зачем хостварс? Если переменная того же хоста, то можно просто testvar
Честно говоря, уже залюбился :(
Есть набор переменных , привязанных к oraclework2
---
site:
 mnemobuilder1.ddns.net:
  site_type: proxy
  server_dns_name: mnemobuilder1.ddns.net
  proxy_port: 3000
 mnemobuilder2.ddns.net:
  site_type: proxy
  server_dns_name: mnemobuilder2.ddns.net
  proxy_port: 3000

Вот так я получаю список сайтов :
- name: lit of site
 ansible.builtin.debug:
   msg: "{{ item }} "
 loop:
   "{{ site|flatten(levels=1) }}"
, но как получать значение параметра к примеру,  из этой "пары"  
server_dns_name: mnemobuilder1.ddns.net
    (дублирование тут условное, в будущем все уберется).... ?
источник
2021 February 13

Р

Рентик in ansible — русскоговорящее сообщество
Всем привет! Вопрос, есть. Хелп. У меня есть три машины. одна мастер и два слэйв. как прописать в плейбуке мастера чтобы файл с слайва1 скопировался на слэйв2?
источник

M

Maksim Sharov in ansible — русскоговорящее сообщество
Рентик
Всем привет! Вопрос, есть. Хелп. У меня есть три машины. одна мастер и два слэйв. как прописать в плейбуке мастера чтобы файл с слайва1 скопировался на слэйв2?
мастер - всмысле контроллер, на котором стоит ансибл?
источник

Р

Рентик in ansible — русскоговорящее сообщество
Maksim Sharov
мастер - всмысле контроллер, на котором стоит ансибл?
ага
источник

M

Maksim Sharov in ansible — русскоговорящее сообщество
Рентик
ага
источник