Дмитрий
Я, если что, ansible только начал изучать. Вот, начал разбираться в простых командах, а тут хрень какая-то вылезла..
Игорь
Чего запустить?
ash установлен?
Дмитрий
ash установлен?
Как проверить?
Игорь
Как проверить?
в консоли команда ash
Игорь
Нет
ну значит, стоит поразбираться, что за fd 9 использует ssh/Ansible
Дмитрий
А ты его изучай на внятных платформах - CentOS/Debian, например.
На данный момент стоит задача запустить его с моего компа. Под Windows 10 локально только Ubuntu идёт в коробке. На удалённых тачках этой проблемы и нет.
Игорь
VirtualBox так-то.
Да, запускать винду без виртуалбокса та еще идея
Timur
VirtualBox так-то.
Под WSL тоже работает норм
Игорь
Да
Просто удали виндоус и поставь хоть тот же Ubuntu
Дмитрий
Под WSL тоже работает норм
Вот не работает что-то...
Sergey
Под WSL тоже работает норм
У тебя - по-любому :-)))))
Дмитрий
Просто удали виндоус и поставь хоть тот же Ubuntu
Норм совет. Просто перейдите на другую ось, когда столкнулись с ошибкой... =)
Игорь
Elenhil
Норм совет. Просто перейдите на другую ось, когда столкнулись с ошибкой... =)
ну юзать ту ось, которая у вас на проекте - это так абсолютно нормальная практика
Timur
А вот Ubuntu локальная из под Винды. ansible all -m ping -vvv ansible 2.9.6 config file = /home/dlukyanov/ansible/ansible.cfg configured module search path = ['/home/dlukyanov/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3/dist-packages/ansible executable location = /usr/bin/ansible python version = 3.8.2 (default, Jul 16 2020, 14:00:26) [GCC 9.3.0] Using /home/dlukyanov/ansible/ansible.cfg as config file host_list declined parsing /home/dlukyanov/ansible/hosts as it did not pass its verify_file() method script declined parsing /home/dlukyanov/ansible/hosts as it did not pass its verify_file() method auto declined parsing /home/dlukyanov/ansible/hosts as it did not pass its verify_file() method Parsed /home/dlukyanov/ansible/hosts inventory source with ini plugin META: ran handlers <srv-dbastudy-ora01> ESTABLISH SSH CONNECTION FOR USER: dlukyanov <srv-dbastudy-ora01> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="dlukyanov"' -o ConnectTimeout=10 -o ControlPath=/home/dlukyanov/.ansible/cp/867fe300c3 srv-dbastudy-ora01 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /tmp/ansible-tmp-1603452657.9310288-215449738235542 `" && echo ansible-tmp-1603452657.9310288-215449738235542="` echo /tmp/ansible-tmp-1603452657.9310288-215449738235542 `" ) && sleep 0'"'"'' <srv-dbastudy-ora01> (1, b'', b'eash: write(0): Bad file descriptor (9)\n') <srv-dbastudy-ora01> Failed to connect to the host via ssh: eash: write(0): Bad file descriptor (9) srv-dbastudy-ora01 | UNREACHABLE! => { "changed": false, "msg": "Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in \"/tmp\". Failed command was: ( umask 77 && mkdir -p \"` echo /tmp/ansible-tmp-1603452657.9310288-215449738235542 `\" && echo ansible-tmp-1603452657.9310288-215449738235542=\"` echo /tmp/ansible-tmp-1603452657.9310288-215449738235542 `\" ), exited with result 1", "unreachable": true }
А remote_tmp пробовали задать в конфиге?
Дмитрий
ну юзать ту ось, которая у вас на проекте - это так абсолютно нормальная практика
У меня много осей на проекте. На десктопе у меня винда, т.к. там есть куча нужных мне инструментов. Менять свою ОСь из-за какой-то местячковой ошибки - тупость. Я вообще не понимаю, почему мы это обсуждаем. Просто потому, что винда - говно, и все ставьте линукс? Просто потому, что я так хочу? 🤔
Дмитрий
А remote_tmp пробовали задать в конфиге?
Да. Пробовал прописывать там и /tmp и другие варианты.
Дмитрий
А remote_tmp пробовали задать в конфиге?
#remote_tmp = /tmp/.ansible-${USER}/tmp #remote_tmp = /tmp Не сработало
Elenhil
а не юзать хрен-пойми-как-работающие мс костыли)
Дмитрий
потому что работать с линух системами проще удобней и правильней с линукс системы, хотя бы и в виртуалочке?
Ок. Спасибо, что раскрыли мне глаза. А то последние охулиард лет админю никсы из под винды, а тут понял, что что-то не так..
Дмитрий
Дмитрий
Данная проблема с Ansible вообще прям критичной не является. Я могу создать в ЦОД тачку на линуксе, и из под неё делать. Просто хочется разобраться, в чём проблема. С локальной тачки всё ж прямее было бы им пользоваться.
Игорь
не существует fd 9
Sergey
....причём на целевой тачке с нестандартным шеллом.
Игорь
что это такое и откуда он взялся в коде — удачи в раскопках :)
Игорь
....причём на целевой тачке с нестандартным шеллом.
ну ash где-то стандартный. только Дмитрий же сказал, что его нет
Дмитрий
ну ash где-то стандартный. только Дмитрий же сказал, что его нет
Я на локальную тачку поставил уже. Ток не разобрался пока, что с ним делать.
Игорь
👆🏻
на той машине где проблема же
Дмитрий
Больно круто на всех управляемых серверах под Ansible менять shell... Это явно не тот подход.
Дмитрий
Тем-более, что я вижу, что с другой машины всё работает.
i4l
пользаку шелл поменять?
Дмитрий
Оно ж закомменчено у вас
Я просто скопировал, что есть сейчас. Пробовал разные варианты. Потом закоммнтил, когда понял, что не работают.
Timur
Авторизация по ключу идет?
Timur
Можно попробовать в ssh-agent ключ закинуть
Дмитрий
Авторизация по ключу идет?
Сейчас да. Но без ключа та же ошибка была. Я пробовал разные варианты
tutunak
Сейчас да. Но без ключа та же ошибка была. Я пробовал разные варианты
Ну и попробуй чистый wsl свеже поставленный. Но ansible не гарантирует работу в wsl
Дмитрий
tutunak
WS1 вроде
Попробуй второй. И с чистой системой. Во втором виртуализация уже. Так что имхо лучше должно быть.
i4l
тестирую из первого wsl пару лет почти, писались модули - ок работало вроде
i4l
виртуалки цента и сусло
i4l
ключи, рут и отдельный пользак
i4l
убунта )
tutunak
Попробовал WSL2. Попробовал OpenSUSE. Та же хрень... 🤔
Ну тогда хз, какой то кастомный конфиг, знаю людей у которых работает, сам не пробовал
Mai
а ни у кого случаем нем ссылочки на какой ФАК или плейбуку чтобы сделать файрвол между хостами в группе? то есть для каждого хоста из группы нужно добавить количество правил равное количеству хостов в группе.. и вот это не получается, {{ groups[‘name’] }} ересь возвращает 🙁
Div
добрый день, коллеги. нужно заменить в строке вида tt/tt/tt / на : делаю по доке "{{ tt/tt/tt | regex_replace ('/\', ':') }}" но получаю отлуп что конструкция '/\' не валидна.
Div
тут нужен гуру регулярок или это ансибль мне карму портит?
Div
от спасибо тебе, гуру))
Mai
"{{ \"tt/tt/tt\" | regex_replace ('\/', ':') }}"
Mai
а гуру по группам не имеется не? 🙂
Div
спят еще наверное.
Nikolay
Лучше самому научиться, там не так сложно
Mai
спасибо, регексп мне не нужен.
Mai
мне нужно из группы в инвентаре вынять все ip хостов списком для таски
Mai
но {{ groups[‘name’] }} дает ересь 🙁
Div
Лучше самому научиться, там не так сложно
я не чураюсь учиться, но иногда путаюсь
Nikolay
я не чураюсь учиться, но иногда путаюсь
Ну если нужна группа в регулярке, то сайт поможет. Там и про именованные группы есть, и про индексные
Nikolay
Что из чего вытащить?ipv4 или 6?
Mai
4.. https://pastebin.com/ke1LjyVY - вот это мне возвращает groups[‘redis’]…
Отделение Bereke Bank
мне нужно из группы в инвентаре вынять все ip хостов списком для таски
https://github.com/erzh1906/kubernetes-playbook/blob/master/roles/k8s_etcd_crt/tasks/main.yml#L5
Mai
о, оно, спасибо!
Vitaliy
зачем тут вообще regex_replace если можно просто replace "{{ tt/tt/tt | replace ('\', ':') }}"