V.
тут все хорошо
V.
сейчас покажу из под рута
V.
ssh root@192.168.122.38 Linux new-debian 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Oct 31 14:16:55 2018 from 192.168.122.1 root@new-debian:~# echo $DBUS_SESSION_BUS_ADDRESS unix:path=/run/user/0/bus root@new-debian:~# export DISPLAY=:0 ; export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus root@new-debian:~# echo $DBUS_SESSION_BUS_ADDRESS unix:path=/run/user/1000/bus root@new-debian:~# notify-send test test root@new-debian:~#
V.
тут ничего не показывает
Victor
А если перед нотифаем от рута сделать xauth -f ~user/.Xauthority ?
V.
root@new-debian:~# export DISPLAY=:0 ; export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus root@new-debian:~# xauth -f /home/user/.Xauthority Using authority file /home/user/.Xauthority xauth> xauth>
V.
уходит приглашение командной строки
Victor
от рута судушнуться в пользователя и потом xauth -f ~user/.Xauthority
Victor
http://joelinoff.com/blog/?p=729
V.
аллилуйя! всем спасибо, вот так сработало
V.
- hosts: all tasks: - name: Notify shell: DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus; su user -c "/usr/bin/notify-send 'my message'" # become: yes # become_user: user # become_method: sudo
Денис
как-нибудь можно ускорить копирование шаблонов через template? я нагуглил только что на него асинк не работает
Artur
такие тяжёлые шаблоны ?
Andrii
Всем привет. Возник такой вопрос - пытаюсь обновить пароль юзера. Генерю пароль вот этим secret: "{{ lookup('password', '/dev/null length=16 chars=ascii_letters,digits,hexdigits,punctuation') }}" Потом вызываю переменную secret в модуле user - name: Create user user: name: admin password: "{{ '{{ secret }}' | password_hash('sha512')}}" update_password: always Но в итоге сгерененный пароль не подходит. При этом если я напишу руками вместо переменной secret просто рандомную последовательность, то все начинает работать. Не подскажите, в чем проблема?
Денис
такие тяжёлые шаблоны ?
нет, много разных, и на разные хосты
Денис
примерно по 10 шаблонов на группу хостов, 5 групп хостов
Денис
то есть если сначала генерите, а потом где-то его сохраняете, то будут разные пароли
Денис
https://t.me/pro_ansible/61933
Денис
от этого коммента и ниже, вроде этот же кейс
Andrii
то есть если сначала генерите, а потом где-то его сохраняете, то будут разные пароли
хм, странно. Попробовал с set_fact, как в указанном комменте. Для проверки скалдываю пароль под ноги и на удаленной машинке - пароль один и тот же, но при этом не подходит почему-то
Alex
Коллеги, подскажите как всосать в переменные ключики ссш, так не срабатывает? - set_fact: ssh_private_key: "{{lookup('file', getent_passwd[user][4] + '/.ssh/id_rsa')}}" ssh_public_key: "{{lookup('file', getent_passwd[user][4] + '/.ssh/id_rsa.pub')}}" Вот что выплёвывает: [WARNING]: Unable to find '/var/lib/pgsql/.ssh/id_rsa' in expected paths (use -vvvvv to see paths) fatal: [host-01-centos7]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'file'. Error was a <class 'ansible.errors.AnsibleError'>, original message: could not locate file in lookup: /var/lib/pgsql/.ssh/id_rsa"}
Alex
Ключик есть ok: [host-01-centos7] => { "msg": { "changed": false, "failed": false, "stat": { "atime": 1540980587.0371828, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "unknown", "checksum": "066cf4ed871b8443d28b1ba996799ea2c3488edf", "ctime": 1540980586.795188, "dev": 48, "device_type": 0, "executable": false, "exists": true, "gid": 26, "gr_name": "postgres", "inode": 2119695, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "unknown", "mode": "0600", "mtime": 1540980586.795188, "nlink": 1, "path": "/var/lib/pgsql/.ssh/id_rsa", "pw_name": "postgres", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1675, "uid": 26, "version": null, "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } }
Andrii
все, заработало, слишком много скобок оказалось. "{{ secret | password_hash('sha512') }}" Спасибо всем
Andrii
атом и вскод классные иде и уберегают от таких проблем.
писал в vscode, с точки зрения ямла не ругалось.
Alex
писал в vscode, с точки зрения ямла не ругалось.
Ты же на ансибле писал, так и линтер надо не ямловский а ансибловый было поставить
Andrey
Он от таких проблем разве спасёт? Это же логическая ошибка, вместо переменной secret указана строка '{{ secret }}'
Sergey
Ребят кто сталкивался Oracle Linux при выполнении таски ансибла - name: Reload systemd systemd: daemon_reload=yes говорит {"changed": false, "failed": true, "msg": "missing required arguments: name"} а на центосе работает норм
matt
а какой oracle?
matt
6ой?
Sergey
7.3
Womchik
и версию ансибла
Отделение Bereke Bank
Например systemd: name: nginx state: restarted daemon_reload: yes
Womchik
- name: just force systemd to reread configs (2.4 and above) systemd: daemon_reload: yes
Отделение Bereke Bank
- name: just force systemd to reread configs (2.4 and above) systemd: daemon_reload: yes
Хмм. Почему-то думал что name у systemd всегда required
Womchik
Sergey
- name: create systemd service for node_exporter template: src=templates/node-exporter.service.j2 dest=/etc/systemd/system/node-exporter.service
Sergey
без имени
Sergey
я же просто релоад системд делаю
Sergey
это надо записывать в платиновые факапы ансибл
Sergey
#платиновые_факапы
Sergey
крч локально 2.7 на деплое 2.3.1 2.7 умеет в раздельные конструкции системд типа: - name: Reload systemd systemd: daemon_reload=yes а 2.3 может только так - name: restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes systemd: state: restarted daemon_reload: yes name: crond
Alex
Самый полезный таск в мире - name: Ensure ssh host key known known_hosts: name: "{{ hostvars[item].ansible_default_ipv4.address }}" hash_host: no key: "{{ lookup('pipe', 'ssh-keyscan -H ' + hostvars[item].ansible_default_ipv4.address) }}" with_items: "{{ groups[all] }}"
Salem
я просто stricthostchecking вырубил
Victor
Вообще тут нужно осторожней. Потому что если у хоста "поменялся" ключ, то это может быть уже совсем не тот хост.
A
Ребят, можно ли через модуль запустить docker stack deploy --compose-file docker-compose.yml myservice?
A
Docker_swarm нормально запускается, а вот чтоб deploy нормально отработал не нашёл
A
Разворачивает из композ файда только один контейнер, а мне нужно 3
A
Docker_stack только в 2.8 а у меня 2.7
A
version: '3' services:   web:     image: alpine-web2py:latest     deploy:       replicas: 3       restart_policy:         condition: on-failure     ports:       - "80:80"       - "443:443"       - "8000:8000"
Игорь
всем привет, требуется зашаблонизировать IPшники слэйвов на двух нодах. Где при первой итерации должен в шаблон подставится IP второго хоста, а при второй первого, кто-то понимает как это в ansible сделать?
GithubReleases
ansible/ansible was tagged: v2.5.11 Link: https://github.com/ansible/ansible/releases/tag/v2.5.11 Release notes: New release v2.5.11
GithubReleases
ansible/ansible was tagged: v2.6.7 Link: https://github.com/ansible/ansible/releases/tag/v2.6.7 Release notes: New release v2.6.7
Womchik
up=(
тебе же ответили куда смотреть
Alex
я просто stricthostchecking вырубил
Так ты и ключи не используй, дураки какие-то придумали
Victor
Кстати про ключи, кто-нибудь делал двух-/мульти-факторную авторизацию для ssh?
Vitaly
но в паре с ключами не работает нормально
Victor
я знаю что через пам можно. Я про опыт использования.
Vitaly
да и о какой-то автоматизации в этом случае можно забыть
Vitaly
сделал, побаловался, и откинул дурное
Vitaly
если у вас 1-2 машины ок, когда у вас пару тысяч, бесполезно
Alex
Я в лабе поднимал, взлетело но не удобно использовать.
Victor
А если через какой-нибудь Single Sign On, аля kerberos, hashicorp vault или еще че-нибудь такое. Или двойная аунтификация в башне|аwx
Alex
ага, все дураки, ты умный
Я ж поддерживаю тебя)
Salem
у всех задачии разные, у меня хосты ресетапятся по нескольку раз в день
Alex
Dns sec sshfp?
Vitaly
но опять таки, удобства использования не добавляет