Sergey
Anonymous
В ансибле ж нет механизма задать 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
оно, спасибо
Отделение Bereke Bank
Anonymous
ну так можно, но не оч хочется, вариант от Глеба очень даже правильный и подошел
Max
Anonymous
да я понял. Так и сделал
Max
супер
Anonymous
@ep4sh будет жить. Поприветствуем!
ep4sh
Привет, можно вычислять переменные роли, лежащие в defaults.yaml ? (конкретнее - внести в них значение set_facts при их определении)
ep4sh
# FIXME: check and fix
dev_type: "ansible_facts['devices'].keys()[0][0:3]"
Timur
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
Anonymous
об этом уже выше писали, да можно, но зачем если можно сделать сразу и штатно
Vladimir
Denis
Denis
Иначе получаем список из одного элемента json_files
Timur
Anonymous
Так что в галакси ?
Anonymous
Посмотрю завтра
ep4sh
Timur
Timur
Давать разные дефолты в зависимости от окружения?
Timur
И фактов
ep4sh
Что конкретно нужно?
Хочу объявить переменную в файле defaults в роли, но нужно чтобы она принимала исчисляемое значение
ep4sh
Timur
ep4sh
Computed
Не знаю как сказать это по русски)
ep4sh
Значение из фактов ансибл
Timur
ep4sh
Получаю ошибку если так делаю
Timur
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
Надеюсь я смог
Anonymous
Ну да. Так понятнее
ep4sh
Простите иногда двояко обьясняю
ep4sh
))
Anonymous
Сходу не скажу. Но в вашем случае вы проверяете не like
Anonymous
А точное совпадаете
Anonymous
Потому логика и не срабатывает
Timur
Anonymous
Я так понимаю диск может иметь разные имена но с понятным префиксом
Timur
Непонятно, почему только первый диск из всего списка проверяется
ep4sh
А в целом можно ли вычислять переменные определённые в defaults?
ep4sh
Если не использовать переменную то все работает отлично
Anonymous
Коллега. Предвосхищая вопросы - что вы подразумеваете под вычислить
Anonymous
Приведите пример
Anonymous
Просто. Пока это кажется больше, в контексте вопроса, как переопределить
Timur
Nikolay
Раскатываю через ansible инстанс, и видимо, на текущий момент невозможно раскатить данный тип инстанса в заданной зоне. Можно как-то ретрай установить на падающий джоб?
Nikolay
Грубо говоря, если таск упал, попробовать использовать другую зону?
Nikolay
Делать условие по stderr?
Timur
Nikolay
Если абстрагироваться от AWS, то вопрос звучит так - как перезапустить упавший джоб с другим значением параметра?
было:
copy:
src: A
dest: b
Если упало, то попробовать выполнить
copy:
src: B
dest: b
Nikolay
на ум приходит только отслеживать stderr, и если он не пустой, запускать следующий джоб
Nikolay
А если конкретизировать, то у меня GPU инстанс запускается по заданном мной регионе, в дефолтной зоне доступа, вот почему-то в текущей зоне перестал запускаться, получаю ошибку типа "попробуйте изменить зону на другую", что я и хочу сделать в рамках двух джобов
Vladimir