Nikolay
Womchik
Вот это вот сильно упорото? или для пятницы сойдёт?
vars:
crontab_commands:
- "0 * * * * ls / >> /tmp/ls.log"
tasks:
- name: Add cron jobs
cron:
minute: "{{ item.split()[0] }}"
hour: "{{ item.split()[1] }}"
day: "{{ item.split()[2] }}"
month: "{{ item.split()[3] }}"
weekday: "{{ item.split()[4] }}"
job: "{{ item.split()[5:] | join(' ') }}"
with_items:
- "{{ crontab_commands }}"
when: crontab_commands is defined
Артём
with_items рекомендуют менять на loop
Артём
А идея была в том, чтобы писать кроны в привычном формате?
Womchik
идея была юзать модуль. просто на входе есть только стандартные строки
Timur
Womchik
В чем смысл подобного?
Строку формата "0 * * * * ls / >> /tmp/ls.log" модулем засунуть в крон
Timur
Womchik
Anonymous
Коллеги, подскажите как сделать правильно. Есть много ролей для настройки сенрвиса А, на каком то этапер мне нужно использовать другой плейбук, использую import_playbook а после продолжать выполнение оставщихся ролей
Anonymous
как правильно это сделать ? оставшиеся роли как плейбук отдельный оформлять не хочется
Anonymous
условно настраиваю какую то прилогу, в середине работы прогоняю типовой плейбук nginx. а дальше уже продолжаю настраивать сайт для прилоги в рамках плейбука прилоги
Timur
Anonymous
плейбук в данном случае есть универсальный типовой настройки nginx. То есть на выходе я получу готовый рабочий вариант. Полностью законченный. А если сделать его ролью, то придется плодить что то типа nginx-base и развлекаться с vars
Timur
Timur
Какой nginx-base?
Anonymous
ну мб я не так объяснил. В общем вопрос не о том как плейбуке сделать ролью
Anonymous
а как сделать import_playbook и потом продолжать выполнение ролей
Timur
Anonymous
- hosts: apps-single-servers
become: yes
## install nginx
roles:
- 000-common
- 030-apps-install
- 031-apps-configure
- 0110-nginx-upstream-apps-single
- import_playbook: nginx-internal-servers.yml
Anonymous
соотвествено цель выполнить плейбук nginx до настройки upstream
Timur
Vladislav 👻
а зачем плейбук то?
Vladislav 👻
почему бы в одном плейбуке не сделать все?
Anonymous
ну походу придется сделать как вы советуете
Отделение Bereke Bank
Подскажите плз. Хочу через blockinfile вставить json, используя variable
В group_vars создаю variable: | и далее json текст. Проблема в том что при вставке этой переменной в файл " заменяются на ' и в рез-те это уже не json.
Как быть в таком случае?
Timur
Отделение Bereke Bank
Div
Добрый день, коллеги. Возник маленький вопрос по слиянию списков.
Что произойдет с повторяющимися значениями? сдублируются или сольются?
George
Timur
George
это тупо быстрее
George
вообще по уму списки сливаются без uniq'а
George
это ж не дикты или сеты
Div
Ilya
Вопрос есть, есть роль в которой куча инклюдов с when, а один из них static: no стоит, что оно делает?
Vladislav 👻
вопрос конечно хороший, но ответ гуглиться за 10 секунд
Ilya
Я смотрю сюда https://docs.ansible.com/ansible/2.5/modules/include_module.html и чет не могу понять Since Ansible 2.0, task includes are dynamic and behave more like real tasks.
George
там все по-русски написано вообще-то
George
задай конкретный вопрос
Vladislav 👻
по английский
Vladislav 👻
в примере есть описание
Vladislav 👻
но прочитав его, я что-то растерялся, ведь инклуды и так динамичны и инклудятся только при тру
Ilya
Так у меня when есть и в других инклюдах
Vladislav 👻
ааа, все, я вкурил логику, это именно модуль include
Vladislav 👻
я вместо этого использую include_task/role и все это нормально сразу из коробки есть
Oleg
коллеги подскажите плиз, почему у меня всегда Fox в результате?
{% if Run_test_for == "Electronics" %}"Kodak",{% elif Run_test_for == "Powertools" %}"Bosch",{% else %}"Fox",{% endif %}
использую в j2 шалоне. спасибо!
George
значение переменной какое?
Alexey
может где переопределение идет
Alexey
или в шаблоне применяешь сразу
Alexey
проверяй код какой шаблону отдает переменные
Oleg
Oleg
вах..разобрался!
[IPT] Dmitry
ребят, а можно как-то список использовать в обратном порядке?
Timur
[IPT] Dmitry
Фильтр reverse пробовали?
нет, я может не там пытаюсь искать?
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html
[IPT] Dmitry
- hosts: all
tasks:
- name: set var
set_fact:
variable: |
QWER
ASDF
- name: print var
debug:
msg: '{{ variable }}'
- name: reverse list
debug:
msg: "{{ variable.splitlines() | reverse }}"
как-то вот так
TASK [print var] ****************************************************************************
ok: [localhost] =>
msg: |-
QWER
ASDF
TASK [reverse list] ****************************************************************************
ok: [localhost] =>
msg: <listreverseiterator object at 0x7f236075be50>
Timur
Vladislav 👻
Опять сплитлайны...
Vladislav 👻
Почему сразу нельзя лист использовать?
[IPT] Dmitry
Почему сразу нельзя лист использовать?
TASK [reverse list] **************************************************************************************************************************************************************************************************************************
ok: [localhost] =>
msg:
- Q
- W
- E
- R
- ""
- A
- S
- D
- F
- ""
потому что?
Vladislav 👻
[IPT] Dmitry
Vladislav 👻
Я к тому, что странные задачи, брать многострочный текст и парсить его в ансибле
Vladislav 👻
Почему нельзя сделать нормальные переменные сразу?
[IPT] Dmitry
я пишу костыли, многие так делают 🤷🏻♂️
Vladislav 👻
[IPT] Dmitry
[IPT] Dmitry
мир не идеален, мне жаль, что я оскорбил чьё-то чувство прекрасного. надеюсь, в будущем для этого не придумают статью 😁
Vladislav 👻
Я просто сочувствую вам 😔
Anton
товарищи, есть ли какие либо противоречия против использования raw модуля вопреки command/shell, все команды планируется выполнять на localhost
Fidelina
Fidelina
может они всетаки нормально все написали, просто я не верную версию ансибла поставила7
George
George
Рав - ну, обычно только если пихтон надо поставить. Остальное в теории покрывается модулями ансибла
George
George
Дай текстом
Fidelina
ERROR! duplicate loop in task: items
The error appears to have been in '/home/op/openshift-ansible-3.11/roles/openshift_node_group/tasks/check_for_configs.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
---
- include_tasks: check_for_config.yml
^ here
George