Grek 🇺🇦
pзачем луп, есть with-items, не работает так?
Grek 🇺🇦
что в /etc/apt/source.list?
Andrew
Руками добавляется без проблем. Я именно модулем ансибла не могу его добавить
Andrew
pзачем луп, есть with-items, не работает так?
в документации вроде написано что лучше луп использовать. А так одно и тоже
Grek 🇺🇦
эм, а state где?
Andrew
Типо - name: Add_unvierse apt_repository: repo: 'universe' state: present ? Тоже самое
Grek 🇺🇦
и ошибок в плее при запуске нет?
Grek 🇺🇦
что записывается в сорс лист?
Andrew
и ошибок в плее при запуске нет?
Есть, просто что не может найти репозиторий universe "msg": "Invalid repository string: universe"
Grek 🇺🇦
это в первом случае, а во втором, там где вы циклом проходите?
Andrew
Репозиторий устанавливается, но при этом у меня ломается работа с пакетами и при sudo apt-get update пишет что файл неправильный и не может быть использован. В этом файле записан universe репозиторий и фиксится только если удалить. Как-то так
Andrew
cat /etc/apt/sources.list | grep ^deb
Сейчас universe нету, если вы об этом. Я его удалил. Задача установить его через ансибл
Aleksey
а когда "ставите" что в сорцах?
Andrew
а когда "ставите" что в сорцах?
Извинити, я пока еще не совсем знаком в ансибле. Что такое сорцы?
Aleksey
это просто урлы. и у меня вообще другие. вы зайдите по вашим
Grek 🇺🇦
Aleksey
https://t.me/pro_ansible/144313
Andrew
А, тут такие же
Grek 🇺🇦
по-моему нас тролят
Aleksey
ну, вы просто убираете диез из apt source.list или снова его ставите. это вообще ничего не ломает, если данные хосты доступны
Andrew
Да в смысле? cat /etc/apt/sources.list | grep ^deb и у меня вывело список реп активныъх, как я понял
Andrew
Это на тему тролинга...
Aleksey
тут не грузятся никакие ключи, никакие метапакеты. тупо коммяентятся или включаются строки
Grek 🇺🇦
уважаемый, добавьте 3 ваших репо в сорс листы ручками, сделайте апдейт - работает? добавьте их ансиблом, посмотрите чем файл отличается? и не совсем понятно что значит "ломается работа с пакетами"
Grek 🇺🇦
Да в смысле? cat /etc/apt/sources.list | grep ^deb и у меня вывело список реп активныъх, как я понял
на тему тролинга - мы в душе не чаем что там у вас, а ответ - тоже самое - ну тогда и разбирайтесь сами
Aleksandr
Может для начала вручную попробовать добавить репы и понять как это работает без использования ansible
Andrew
Окей, понимаю, буду пробовать. Просто из того что я прочитал в интернете в принципе есть проблема с добавлением этого репозитория и думал мб кто-то сталкивался. Сори
Aleksey
Окей, понимаю, буду пробовать. Просто из того что я прочитал в интернете в принципе есть проблема с добавлением этого репозитория и думал мб кто-то сталкивался. Сори
это стандартный репо. он не добавляется. он просто разрешается. так как в убунте изначальная политика на пуританскую чистоту. дабавление это чуть иное. это когда вам надо что-то от вообще иных мантейнеров. например перкону вместо мейнстрима
Grek 🇺🇦
есть проблема с короткой записью, когда просто universe прописать. а если добавлять полный адрес репо - должно рабьотать
Andrew
Окей, как бы вы написали add-apt-repository universe модулем ансибла?
Ян
вечер добрый. знает кто ровный способ сохранять vault переменные в awx кроме как складывать их в репы с плейбуками?
Ян
в job template их складывать не получается, валидатор на синтаксис ругается, хотя там им самое место ибо от туда и цепляются креды для них...
Ян
в инвентори тоже не получается сохранить. точнее оно как-бы сохраняет, но потом переменная от туда просто пропадает...
Aleksey
Окей, как бы вы написали add-apt-repository universe модулем ансибла?
https://docs.ansible.com/ansible/latest/modules/apt_repository_module.html и там первый же пример # Add specified repository into sources list. - apt_repository: repo: deb http://archive.canonical.com/ubuntu hardy partner state: present
Aleksey
Окей, как бы вы написали add-apt-repository universe модулем ансибла?
там видите? полный урл! полный - ключевое слово
Anton
Привет. Ребят а как использовать плебук на один сервер? ansible-playbook uninstall-zabbix.yaml -m dc-sh01.simcord.stg --check -i /etc/ansible/hosts_win
Anton
както так?
inqfen
Все-таки не понял limit или run_once надо
inqfen
Но что-то из этого
Владимир
Коллеги, приветствую. помогите плиз новичку. Как в шаблоне указать хост, который собственно нужно будет дернуть из inventory?
inqfen
В каком шаблоне?
Anton
Все-таки не понял limit или run_once надо
в хостс файле несколько окружений, у каждого окружения по несколько серверов. Мне нужно применить плебук к одному конкретному серверу из одного конкретного окружения
inqfen
Ну тогда --limit
inqfen
в доке cli есть
Владимир
имеем роль, в template лежит шаблон j2. нужно как-то в шаблоне задать, чтобы имя хоста бралось динамически из inventory файла при запуске
Anton
Ну тогда --limit
ansible-playbook uninstall-zabbix.yaml --check --limit dc-sh01.simcord.stg -i /etc/ansible/hosts_win/
Anton
так?
inqfen
Не вижу содержания файлов, но в целом да
Anton
да, оно. спасибо
inqfen
А вообще инвентори в /etc хранить моветон
inqfen
У кажого проекта инвентарь свой, вот пусть в проекте и живет
Ivan
доброго дня. а не подскажут ли уважаемые гуру ансибла отчего после попытки сделать meta: refresh_inventory (используется динамический инвентарь на питоне) импорт плейбуки с тасками (плейбука с этим инвентарем корректно отрабатывает если запустить отдельно) может падать с ошибкой fatal: [х.х.х.х]: FAILED! => {"reason": "unexpected parameter type in action: <type 'bool'>\n\nThe error appears to be in '/path/playbook.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- hosts: all\n ^ here\n"}
Ivan
динамический инвентарь используется чтобы добавить в хост переменную ansible_password для новосозданного хоста, пароль прилетает из стороннего хранилища к которому обращаюсь через питон
Oleg
привет, не могу в доке найти как для таска установить таймаут.
Oleg
wait_for: timeout: 300 это оно?
Sergey
нет. как задача выглядит изначальная?
Ivan
плейбук в студию
плейбук сам по себе совершенно валидный - отдельно с инвентарем запускается. выглядит вот так https://pastebin.com/LXen2ziV
Oleg
нет. как задача выглядит изначальная?
у меня есть ансибл-плейбук. в котором таск вида - name: Deploy scripts git: repo: "http://host/path/repo.git" dest: "/opt/scripts" update: yes clone: yes register: git_res ignore_errors: yes no_log: yes на некоторых хостах его деятельность висит вечно при выполнении цепочки команд /usr/bin/git fetch origin которая ждет git-remote-http origin http://host/path/repo.git пока непонятно почему, возможно сеть. но это не должно стопорить плейбук навечно
Sergey
плейбук сам по себе совершенно валидный - отдельно с инвентарем запускается. выглядит вот так https://pastebin.com/LXen2ziV
Эммм..... Прошу прощения, неточно выразился. Простыни в чате люто не приветствуются, их на pastebin.org или куда удобно, а сюда - только ссылку.
Ivan
Эммм..... Прошу прощения, неточно выразился. Простыни в чате люто не приветствуются, их на pastebin.org или куда удобно, а сюда - только ссылку.
Извиняюсь. Учту. пытаясь обойти необходимость запускать динамический инвентарь, чтобы получить ansible_password не могу понять можно ли как-то использовать имеющийся ансибл лукап плагин для tycotic secret server чтобы непосредственно в плейбуке получить пароль с которым коннектиться к тем серверам для которых ранается плейбука и использовать его для коннекта. Всем таскам прописывать become кажется совершенно глупым.
Sergey
И код всё же переложи, будь добр.
Sergey
уже
👍🙏🏻
Ivan
просто читаете его откуда хотите (из файла, из переменной, из базы, с потолка), регаете хост add_host, к нему в переменных все указываете (все как в инвентаре), и потом запускаете таску с delegate_to
не совсем понятен порядок выполнения и обращения к хостам если их больше одного 0. Питон скрипт по списку айпи адресов формирует динамический инвентарь где для каждого хоста указывается куча данных, но пароля еще нет 1. playbook1 используя данные из динамического инвентаря и при помощи delegate_to: localhost проводит опрерации по созданию VM. 2. VM создаются, в отдельном месте для каждой генерируется пароль. 3. Для каждого хоста есть возможность получить пароль при помощи плагина "{{ lookup('secret_server', hostvars[inventory_hostname].name + '\\administrator')['password'] }}" как именно запустить плейбуку c используя свой пароль для каждого из имеющейся группы хостов? Для них уже готов набор данных в переменных хостов кроме пароля делать add_host для каждого при помощи with_items и как-то перекладывать переменные из уже готового динамического инвентаря в каждый хост по отдельности? Проще никак? Может можно как-то отредактировать на лету уже готовый динамический инвентарь добавив для каждого созданного хоста ansible_password?
Aleksey
В каждом потоке исполнения для каждого хоста есть все кроме пароля и это из инвентаря. 1.создаете новый хост с каким-то служебным именем как add_host, где в переменных указываете все настройки из текущего хоста + добавляете полученный пароль. и далее по схеме