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 групп хостов
Womchik
Денис
Денис
то есть если сначала генерите, а потом где-то его сохраняете, то будут разные пароли
Денис
https://t.me/pro_ansible/61933
Денис
от этого коммента и ниже, вроде этот же кейс
Andrii
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') }}"
Спасибо всем
Alex
Andrii
Andrii
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
Отделение 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
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 сделать?
A
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=(
тебе же ответили куда смотреть
Victor
Кстати про ключи, кто-нибудь делал двух-/мульти-факторную авторизацию для ssh?
Alex
Vitaly
Vitaly
но в паре с ключами не работает нормально
Victor
я знаю что через пам можно. Я про опыт использования.
Vitaly
да и о какой-то автоматизации в этом случае можно забыть
Vitaly
сделал, побаловался, и откинул дурное
Vitaly
если у вас 1-2 машины ок, когда у вас пару тысяч, бесполезно
Alex
Я в лабе поднимал, взлетело но не удобно использовать.
Alex
Salem
Victor
А если через какой-нибудь Single Sign On, аля kerberos, hashicorp vault или еще че-нибудь такое. Или двойная аунтификация в башне|аwx
Alex
Salem
у всех задачии разные, у меня хосты ресетапятся по нескольку раз в день
Alex
Alex
Dns sec sshfp?
Vitaly
Vitaly
но опять таки, удобства использования не добавляет