Александр
никакого
Lamobot
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 для ВМ? спасибо.
checkdiff
Aleksander baltazor
[IPT] Dmitry
мне пока только в голову пришло создавать структуру данных и права ролью субд всё таки
checkdiff
в плейбуке запускаются несколько ролей порядок указывается в плейуках, а переменные живут в инвентори хостварс.
Передача переменных возможна на уровне инвентаря. В едином инвентаре на все роли - то есть плейбуки.
Менеджить файл в любом случае в одной роли. А вот генерация переменных для шаблона - на уровне инвентаря
checkdiff
Либо конкретные примеры с двумя ролями и переменными. Чтобы наглядно было понятно взаимодействие
Антон
коллеги, скажите пожалуйста, а это нормальная практика делать циклы через include файла с шагами?
у меня задача - делать заранее неизвестное количество служб, но если ломиться в лоб, то при повторном прогоне шаг фейлиться из-за того что службы уже есть
Антон
и по хорошему надо сначала собрать их статус, а потом уже дергать те, которых нет
Timur
Timur
Что фейлится?
Антон
создание службы
Fedor V
Антон
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
Гайрат
Ссылка на канал с ссылкой на канал)
Eduard
Anton
Коллеги, как в динамическом инвентаре определить логин и пароль для разных групп и типов ОС разные? Как переменную можно засунуть?
inqfen
Ну да
inqfen
У тебя же там все равно машины по группам собираются
inqfen
Вот для групп и устанавливай
Anton
Внутри самого динамического инвентаря?
inqfen
зачем внутри
inqfen
стандартно. 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
Alexander
Как создать ярлык, на рабочем столе каждого юзера системы?
Alexander
c:\Users\Public\Desktop - общий рабочий стол (в w7 назывался all users; добавленный туда ярлык появится у всех и не будет доступен к удалению.
Alexander
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
Как мне туда переменное значение засунуть?
Sergey
Roma
А что есть как вариант?
Sergey
Динамически словарь создавай в отдельном вызове Jinja
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
Степан
Там же нет этого проекта где все скрипты, это только таргеты
Lamobot
Скрипты в гите же? Пульте их на сервер и запускайте
Степан
А переписывать все, чтобы один день дома поработать
Степан
Такое себе
Grek 🇺🇦
Поднять виртуалку с ubuntu, установить туда ansible, залить плейбуки.
VScode remote ssh plugin, и по факту вы запускаете их с винды, а исполняются на джамп вм
Grek 🇺🇦
Степан
На работе на ubuntu
Grek 🇺🇦
Что мешает подключиться на рабочую ubuntu?
Степан
Не очень удобно
Grek 🇺🇦
Вам шашечки или ехать?
VPN в офис, ssh на ubuntu и запускаете.
Это не вопрос для чата, как удобно, как нет...
Sergey
Поддерживаю.