Анатолий
ты делаешь delegate_to
Alexandr
имхо, православнее сделать через local_action
Pavel
Pavel
я ток не понял его синтаксиса
Pavel
вот пример из доки
Pavel
# ...
tasks:
- name: Send summary mail
local_action:
module: mail
subject: "Summary Mail"
to: "{{ mail_recipient }}"
body: "{{ mail_body }}"
run_once: True
Pavel
я пробовал следующее
Pavel
- name: Copy SSL files to sync directory
local_action:
module: synchronize
src: ../ssl
dest: ../nginx/
recursive: yes
Pavel
не работает
Pavel
он все равно ломится на IP хоста app
Pavel
@alexandr_revko, такой формат верный?
https://t.me/pro_ansible/87863
Alexandr
судя по доке, не получится через synchronize локально засинкать. ибо это врапер над rsync
Timur
Модуль synchronize по умолчанию и так использует в качестве источника путь на локальной машине
Timur
delegate_to не нужен
Alexandr
ну он для этого и создан
Timur
И в чем проблема?
Pavel
ну да
Timur
Timur
Делай отдельный плей на локалхост тогда
Pavel
и что же не лол?
Timur
Зачем это делать в плее для другого хоста?
Timur
Анатолий
он пытается подконектиться с машины app на твою локальную тачку и выполнить на ней таску
Pavel
ясно
Pavel
спасибо всем
Pavel
в общем решил не заморачиваться. дело в том, что мне папку ssl нужно было положить в nginx, в которую из темплейта генерится конфиг, для последующего синка папки с хостом app. просто сделал синк самой папки ssl. по сути тот же эффект и тоже количество шагов =)
Pavel
- name: Synchronization SSL files
synchronize:
src: ./../ssl
dest: /etc/nginx/
recursive: yes
delete: yes
- name: Synchronization nginx config
synchronize:
src: ./../nginx/
dest: /etc/nginx/
recursive: yes
delete: yes
Pavel
на локалхосте не принципиально иметь ssl внутри nginx
Sergey
Удалил спам.
Vladimir
Редирект на joycasino в техническом чате? Неплохо. Такой способ спамерской рекламы я ещё не видел)
Tadeusz
Где где
Vladimir
Уже почищено)
.
Народ, здравствуйте. Подскажите пожалуйста, как такую проблему разгребать:
при попытке подключения к хосту ансибль говорит "Error: ansible requires the stdlib json and was not found!"
Если пойти на хост ручками и установить пакет python-modules-json, то потом всё работает.
Это можно с помощью самого ансибля как-то пофиксить?
ansible hostname -m apt -a "name=python-modules-json update_cache=yes" -b точно так же не работает.
Timur
.
Ага, вроде можно
Спасибо, посмотрю.
Timur
Мы обычно делаем так:
- name: Install python for Ansible
raw: test -e /usr/bin/python || (apt install -y python-minimal)
become: True
Timur
И все работает
George
мне сложно представить, что тогда будет
George
Sun
А не проще ставить третий и симлинк кидать?
George
там не все модули несовместимы (если что - это не прямо про ансибл, а вообще)
George
и системный питон... ну, эт прям беда-беда
Timur
George
если бы ансибл не зависел от пайтона на удаленной машине - у меня даже вопросов не было
.
-m raw -a "rpm -q python-modules-json || (apt-get update; apt-get install -y python-modules-json)" -b
вот так прокатило :) После трёх минут зловещщего молчания
George
но получается, что ансибл не просто "запускатор команд по SSH"
Timur
George
ага
.
"не нужно никаких агентов", говорили они
Timur
George
ну, здесь все честно - ансибл САМ ставит пайтон на удаленную тачку
Timur
Нужен работающий питон
.
Ну да, если его особенно попросить об этом
Timur
В нормальных дистрах он стоит по умолчанию
Timur
George
они будут говорить, что это случайность
George
))))
George
или исключение
Timur
Пакета minimal для ансибла хватает
Sun
Ну, есть ещё вариант запускать питон из докера и скрипт в bin вместо бинарника. :)
Нормально работает, я проверял.
#! /bin/bash
docker run --rm -it python #@
George
Timur
George
так что за дистриб? просто интересно
George
не для стеба
.
ALTLinux P8
Timur
.
Timur
Вот в этом
Timur
Народ, здравствуйте. Подскажите пожалуйста, как такую проблему разгребать:
при попытке подключения к хосту ансибль говорит "Error: ansible requires the stdlib json and was not found!"
Если пойти на хост ручками и установить пакет python-modules-json, то потом всё работает.
Это можно с помощью самого ансибля как-то пофиксить?
ansible hostname -m apt -a "name=python-modules-json update_cache=yes" -b точно так же не работает.