Anonymous
В ансибле ж нет механизма задать host_vars по какой-нить маске?
Max
В ансибле ж нет механизма задать host_vars по какой-нить маске?
Идея статического инвентаря - что маски не нужны. и можно создавать виртуальные группы по маскам. только это... принципиально странно.
Max
поясни юзкейс, плиз.
Отделение Bereke Bank
А, ну ок тогда
работает 👍🏼
Отделение Bereke Bank
если интересно 😂
Anonymous
Хочу поставить гитлаб через ансибл, там во время инсталяции нужно передавать внешний URL sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce но на сколько я вижу через штатный модуль yum это сделать нельзя, как сделать правильно ?
Gleb
это для конфига же, поправь конфиг потом
Gleb
экстернал урл это переменная окружения? сделай environment если очень хочется
Anonymous
ну да можно потом поправить, но хотелось бы сразу при инсталяции задавать
Gleb
https://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html
Gleb
должно помочь
Anonymous
оно, спасибо
Anonymous
ну так можно, но не оч хочется, вариант от Глеба очень даже правильный и подошел
Anonymous
да я понял. Так и сделал
Max
супер
Anonymous
@ep4sh будет жить. Поприветствуем!
ep4sh
Привет, можно вычислять переменные роли, лежащие в defaults.yaml ? (конкретнее - внести в них значение set_facts при их определении)
ep4sh
# FIXME: check and fix dev_type: "ansible_facts['devices'].keys()[0][0:3]"
Anonymous
ну как минимум это в доки гитлаба так
inqfen
Для установки гитлаба где-то на galaxy и так роль была
Ohh
Кто-нибудь стакивался с таким кейсом, где нужно прогнать curl по нескольким файлам, а так же в url должно фигурировать имя файла - name: POST uri: url: "http://dns.ru//{{ item.name }}" body: "{{ lookup('file', item) }}" body_format: json return_content: yes force_basic_auth: yes with_items: - "{{ json_files}}"Ошибка: he task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'name'
George
Поставь через докер и не люби себя в мозг
Anonymous
советчики блин ) с докер головного мозга. Уже все ответили, можно выдохнуть
Gleb
Поставь через докер и не люби себя в мозг
так в докер тоже энвы передавать
George
так в докер тоже энвы передавать
Эт да, но это проще. А ещё можно просто сформировать gitlab.rb и подкинуть его
Anonymous
об этом уже выше писали, да можно, но зачем если можно сделать сразу и штатно
Denis
Иначе получаем список из одного элемента json_files
Timur
ну как минимум это в доки гитлаба так
Гляньте нашу роль как вариант
Anonymous
Так что в галакси ?
Timur
Так что в галакси ?
Вот эта: https://galaxy.ansible.com/lean_delivery/gitlab
Anonymous
Посмотрю завтра
Timur
Давать разные дефолты в зависимости от окружения?
Timur
И фактов
ep4sh
Что конкретно нужно?
Хочу объявить переменную в файле defaults в роли, но нужно чтобы она принимала исчисляемое значение
ep4sh
Computed Не знаю как сказать это по русски)
ep4sh
Значение из фактов ансибл
ep4sh
Получаю ошибку если так делаю
ep4sh
Сек сча
ep4sh
Было: - name: mount xvd disks include_tasks: "lvm-ebs.yml" when: ansible_facts["devices"].keys()[0][0:3] == "xvd" Стало: - name: mount xvd disks include_tasks: "lvm-ebs.yml" when: dev_type == "xvd"
ep4sh
Ошибка логическая, то есть условие не срабатывает
Anonymous
А можете высокоуровневом описать задачу
Anonymous
А не решение, которое вы видите
Anonymous
Пока не совсем понятно, что вы ожидаете получить и зачем
ep4sh
А можете высокоуровневом описать задачу
Нужно факты о типе девайса собрать в переменную и в зависимости от типа диска ebs или nvme запускать определённый таск
ep4sh
Надеюсь я смог
Anonymous
Ну да. Так понятнее
ep4sh
Простите иногда двояко обьясняю
ep4sh
))
Anonymous
Сходу не скажу. Но в вашем случае вы проверяете не like
Anonymous
А точное совпадаете
Anonymous
Потому логика и не срабатывает
Anonymous
Я так понимаю диск может иметь разные имена но с понятным префиксом
Timur
Непонятно, почему только первый диск из всего списка проверяется
ep4sh
А в целом можно ли вычислять переменные определённые в defaults?
ep4sh
Если не использовать переменную то все работает отлично
Anonymous
Коллега. Предвосхищая вопросы - что вы подразумеваете под вычислить
Anonymous
Приведите пример
Anonymous
Просто. Пока это кажется больше, в контексте вопроса, как переопределить
Nikolay
Раскатываю через ansible инстанс, и видимо, на текущий момент невозможно раскатить данный тип инстанса в заданной зоне. Можно как-то ретрай установить на падающий джоб?
Nikolay
Грубо говоря, если таск упал, попробовать использовать другую зону?
Nikolay
Делать условие по stderr?
Nikolay
Если абстрагироваться от AWS, то вопрос звучит так - как перезапустить упавший джоб с другим значением параметра? было: copy: src: A dest: b Если упало, то попробовать выполнить copy: src: B dest: b
Nikolay
на ум приходит только отслеживать stderr, и если он не пустой, запускать следующий джоб
Nikolay
А если конкретизировать, то у меня GPU инстанс запускается по заданном мной регионе, в дефолтной зоне доступа, вот почему-то в текущей зоне перестал запускаться, получаю ошибку типа "попробуйте изменить зону на другую", что я и хочу сделать в рамках двух джобов