Александр
никакого
Roman
сталкнулся с непонятной фигнёй после команды - name: run new init-pki tags: init shell: yes 'yes' | /etc/openvpn/easy-rsa/3/./easyrsa init-pki >> /tmp/init-pkilog.txt .easyrsa перестаёт быть испольняемым скриптом
[IPT] Dmitry
ребят, как решаете проблемы когда одной роли надо поправить конфигурационной файл другой роли? например: типовая роль субд хранит её конфигурационный файл, но роль приложения создаёт пользователя и схему и должна изменить конфигурационный файл роли субд, чтобы пользователь мог к ней подключаться
Aleksander baltazor
Добрый день. Подскажите пожалуйста, можно ли через модуль vmware изменить guest os version для ВМ? спасибо.
[IPT] Dmitry
Одно инвентари в плейбуке.
мысль слишком глубокая, нужно пояснение 🤷‍♂️
[IPT] Dmitry
мне пока только в голову пришло создавать структуру данных и права ролью субд всё таки
checkdiff
в плейбуке запускаются несколько ролей порядок указывается в плейуках, а переменные живут в инвентори хостварс. Передача переменных возможна на уровне инвентаря. В едином инвентаре на все роли - то есть плейбуки. Менеджить файл в любом случае в одной роли. А вот генерация переменных для шаблона - на уровне инвентаря
checkdiff
Либо конкретные примеры с двумя ролями и переменными. Чтобы наглядно было понятно взаимодействие
Антон
коллеги, скажите пожалуйста, а это нормальная практика делать циклы через include файла с шагами? у меня задача - делать заранее неизвестное количество служб, но если ломиться в лоб, то при повторном прогоне шаг фейлиться из-за того что службы уже есть
Антон
и по хорошему надо сначала собрать их статус, а потом уже дергать те, которых нет
Timur
Что фейлится?
Антон
создание службы
Антон
Да, include с циклами допустимый вариант, но внутри каждого инклюда лучше добавить проверку перед созданием либо игнорировать ошибки создания
ну вот как раз я и думал так сделать - в файле должно было быть 2 действия - проверка, и если служба есть создание скипаться
Roman
при запуске плейбука таск - name: Initialize PKI if not done already tags: init expect: command: ./easyrsa init-pki chdir: /etc/openvpn/easy-rsa/3/ responses: Confirm removal: 'yes' затирает несколько файлов и пару папок, при вызове через тег такого не происходит changed: [ofvpn] => { "changed": true, "cmd": "./easyrsa init-pki", "delta": "0:00:00.179916", "end": "2020-03-19 13:37:35.118137", "invocation": { "module_args": { "chdir": "/etc/openvpn/easy-rsa/3/", "command": "./easyrsa init-pki", "creates": null, "echo": false, "removes": null, "responses": { "Confirm removal": "yes" }, "timeout": 30 } }, "rc": 0, "start": "2020-03-19 13:37:34.938221", "stdout": "\r\nNote: using Easy-RSA configuration from: ./vars\r\n\r\n\r\nWARNING!!!\r\n\r\nYou are about to remove the EASYRSA_PKI at: /etc/openvpn/easy-rsa/3/\r\nand initialize a fresh PKI here.\r\n\r\nType the word 'yes' to continue, or any other input to abort.\r\n Confirm removal: \r\ninit-pki complete; you may now create a CA or requests.\r\nYour newly created PKI dir is: /etc/openvpn/easy-rsa/3/", "stdout_lines": [ "", "Note: using Easy-RSA configuration from: ./vars", "", "", "WARNING!!!", "", "You are about to remove the EASYRSA_PKI at: /etc/openvpn/easy-rsa/3/", "and initialize a fresh PKI here.", "", "Type the word 'yes' to continue, or any other input to abort.", " Confirm removal: ", "init-pki complete; you may now create a CA or requests.", "Your newly created PKI dir is: /etc/openvpn/easy-rsa/3/" ] }
Roman
при указывании символьной ссылки 3 а не жёсткой 3.0.6, не затирает, если указать 3.0.6 затирает - если вызывать тэгом
Roman
так же пробовал такой таск - name: run new init-pki tags: init expect: command: /etc/openvpn/easy-rsa/3/./easyrsa init-pki responses: Confirm removal: 'yes' происходит аналогичная ситуация
Tadeusz
вечная боль)
manefesto
может у тебя python3
Tadeusz
похорони его уже
Roman
Кривой файл vars где в переменных пути
Eduard
https://t.me/sysadmin_tools/2858
Гайрат
Ссылка на канал с ссылкой на канал)
Anton
Коллеги, как в динамическом инвентаре определить логин и пароль для разных групп и типов ОС разные? Как переменную можно засунуть?
inqfen
Ну да
inqfen
У тебя же там все равно машины по группам собираются
inqfen
Вот для групп и устанавливай
Anton
Внутри самого динамического инвентаря?
inqfen
зачем внутри
inqfen
стандартно. group_vars
Sergey
стандартно. group_vars
Стандартно никто не хочет и не читает😁
inqfen
Ну да, это неинтересно
inqfen
Можно написать кастомный инвентори плагин, который будет подсовывать переменные из какого-то совсем неожиданного источника
Igor
подскажите плз, есть такая таска: - name: User creation user: name: "{{ item.username }}" group: "{{ item.group | default(item.username if users_create_per_user_group else users_group) }}" groups: "{{ item.groups | join(',') if 'groups' in item else '' }}" как сделать так что если какое то значение не найдено в groups таска не фейлилась?
Igor
знаю что можно просто написать ignore_errors но хочется чтобы был игнор только для groups
checkdiff
{{ not_defines | default(omit) }}?
Igor
не совсем корректно выразился, значение из groups не найдено в системе)
checkdiff
не совсем корректно выразился, значение из groups не найдено в системе)
добавить таск с созданием груп до пользователей.
Alexander
Как создать ярлык, на рабочем столе каждого юзера системы?
Alexander
c:\Users\Public\Desktop - общий рабочий стол (в w7 назывался all users; добавленный туда ярлык появится у всех и не будет доступен к удалению.
Alexander
Слова ярлык и рабочий стол смутили
Alexander
find: paths: /home resurse: no file_type: directory register: homedirs
Alexander
И потом в каждой {{ homedir }}/Desktop создаёшь ярлык
Alexander
спасибо, попробую
Alexander
Хотя наверняка в твоей оболочке есть аналог виндовой public https://askubuntu.com/questions/663491/how-to-create-a-desktop-shortcut-for-all-users-in-ubuntu-14-04-for-ad-joined-mac
Roma
Привет! Подскажите, плиз есть таска в роле nginx: template: src: "{{ item.value.template | default(nginx_default_site_template) }}" dest: "{{ nginx_conf_dir }}/sites-available/{{ item.key }}.conf" with_dict: "{{ nginx_sites }}"
Roma
в плейбуке пишу: - role: nginx nginx_pkgs: - nginx - nginx-extras nginx_sites: "{{ main_site }}": template: main-site.j2 server_name: "{{ main_site }}"
Roma
и получаю /etc/nginx/sites-enabled/\{\{\ main_site\ \}\}.conf Как мне туда переменное значение засунуть?
Roma
А что есть как вариант?
Sergey
Динамически словарь создавай в отдельном вызове Jinja
Sergey
и получаю /etc/nginx/sites-enabled/\{\{\ main_site\ \}\}.conf Как мне туда переменное значение засунуть?
Только у тебя тут всё равно трэш с параметрами. Перечитай вот сам с точки зрения человека, который это видит в первый раз. "Создать ключ из переменной, а внутрь положить ещё два ключа со занчениями из этой же переменной". Нафиг-нафиг.
Roma
То есть ты бы лучше статикой вписал не привязанное к имени домена название аля main-site.conf ?
Sergey
Я обычно такие штуки передаю в роль как параметр: nginx_domain_name: "{{ whatever_i_want }}"
Sergey
и всё остальное уже в роли получаю из этого
Roma
Понял, спасибо
Anton
Коллеги, наблюдаю странное: ansible 2.9.6 python3.5 модуль win_get_url с назначением проверки чексумм по md5, в случае если не логинился по rdp на сервер до этого, файл видимо не докачивается чек сумма естественно другая, хотя код завершения соединения с веб сервером 200. стоит только подключиться по рдп и отключиться, всё приходит в норму. В чём может быть засада, как оттрейсить ?
A.Soroko
Коллеги, помогите с выражением 1 есть шаблон вида process: nginx: enable: YES ssl: /etc/nginx/ssl ssl_name: cert001: {} cert002: {} 2 есть задание которое должно по элементам шаблона найти сертификаты и скопировать на хост - name: Copy ssl certificates template: src: "{{ item }}" dest: "{{ process.nginx.ssl }}" mode: 0644 owner: "{{ process.nginx.owner }}" group: "{{ process.nginx.owner }}" with_fileglob: - "{%- for kv, kn in process.nginx.ssl_name | default({}) | dictsort() %}static/ssl/{{ kv }}*{%- endfor %}" как правильно написать "with_fileglob" или вообще не его?
Степан
Есть ли варианты запускать ansible скрипты на винде для серверов на ubuntu?
Grek 🇺🇦
WSL?
Степан
Там же нет этого проекта где все скрипты, это только таргеты
Lamobot
Скрипты в гите же? Пульте их на сервер и запускайте
Степан
Скрипты в гите же? Пульте их на сервер и запускайте
Не, не варик, в инвенотрис указаны не те адреса по которым они видят друг друга
Степан
А переписывать все, чтобы один день дома поработать
Степан
Такое себе
Grek 🇺🇦
Поднять виртуалку с ubuntu, установить туда ansible, залить плейбуки. VScode remote ssh plugin, и по факту вы запускаете их с винды, а исполняются на джамп вм
Grek 🇺🇦
Степан
На работе на ubuntu
Grek 🇺🇦
Что мешает подключиться на рабочую ubuntu?
Степан
Не очень удобно
Grek 🇺🇦
Вам шашечки или ехать? VPN в офис, ssh на ubuntu и запускаете. Это не вопрос для чата, как удобно, как нет...
Sergey
Поддерживаю.
Andrey
Не очень удобно
Wsl тогда на виндовс