neb0t
journalctl -xu servicename
neb0t
вродь везде был - и в ентерпрайз и центос
Artem
ребят, FQDN/ip хоста из файла инвентория в переменную можно передать ?
neb0t
Artem
подскажи как ?
Artem
inventory_hostname?
neb0t
if ansible_fqdn in groups
neb0t
More info: https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html
Sergey
Sergey
у каждого хоста есть ansible_hostname
neb0t
есть хост, а есть fqdn
Sergey
neb0t
каков вопрос - такой и ответ
neb0t
fqdn по днс должен возвращатся ... хостнейм с хостс
Artem
все, разобрался, спасибо
Egor
Ребят, а вот такая конструкция не работает что ли?
easyrsa:
ver: 3.0.3
url: "https://github.com/OpenVPN/easy-rsa/releases/download/v{{ easyrsa.ver }}/EasyRSA-{{ easyrsa.ver }}.tgz"
Egor
Или внутри можно просто ver использовать?
Sergey
Определи отдельно top-level переменную и используй её во все поля.
Egor
Понял. Спасибо.
Антон
коллеги, проблемка
есть curl запрос:
curl -v -k -u xxx:xxx --upload-file base.gz.sha256 https://xxx/repository/local-exchange/
он нормально отрабатывает
есть такая же штука в uri
uri:
url: https://xxx/repository/local-exchange/
method: POST
src: '{{ item }}'
user: 'xxx'
password: 'xxx'
force_basic_auth: yes
remote_src: yes
validate_certs: no
use_proxy: no
loop:
- "/data/copy/{{ files_checksum.results[0]['item'] }}.sha256"
и валится с 400 ошибкой
Антон
не могу понять в чем проблема
Антон
заливаю в nexus если это важно
Антон
версия ансибла 2.8
уж больно не хочется делать через shell =(((
tutunak
Антон
tutunak
буду очень благодарен
что то не нахожу но вроде как через body: "{{ lookup('file', 'foo.json') }}
Антон
не сам придумал - https://docs.ansible.com/ansible/latest/modules/uri_module.html
Антон
последний пример =)
Sergey
Антон
я к тому что вызов не я придумал =)
Антон
так в чем фича, я через file не смогу - он отрабатывает только локальный
Антон
а мне нужно это сделать на удаленном хосте
Sergey
Sergey
remote_src жи
Антон
fatal: [prod-sd]: 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: /data/copy/base.gz.sha256"}
вот это выдал
Антон
а файл точно есть
Антон
насколько я помню когда читал
Sergey
права проверяй
Sergey
плюс SELinux
Антон
Его нет, файл создан на предыдущем шаге
Sergey
погоди
Sergey
remote_src чему равен?
Антон
Yes
Sergey
с большой буквы?
Sergey
в общем, не должно так у тебя работать
Sergey
я ипсходник посмотрел, любой приличный сервис _не будет_ так работать
Sergey
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/net_tools/basics/uri.py#L491
Sergey
https://curl.haxx.se/docs/manpage.html#-T
Метод PUT, Карл, понимаешь? PUT!
Sergey
Антон
Антон
но печаль в том что лучше не стало =(
Антон
но по исходникам получается что он как делает что мне нужно - берет файл из src в body и через PUT отдает его на сервер
Антон
ееее!!!! подключив дебаг nginx все-таки добил =)))
вот рабочий вариант на 2.8.4```
uri:
url: 'https://xxx/repository/local-exchange/{{ item.filename }}'
method: PUT
src: '{{ item.path }}'
user: 'xxx'
password: 'xxx'
force_basic_auth: True
remote_src: True
validate_certs: no
status_code: 201
# use_proxy: no
loop:
- {path: "/data/copy/{{ files_checksum.results[1]['item'] }}", filename: "{{ files_checksum.results[1]['item'] }}.sha1"}
ошибки:
1. вместо PUT использовал POST
2. Потом включил use_proxy: no
Sergey
Антон
убил на эту хрень 2 часа, правда и знаний поднабрался в очередной раз =)
Sergey
ну зато ты теперь знаешь, что доки рулят 😊))))
Антон
не столько доки, сколько блин исходники =)
Антон
прям читаешь что как работает
Антон
кажется во мне начинает прорастать девопс =)))
Anonymous
Доброй ночи всем.
Может это из странного конечно, но есть стоит такая задача: необходимо скопировать файлы из каталога на определенные хосты. Подробней:
Есть такой инвентори:
consul_servers:
hosts:
server0:
server1:
server2:
На ansible контроллере есть каталог с сертификатами:
consul git:(master) ✗ tree
.
├── consul-agent-ca-key.pem
├── consul-agent-ca.pem
├── consul-0-key.pem
├── consul-0.pem
├── consul-1-key.pem
├── consul-1.pem
├── consul-2-key.pem
└── consul-2.pem
Каким образом можно выполнить модуль copy так, чтобы consul-0-key.pem и consul-0.pem попали только на server0, а consul-1-key.pem и consul-1.pem только на server1 и т.д. ?
Антон
теперь следующий квест - эта зараза не отправляет файлы большого рамера (28метров фейлится) причем курл легко фигачит этот файл
Антон
Anonymous
Антон
всегда пожалуйста
Aleksey
Ребята, подскажите пожалуйста, в последних версиях ansible начал ругаться на environments модуля docker_container: Non-string value found for env option. Ambiguous env options must be wrapped in quotes to avoid them being interpreted. как с этим бороться?
Например:
docker_container:
name: mycontainer
image: myimage
env:
SENTRY_URL: "{{sentry_url}}"
где sentry_url может быть null
Sergey
Aleksey
Пастырь
О сорян дочь до мобилы добралась))
Пастырь
)))
Max
смейся, своих уже 2 раза ловил, берут мой палец, когда я сплю....
Max
в общем 2 урока:
- днем не спать
- пароль менять раз в 2 месяца
Пастырь
Растут слишком быстро, просто игры уже не интересны
Max
хуже, начинают ревью реджектить.
Max
🤣
Max
без объяснений.