Ruslan
Они его допилили наконец?
а в community версии плагин работает?
Кто пользуется PyCharm для ansible подскажите, в нем есть аналог плагина "remote" в vscode? Чтобы можно было подключиться на удаленную тачку и с нее разрабатывать.
Ruslan
Ruslan
У меня sysvinit
Lamobot
Там по умолчанию он. Скорее всего в этом проблема, судя по ошибке
Ruslan
Это я как раз понял)
Ждун
ansible.windows.win_command: 'powershell.exe -ExecutionPolicy ByPass -File C:{% raw %}\\{% endraw %}Scripts{% raw %}\\{% endraw %}extend-vm-due.ps1 -ComputerName "{{computer}}" -DueDate "{{due}}"'
Ждун
попробовал так не палит (
tutunak
tutunak
Ruslan
да это наследие, может в следующем году на systemd перейдем
Ждун
https://pastebin.ubuntu.com/p/gNYJvh9j68/
Ждун
я попробовал стандартный таск от win_shell и та же ошибка
Get-AnsibleParam: Missing required argument: _raw_
Ждун
решил обновить ansible до последней версии то же самое (
Ждун
ansible-playbook 2.9.4, python 2.7
AlexShmel🐝
Lamobot
Lamobot
В плейбуке укажите
AlexShmel🐝
https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html#using-python-3-on-the-managed-machines-with-commands-and-playbooks
To explicitly configure a Python 3 interpreter, set the ansible_python_interpreter inventory variable at a group or host level to the location of a Python 3 interpreter, such as /usr/bin/python3. The default interpreter path may also be set in ansible.cfg.
AlexShmel🐝
may also be set in ansible.cfg.
AlexShmel🐝
я неправильно понял ?
Lamobot
я неправильно понял ?
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#interpreter-python
Опция в ansible.cfg - interpreter_python просто
AlexShmel🐝
AlexShmel🐝
Константин
День добрый, не получается экранировать символ «\»
- name: Systemd | Run services
command:
cmd: "systemctl start {{ item.proc }}\\@{{ item.num_proc }}.service"
with_items: "{{ systemd_procs }}"
вывод:
changed: [192.168.225.202] => (item={'proc': 'laravel-worker', 'num_proc': '{1..5}'}) => {
"ansible_loop_var": "item",
"changed": true,
"cmd": [
"systemctl",
"start",
"laravel-worker@{1..5}.service"
],
"delta": "0:00:00.004723",
"end": "2020-11-17 07:47:41.491351"
Отделение Bereke Bank
Vladislav 👻
Я могу сказать как, но придет @tnt4brain и скажет, что не надо давать плохие советы, ибо тут башсибл...
Lamobot
Константин
Vladislav 👻
Ну циклы вы освоили, что мешает на модуль переписать?
Константин
хмхммм
а ведь действительно
можно же написать worker@1.service worker@2.service worker@3.service вместо worker\@{1..3}.service
Константин
что-то голова не варит до обеда, спасибо)
Ждун
Александр
спасибо попробовал вписать все флаги и becomeы... даже стандартный пример из доки с такой же ошибкой все равно упал.... так что дело не в параметрах скрипта.... а вот попробовать добавить пользоватя в логон идея интересная. попробую конечно, хотя под этим пользователем даже без бекама работает win_copy
имхо, смотри всё-таки переменные и параметры, в т.ч. и сам пошскрипт, куда ты передаёшь эти параметры: -ComputerName {{ computer }} -DueDate {{ due }}
у меня так работает часть деплоя, при которой с windows-билд-серверов пошскриптами с параметрами выполняется копирование билдов на тесты и препрод
всё нормально исполняется при этом, запускается всё ансиблом с линуксового гитлаб-раннера
но я пользую только дефолтные win-модули ансибла, т.е. просто win_command, win_shell и т.п., хотя это без разницы наверное
ну и для проверки возьми другой какой-нибудь простой пошскрипт с параметрами и попробуй передать этому пошскрипту параметры через плэйбуку ансибла, но без переменных, а просто захардкодить
Александр
ещё можешь глянуть настройки powershell и winrm на хосте виндовом, где пытаешься запускать пошскрипт, может быть там запрет какой на remote-запуск скриптов, или ещё чего подобное
возьми чистую виртуалку с виндой, настрой winrm для ансибла скриптом с гитхаба по-умолчанию и попробуй всё это на чистой винде с последним powershell
Ждун
- name: Run multi-lined shell commands
ansible.windows.win_shell: |
$value = Test-Path -Path C:\temp1
if ($value) {
Remove-Item -Path C:\temp1 -Force
}
New-Item -Path C:\temp1 -ItemType Directory
я и пишу что из доков что-то дефолтное с той же ошибкой падает
Ждун
но спасибо, дал много идей различных куда можно копать
Игорь
Подскажите, есть raw task вида:
- name: install python2 on ubuntu 18.04 instances
hosts: "*"
gather_facts: false
tasks:
- name: run apt-get update and install python
raw: "{{ item }}"
loop:
- sudo apt-get update
- sudo apt-get -y install python
become: true
он фейлится с /usr/bin/python No such file or directory
в чем может быть причина?
UglyKoyote
UglyKoyote
он же ругается - что бинарник питона не нашел по указанному пути
Alex
Lamobot
Но это на минимальной серверной установке
Игорь
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/raw_module.html
Lamobot
Alex
Игорь
UglyKoyote
ну он походу жинжу и пытается отработать, а питона то нету))
Alex
ну самый просто способ просто засунуть в одну команду
sudo apt-get update && sudo apt-get -y install python
Игорь
loop обрабатывается на управляющем хосте
Игорь
Alex
а точно на этом таске фейлится?
Игорь
других тасок в плейбуке нет
UglyKoyote
у тебя
gather_facts: false
по той ссылке что скинул
act gathering using gather_facts: no
UglyKoyote
а то ты ссылку скинул, а сделал по другому
Игорь
UglyKoyote
ты пробовал с no?
UglyKoyote
как в доке, ссылку на которую ты сам скинул
Игорь
попробовал на всякий случай, no luck
Lamobot
И ещё вопрос, а ансибл то вообще запускается? Может это ошибка на запускающей машине :)
UglyKoyote
ну тогда -vvv добавляй, и смотри что в выхлопе
Игорь
UglyKoyote
магии не бывает
Alex
думаю нет смысла гадать. а лучше увидеть вывод с -vvv или -vvvvv
Grek 🇺🇦
А что за хост *? Это законно?
Игорь
все то же самое, в выводе с -vvv видно, что bash отдает ошибку
Alex
закинь на какой нить pastebin
Игорь
<...> child for Connection(None) started <...> (unrecognized) bash: /usr/bin/python not found<...>
Игорь
а, понял, это митоген глючит
Grek 🇺🇦
risovach.ru.jpg (500×366)
Игорь
https://github.com/dw/mitogen/issues/266
Simply does not work currently with latest Mitogen release
Игорь
заработало с - hosts: all
strategy: linear
Игорь
Игорь
но явно не best practise