UglyKoyote
Как вариант - добавить в профиль "того" юзера эти переменные
UglyKoyote
чтобы они гвоздями были прибиты и ансибл не гадал что и как
Dmitriy
вроде можно еще в playbook переменные добавить, ну как вариант
UglyKoyote
нет, у меня так не сработало
UglyKoyote
я наткнулся на то что в профиле юзера были зашиты проксисервера. и каждая новая таска тянула новую сессию. а это перечитывание переменных
UglyKoyote
я плюснул и в профиле юзера занулил их
Dmitriy
UglyKoyote
оно работало если в URI указывал отключение прокси
UglyKoyote
но следующая таска без этой нотации опять пыталась работать через прокси
Павел П.
- сравнить питон на сервере ансибли и питон внутри докера. - сравнить файлы модуля там же
ну и конечно ansible.cfg сравнить там и там. Если в плейбуках есть shell - проверить что в докере нужные пакеты стоят. сорри за капитанство
Alex
подскажите, а почему при попытке запустить сервис через модуль service он не стартует TASK [itests/jfxr : Start/stop JFXR services] **** ok: [app_master] => changed=false name: xray state: started status: ActiveEnterTimestamp: Wed 2019-11-27 11:03:48 UTC ActiveEnterTimestampMonotonic: '918454683' ActiveExitTimestamp: Wed 2019-11-27 11:01:48 UTC ActiveExitTimestampMonotonic: '798539936' ActiveState: active ... ... ... при этом если смотрю состояние сервиса через service_facts, то показывает что он остановлен xray: name: xray source: sysv state: stopped xray.service: name: xray.service source: systemd state: stopped сам таск проще некуда - name: Start/stop JFXR services become: yes service: name: xray state: started ignore_errors: yes
Павел П.
ignore_errors: no -vvvv что скажет?
Serg
ты на systemd дистрибутиве делаешь?
по идее service все равно systemd должен редиректить
George
оооо_ООООО
George
попробуй systemd модуль (если есть такой), и ансиболь посвежее
George
и чтоб на пихтоне 3
Alex
причем я заметил, что такое поведение проявляется только при повторной установке приложения. Если запускаю плейбук на чистой системе, то все отрабатывает нормально
Serg
причем я заметил, что такое поведение проявляется только при повторной установке приложения. Если запускаю плейбук на чистой системе, то все отрабатывает нормально
все таки воспользуйся модулем правильным. как советуют. Может проблема не в ансибле а в системе. и Сервис сам по себе не стартует при переустановке?
Sergey
вроде для банального старта сервиса модуля service должно хватать, нее?
"...Вроде для прочистки уха отвёртки должно хватать, нее?..." Нее.
Serg
вроде для банального старта сервиса модуля service должно хватать, нее?
должно. но можно и гланды через жопу вырезать.
Alex
service – Manage services Synopsis Controls services on remote hosts. Supported init systems include BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart.
Serg
service – Manage services Synopsis Controls services on remote hosts. Supported init systems include BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart.
безусловно суть не в модуле. просто лучше навреное использовать соответствующий модуль.
Serg
еще раз Может проблема не в ансибле а в системе. и Сервис сам по себе не стартует при переустановке?
Serg
вручную то он запускается? или raw командой
Serg
-vvvv давай
Alex
https://gist.github.com/Alexhha/7517581eddbc250584ef55058b443f7c
Alex
не помогло
Alex
при запуске руками # service xray start 2019-11-27T11:41:10.405Z [shell] [INFO ] [] [installerCommon.sh:2046 ] [main] - Setting JF_SHARED_NODE_ID to itests-4a35-master ... ... Starting service router as user xray... Service router started
Alex
дальше идут проверки сервиса через его REST API
Alex
а так как он не стартует, то и проверки фейлятся
Boris 🦍
я так понял. он утебя стартует, но дальше его что-то останавливает
Boris 🦍
попробуй все проверки закоментить, оставить только таск запуска
Alex
через ансибл не стартует, в том то и дело
UglyKoyote
а в логах сервера есть что?
Boris 🦍
или тэгом
UglyKoyote
а демона релодить не пробовал перед запуском сервиса?
Alex
в логах естественно ничего нет, так как со стороны ансибла даже нет попытки запуска
UglyKoyote
та я про саму машину где пытаешься запустить
Serg
https://gist.github.com/Alexhha/7517581eddbc250584ef55058b443f7c
что-то тут не все помоему
Boris 🦍
- name: Start/stop JFXR services become: yes service: name: xray state: started ignore_errors: yes
Alex
а демона релодить не пробовал перед запуском сервиса?
пробовал в консоли выполнить systemctl reset-failed && systemctl daemon-reload
Alex
не помогает
Alex
что-то тут не все помоему
это весь выхлоп модуля systemd
Serg
сам ансибл в статусе дает failed?
Serg
changed?
George
вообще. навсегда
Alex
changed=false
Alex
забудь про команду service
ну да, но запуск перенаправляется все равно в systemctl
Serg
возможный вариант, ога
кажется что так и есть.
George
короче. Парни. У меня такая ботва была. Это race condition
Alex
и из консоли она так же отлично запускает сервис
Serg
можешь всю строку скопировать
Serg
результата
George
когда ансибл создает некий ресурс, он в состоянии А. Потом ансибл уточняет его состояние. Оно А. А потом ресурс кря. И failed. или типа того
George
или наоборот- ансибл создает ресурс. Все хорошо, но в момент опроса состояния (оно же спустя определенное время, хоть и мизерное). поэтому напиши сюда текст systemd unit
George
далее. Напиши результат выполнения systemctl stop XXX systemctl status XXX systemctl start XXX systemctl status XXX
Serg
это динамический ресурс
Serg
скорее всего
Alex
когда ансибл создает некий ресурс, он в состоянии А. Потом ансибл уточняет его состояние. Оно А. А потом ресурс кря. И failed. или типа того
так в том то и дело, что оно не фейлится, у него даже changed=false. Такое ощущение, что ансибл считает его уже запущенным, хотя факты говорят, что он stopped
George
он может stopped после того, как ансибл считал состояние
George
systemd умеет юниты пускать как в сихнронном режиме, так и в асинхронном. https://t.me/pro_ansible/122875 - повторю свою просьбу
Alex
он может stopped после того, как ансибл считал состояние
сервис изначально stopped после установки и так и должно быть
George
Alex
ничего интересного
Alex
т.е. все отрабатывает как и должно
George
фак