Lex
https://github.com/jhaals/ansible-vault
Mikhail
Всем привет. Может кто сталкивался. Ансибл может с Cisco вытащить ip и записать эти переменные, чтобы потом их использовать в новой конфигурпции?
Tadeusz
циско позволяет ансиблу по ssh зайти и имеет на борту питон?
Mikhail
Ssh есть, питона на ней нет
Tadeusz
забудьте тогда :)
Mikhail
Я понял;)
Yuriy
так есть же поддержка циско какая-то
Yuriy
http://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html#ios
Yuriy
ансибл, как я понял, активно начали по сетевым железкам развиваться
Artem
Ну там же не для всех цисок вроде. Только для оч дорогих
Artem
Ошибаюсь?
Tadeusz
попробуйте :)
Artem
У меня нет цисок)
Tadeusz
ну эт было адресовано к вопрошающему)
Anton
ios_command
Ostap
всем привет. как правильно запускать команду на локальном хосте. инетресует команда npm install. но запуск на ПК где запущен playbook
Ostap
есть: local_action, delegeta_to. но что использовать ?
Vadim
local_action
Ostap
- name: Install frontend dependencies local_action: module: npm path: "{{ playbook_dir }}../" tags: - npm
Ostap
получаю TASK [common : Install frontend dependencies] ****************************** fatal: [192.168.33.110 -> localhost]: FAILED! => {"changed": false, "msg": "Failed to find required executable npm in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"} to retry, use: --limit @/vagrant/provision/index.retry
Ostap
npm локально інфа 146% что установоен
Ostap
я еще спростил - name: Test local_action local_action: module: debug msg: "The dir: {{ playbook_dir }}" -- TASK [common : Test local_action] ****************************************** task path: /vagrant/provision/roles/common/tasks/main.yml:177 ok: [192.168.33.110 -> localhost] => { "msg": "The dir: /vagrant/provision" }
Ostap
почему так ?
Ostap
подозреваю, что проблема в ansible_local, но как с ней жить ?
Vadim
а что говорит which npm?
Vadim
подозреваю что оно алиасом в баше прописано
manefesto
для цисок и прочих железок есть expect
manefesto
https://docs.ansible.com/ansible/2.5/modules/expect_module.html
Ostap
проблема в том, что для него local это vagrant
Ievgen
так это не проблема
Ievgen
вернее даже не так
Ievgen
внутри вагранта очевидно local_action не имеет смысла так как ты там и так уже локально
Ievgen
Внутри бокса есть npm?
Ievgen
ну и в целом какая задача?
manefesto
мне кажется надо поставить npm
manefesto
точнее nodejs
Ievgen
ну как бы если задача накатить внутри бокса модули через npm то логично что он там должен быть
manefesto
но не факт что он там есть
Ievgen
npm локально інфа 146% что установоен
именно это я и подозревал ), что человек спутал хост и вагрант
Ievgen
ну и то что вагрант сетапит себя изнутри
manefesto
пошел ставит вагрант, колупать его
Ievgen
хорошая штука, как почти все от хашикорп
manefesto
я его щупал, кстати в книге по ансиблу примеры идут как раз с вагрантом
Ievgen
пакер еще, и тоже работает с ansible
Ievgen
собираешь пакером вагрант бокс накатывая стартовые роли, затем подымаешь сам бокс накатывая сервисы )
manefesto
что за пакер ?
Ievgen
и наступает полный заебись
Ievgen
https://www.packer.io/intro/use-cases.html
Ievgen
делает образы вм под все что шевелится
Ievgen
use case - тебе нужен вагрант бокс для дев например, берешь пакер, iso image, ansible, сам вагрант и вперед
Err
Ребята помогите. Хочу создать юзера и установить через этого юзера rbenv. Проблема в том что become: true и become_user: user1, во всех вариациях, не делают дают видимость $PATH от user1, а продолжает давать либо подключённого юзера либо рут, кто нибуть сталкивался с таким?
manefesto
не понял
Ievgen
тут есть что то похожее
Ievgen
https://serverfault.com/questions/734560/ansible-become-user-not-picking-up-path-correctly
Salem
оно не дает шелл в точности как у юзера
manefesto
если целяешься под рутом, то можешь в блоке сделать become_method: su и в начала блока что-то вроде shell: source ~/.bashrc
Ievgen
если целяешься под рутом, то можешь в блоке сделать become_method: su и в начала блока что-то вроде shell: source ~/.bashrc
а этот source не закончится случайно там же где и начался? на уровне таска shell?
manefesto
если всё засунешь в block то нет
Ievgen
я так не извращаюсь, но good to know
manefesto
почему же ? мне надо выполнить определенные действия под непривилигированным юзером, пихаю в block и вуаля, но, мы допустим в блок можем запихать определенные дествия и запускать только при условии что when:....
manefesto
я вот такое сделал become: true become_method: sudo become_user: root when: ('"nothing added to commit but untracked files present" not in git_api_commit.stdout' and '"nothing added to commit but untracked files present" not in git_api_commit.stdout')
Ievgen
я не про блок, а про переменные, блок офигенен
Ievgen
@mamyrkhanov а как ты вызываешь rbenv можно таск глянуть?
Ievgen
просто есть очевидные решения типа сделать source что то прямо в таске вызова rbenv или запустить через например bash -c
Aleksei
А есть в ансибле что-то встроенное для того чтобы обеспечить dual control на запуск тасков?(типа я хочу запустить, но кто-то еще должен подтвердить этот запуск)
Err
@mamyrkhanov а как ты вызываешь rbenv можно таск глянуть?
command: rbenv install 2.0.0 Делал с добавлением become: true и с become_user: user1 и без них , во всех 4ех вариациях. В .bashrc и .profile удалял non interactive команду пропуска
Err
Думал сделать как обычно это делается, без указания точных путей
Ievgen
не прокатило?
Err
fatal: [35.196.209.175]: FAILED! => {"changed": true, "cmd": ["rbenv", "install", "2.0.0"], "delta": "0:00:00.017395", "end": "2018-04-13 10:01:30.504790", "msg": "non-zero return code", "rc": 1, "start": "2018-04-13 10:01:30.487395", "stderr": "rbenv: /home/user1/.rbenv/versions/2.0.0 already exists", "stderr_lines": ["rbenv: /home/user1/.rbenv/versions/2.0.0 already exists"], "stdout": "", "stdout_lines": []}