Stepan T.
У твоей задачи дэдлайн есть?
Vadim
нет
Stepan T.
Ну читай.
Alexander
Не встречали пособие по созданию network модулей? На ansible.com как-то чересчур в общих чертах.
Timur
Этот чел - автор кучи ролей. Он неплохо так в Анисбл умеет.
Но некоторые его подходы к ролям довольно сомнительны. Он много чего хардкодит
Alex
Для новичков - норм. Главное - не копировать слепо его стиль
А есть примеры образцовых ролей с учетом всевозможных best practice
Timur
Ну, для нас такими стали роли наших проектов, которые мы выкладываем в открытый доступ. Некоторые мы делали на основе ролей того же Гирлинга, но пришлось их очень сильно дорабатывать напильником до нормального состояния
Timur
cloudalchemy, в принципе, неплохие роли делает
Iwan
Я им пользуюсь, сетку только создаю сначала, а потом атачу в неё контейнеры без всяких линков
Подскажите пожалуйста, а у вас используется релизные образы? То есть image: repo/release/0.2/appname:tag Как в этом случае лучше передать изменение в номере образа?
Timur
Некоторые умеют учиться не только на своих ошибках
Stepan T.
И куча сломанных граблей и набитых шишек
Это нормально. Главное внимательно смотреть в доки и не нарушать best practices
Stepan T.
Все учатся от простого к сложному. Всегда.
Iwan
Я его собираю с тегом на коммите и гитлаб собирает и пушит с версией тега
Понял, а полное имя образа как передаётся чтобы его запустил ансибл через extra-args или по-другому?
Andrey
Понял, а полное имя образа как передаётся чтобы его запустил ансибл через extra-args или по-другому?
Ну я так только придумал. Можно в принципе сделаеть шаг и переименовать крайний тег в латест
Iwan
Ну я так только придумал. Можно в принципе сделаеть шаг и переименовать крайний тег в латест
Понял, спасибо за информацию вам) У меня в целом вот такие имена образов: 172.22.130.63:8083/nsi-docker-repository/develop/nsi-ui:latest (+1 образ с номером коммита) но для релиз бранча будет вставляться release/1.0 и т.д.. т.е - 172.22.130.63:8083/nsi-docker-repository/release/1.0/nsi-ui:latest - вот и думаю, как лучше решить изменение названия образов
Andrey
На коммит который в прод поедет
Iwan
nsi-ui:release1.0 , git tag add release1.0
Немного доехать не могу до вашей мысли, я всё имею ввиду как быть с этим на примере старта контейнера?: - name: nsi-ui | Frontend docker_container: name: test image: 172.22.130.63:8083/nsi-docker-repository/develop/nsi-ui:latest pull: yes ports: - '27018:80' Всё, что приходит в голову после сборки передавать через в extra-args какой образ он должен стянуть..
Timur
Какие у вас проекты?
В смысле? У нас разные проекты. Может, вас интересует, какие у нас есть роли?
Vadim
Роли да
Timur
Вот тут можете посмотреть, например: https://galaxy.ansible.com/lean_delivery
Timur
Или напрямую в гитхабе: https://github.com/lean-delivery
Iwan
Latest это зло
У меня в целом вот такие имена образов: 172.22.130.63:8083/nsi-docker-repository/develop/nsi-ui:latest (+1 образ с номером коммита)
Vadim
Или напрямую в гитхабе: https://github.com/lean-delivery
спасибо , посмотрим и попробую использовать, пока переходить на ансибл)
Vadim
центось нету в ролях, вроде популярный дистр
Vadim
хотя EL видимо редхат
Timur
Чего и где нету?
Timur
хотя EL видимо редхат
Да, в классификации Ansible Galaxy EL - это CentOS/RedHat
Vadim
не видел такого сокращения раньше EL
Gleb
хотя EL видимо редхат
энтерпрайз линукс это el
Timur
RHEL тоже не видели?
Vadim
RHEL видел
Gleb
не видел такого сокращения раньше EL
где то примерно около 100500 лет так пишут
Vadim
где то примерно около 100500 лет так пишут
в ансибле?) я там новенький, в других местах не видел
Vadim
java role самая популярная у вас)
Gleb
в ансибле?) я там новенький, в других местах не видел
со времен 3 рхеля точно помню. даже репы от сообщества для центоса называются ELrepo например
Vadim
corretto недавно добавили, думаю может ее использовать
Vadim
ASK [lean_delivery.java : Install requirements] fatal: [192.168.1.39]: FAILED! => {"msg": "Missing sudo password"}
Vadim
первая попытка завершилась неудачей
Timur
первая попытка завершилась неудачей
Дайте аккаунту ансибла права sudo
Timur
Очевидный момент же
Vadim
не знаю, я добавил ключ удаленной тачки на локальную, соединение к удаленной тачке есть, sudo у пользователя есть, кому давать sudo ?
Vadim
пользователь локальной и удаленной тачки одинаковый, sudo имеет
Vadim
для меня не очевидно что делать
Гайрат
Vadim
Почитать код роли?
я смотрю код, но я же плохо пока разбираюсь, для меня вот еще ансибл непонятен тем, что его сложно использовать пока не разберешься в роли так как будто сам ее и написал
Vadim
- name: Install requirements package: name: >- {{ java_package_requirements | union(java_extra_package_requirements) | unique }} state: present register: installed_packages retries: 10 delay: 5 until: installed_packages is succeeded when: transport != 'repositories'
Vadim
Значит, не имеет раз ошибка возникает
ошибка же не о том что пользак не sudo, а о том, что пароля нет
Timur
А у вас права sudo пароля требуют?
Vadim
да, надо же пароль пользака ввести
Vadim
в 1ый раз
Vadim
при подключении к сессии
Timur
Дайте юзеру права sudo без пароля
Timur
Иначе проблем не оберетесь
Vadim
это же на удаленной тачке надо делать?
Vadim
по дефолту в убунту требуется пароль судо, то есть на всех виртуалках отключать требование пароля
Timur
В амазоне, например, у всех инстансов Ubuntu при подключении с админской учеткой ubuntu есть права sudo без пароля
Timur
Да, можно попробовать на уровне плейбука become_pass задать
Timur
Но лучше вообще требование пароля для sudo убрать для аккаунта ansible
Vadim
пароль неохото указывать конечно
Vadim
меня и самого задалбывает на убунтах пароль вводить, надо отключать это
Vadim
ну дальше
Vadim
TASK [lean_delivery.java : Install java 8.*] fatal: [192.168.1.39]: FAILED! => {"changed": false, "msg": "Failed to find handler for \"/tmp/java-1.8.0-amazon-corretto-jdk_8.242.08-1_amd64.deb\". Make sure the required command to extract the file is installed. Command \"/usr/bin/unzip\" could not handle archive. Command \"/bin/tar\" could not handle archive."}
Vadim
tar.gz поставился, а deb не ставится