Timur
Timur
Tadeusz
знач я уже забыл 🙂
Timur
Там целый раздел документации о том, как работать с виндой:
https://docs.ansible.com/ansible/2.7/user_guide/windows.html
Tadeusz
ansible_user: username@MY.DOMAIN.COM
ansible_password: Password
ansible_connection: winrm
ansible_winrm_transport: kerberos
ага, такое было
Timur
Tadeusz
ну и realms прописываешь + kinit...
Anton
да, все верно. у ансибла в репе выложен повершелл скрипт как врубить винрм одним скриптом.
Tadeusz
так глянь выше, там дока вменяемая
Tadeusz
Timur
Timur
Далеко не везде это приемлемо
Tadeusz
там с моей (ansible) стороны с пол пинка все завелось
Tadeusz
basic мне не подходил ибо вендовые тачки в домене, да и зачем...
Timur
Anton
у меня все ок настраивается. :)
Anton
т.е. плейбуки отрабатывают, но иногда падают посередине
Timur
Anton
это конерктно баг винрм в винде, но я подумал если тут ансиблд сообщество то кто то уже наступал на это кроме меня и знает как побороть. на гитхабе то есть обсуждения но мне не помогли.
Anton
а поясните за kinit, возможно моя проблема да.
Anton
Ну, так настройки в студию
[some_group:vars]
ansible_user='user'
ansible_password='password'
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
ansible_winrm_operation_timeout_sec=120
ansible_winrm_read_timeout_sec=180
в общем то все, остальное делает скрипт
Tadeusz
ну это для kerberos авторизации, если у тебя что-то работает, значит не твое оно)
Ждун
Ждун
в ансибле доке все написано
Timur
Anton
https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
Anton
вот этой штукой просто включаю winrm
Timur
товарищи, ищу помощи. регулярно (но не всегда) выхватываю на виндовых хостах вот такое:
(extended fault data: {u'fault_subcode': 'w:InternalError', u'fault_code': 's:Receiver', u'wsmanfault_code': '2147943418', 'transport_message': u'Bad HTTP response returned from server. Code 500', 'http_status_code': 500})", "unreachable": true}
может быть на любой таске в плейбуке, которая ходит в виндовых хост, чаще всего взрывается после сбора фактов. читал, что для винрм надо увеличить таймауты ожидания, увеличивал, не помогает вообще никак. Может кто-то поборол? А может я не там увеличиваю?
Собственно, официальная дока по поводу ошибки вида 500 рекомендует следующее:
Verify that the number of current open shells has not exceeded either WinRsMaxShellsPerUser or any of the other Winrs quotas haven’t been exceeded.
Anton
там беда была именно с тем, что иногда винрм умирает, потому что не может успеть ответить или ломается после очередного запроса.
Timur
Timur
Вот тут гляньте детали:
https://docs.microsoft.com/en-us/windows/desktop/winrm/quotas
Anton
Anton
ок, спасибо
Tadeusz
winrm get winrm/config
Timur
Ждун
https://serverfault.com/questions/907221/windows-ubuntu-bash-hypervisor-winrm-ansible-server-not-found-in-kerberos/907752#907752
Ждун
здесь в свое время описывал свои настройки по работе с керберосом
Ждун
на баг не обращайте внимания, это был еще тот затуп и пару дней тупняка )
Anton
Tadeusz
MaxShellsPerUser = 2147483647
хуя, ты грубанул)
Tadeusz
зло
Anton
зло
походу это некое стандартное значение, не вижу что бы в процессе оно вообще менялось. какое лучше?
Tadeusz
я не знаю даже на что оно может влиять)
Oleg
ребзи, как можно помимо модуля command получить список файлов в каталоге определенного расширения? что бы потом передать в переменную и произвисти с ними определенные действия
Womchik
shell :)
Alex
Oleg
find
find использую, но он в переменную передает почему то все( а мне надо только название файла
Oleg
find
вместо названия переменная посдавляет и uid, и atime, и inode и тд. короче всю информацию о файле
Alex
да, фильтруйте по path
Timur
Timur
find же не знает, что именно вам нужно знать о файлах
Tadeusz
shell костыльно, но быстро ж )
Timur
Тут вопрос концептуальный возник по ансибл-линту. Точнее, по одному из его правил. Вот по этому:
https://github.com/ansible/ansible-lint/blob/master/lib/ansiblelint/rules/ComparisonToEmptyStringRule.py
Timur
Собственно, вот дискуссия поднятая на эту тему:
https://github.com/ansible/ansible-lint/issues/457
Timur
Речь о том, что в текущей версии ансибл-линт ругается на присутствие в коде conditionals вида:
when: my_var != ''
George
по-моему это пиздец
Timur
А более простая конструкция вида when: my_var для строковых переменных корректно не работает
George
либо пускай предложат нормальный вариант сделать то же самое, но по-правильному
Timur
Есть вот такой вариант:
when: my_var | length
Timur
Кто что думает на этот счет?
George
George
!= '' короче на 3 символа
MRY
Всем привет. Не подскажите какой лучше модуль юзать для добавления хостов в инвентори файл после создания VM из темплейта ?
Vadim
add_host
Timur
MRY
его как лучше юзать до или после wait_for_connection:
MRY
?
Timur
До, разумеется
MRY
ок
MRY
спасибо
Timur
Иначе к чему вы коннектиться будете?
Timur
MRY
add_host добавит записи в файл инвентори из которого началось исполнение или же добавит в дефолтный инвентори новые записи ? В официальной документации к модулю нет описания как указать кастомный инвентори файл в который надо добавить новые записи.