Alex
> {% if "{{ version }}" == 8 %}
можно же просто {% if version == 8 %}
Alex
можно сказать что работает но не совсем
Oleg
подскажите плиз, есть переменная slack_text: {{ .CommonAnnotations.description }}
и ее надо использовать в шаблоне:
text: "{{slack_text}}"
что бы в идеале получилось так: text: "{{ .CommonAnnotations.description }}"
но ансибл ругается, видимо ему не нра кол-во {{ }}
Grek 🇺🇦
slack_text: ".CommonAnnotations.description"
Grek 🇺🇦
и в путь
Oleg
пытался экранировать \, так он вместе с \ и вставляет
Alex
{% if version == 8 %}
{% block hello %}
--HELLO--
{% endblock %}
{% endif %}
если так то не работает
а если блок вынести то работает но если не попадает под условие то с базового шаблона ничего не выводиться, надо писать дополнительное условие
{% block hello %}
{% if version == 8 %}
--HELLO--
{% endif %}
{% endblock %}
Grek 🇺🇦
Oleg
шаблон такой, например:
text: "{{slack_text}}"
а переменная такая: slack_text: "{{ .CommonAnnotations.description }}"
и должно быть так в итоге: text: "{{ .CommonAnnotations.description }}"
Grek 🇺🇦
у тебя получается - ехал жинжа через жинжу видит жинжа в жинже жинжу, сунул жинжа в жинжу жинжу, жинжа жижну жинжа жинжа...
Grek 🇺🇦
https://jinja.palletsprojects.com/en/2.11.x/templates/#escaping
Oleg
Sergey
спасибо, это навело на нужные ссылки
Fire
Чего?
Артём
Просто переменную окружения проставить? environment?
Артём
environment:
http_proxy: ...
https_proxy: ...
Артём
Тогда вот как выше, но правильную переменную в правильное значение.
Артём
- name: Install
yum:
name: package
environment:
var: value
Артём
Оно к таску относится, не к модулю.
Lamobot
https://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html#setting-the-remote-environment-in-a-task
Alex
как быть если в переменную записан текст который с переносами строк, а когда выводишь переменную то оно все идет в одну стрку
есть способ как решить это.
пример переменной
myvar: " #
#
#
"
выводит так
###
Grek 🇺🇦
какая задача?
Lamobot
Alex
логика такая, могу ошибаться конечно же)
есть конфиг и если переменная version равна значению N
тогда пишется конфиг который в переменной
{% if version == 8 %}
{{version_8}}
{%- endif %}
пример конфига
# Following parameters.
#
# Replace 'NAME' with real name
#
# The MySQL server variables
#
[mysqld]
datadir = /mysql/
socket = /mysql/mysql.sock
tmpdir = /tmp/
Alex
писать в конце каждой строки \n как то не правильно
Lamobot
Alex
Артём
А где почитать про логику подключения переменных из group_vars/group_name/file_name.yml ? Не могу ни понять, в каком случае ансибл инклудит оттуда переменные, в каком нет, ни в документации найти.
Lamobot
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#understanding-variable-precedence
Пункт 4, 6
Oleg
подскажите ,плиз, есть шаблон со строкой:
scrape_interval: {{ groups['nodeexporter']['scrape_interval'] }}
и есть группа хост и переменные для группы хостов:
[nodeexporter]
nodeexporter_01
[nodeexporter:vars]
scrape_interval=15s
но ансибл пишет что 'list object' has no attribute 'scrape_interval'
Lamobot
Oleg
Lamobot
ну я пробовал и hostvars
hostvars['nodeexporter_01']['scrape_interval']
Только не забудьте перед этим получить факты с этого хоста.
Timur
Timur
Timur
Oleg
и спасибо =)
Timur
и спасибо =)
А, ну так пишите, что проблема решена тогда. А то непонятно. И другим читающим в том числе.
Timur
Oleg
у мня есть шаблон
- job_name: 'nodeexporter'
scrape_interval: {{ hostvars['nodeexporter']['scrape_interval'] }}
static_configs:
{% for host in groups['nodeexporter'] %}
- targets: ['{{ hostvars[host]['ansible_host'] }}:{{ hostvars[host]['port'] }}']
labels:
host: {{ ansible_hostname }}
{% endfor %}
где scrape_interval един для всех хостов в группе хостов
Oleg
можно,конечно,и в dafault прописать ее
Valiy
Такой вопрос: хочу чтоб модуль отработал в докер контейнера на удалённом хосте, реально ли такое без использования docker api?
Что-то вроде такого
- name: add container to inventory
add_host:
name: container_1
ansible_connection: docker
ansible_user: root
changed_when: false
- name: run command in container
delegate_to: container_1
shell: hostname
в таком виде оно ищет контейнер на хосте с которого запускается сам ansible, а хотелось бы чтоб на удалённом..
Timur
Valiy
Oleg
есть инвентарь:
host_01 http2xx_module=false
host_02 http2xx_module=true
[bb:children]
host_01
host_02
и есть шаблон с циклом:
{% for host in groups['bb'] if hostvars[host]["http2xx_module"] is sameas true %}
но после выполнения пустая строка, а должно host_02.
Oleg
подскажите почему не читается переменная http2xx_module?
Oleg
так тоже не выходит
{% for host in groups['bb'] %}
{% if hostvars[host]['https2xx_module'] is sameas true %}
Den
Den
https://stackoverflow.com/questions/32878795/run-command-inside-of-docker-container-using-ansible
Den
2 ответ
Timur
Nikolay
Кто-нибудь юзает consul как dynamic inventory для ансибла? Как оно? Какие подводные камни?
Мне нужно создавать lxc контейнеры и куда-то сохранять ip адреса с именами хостов. Сейчас сохраняются прямо локально inventory/containers и пушаться в git.
0xDEFACE
Domo
Всем привет - а нет ни у кого в закладках хорошей статьи про использование Ansible в CI/CD Gitlab. Например начиная с банальных вещей по типу заливки кода после исправлений?
Lamobot
Domo
Lamobot
Не в gitlab же, а уже с него
Для начала, определитесь с тем, чего хочется, и что для вас достаточный CI/CD. А потом читайте доку гитлаба, и в дальнейшем гугл, если что-то непонятно.
Domo
Ну доки то я знаю где. Я спрашиваю о живых примерах. Помимо доки есть ещё куча вариантов реализации
Александр
Александр
Чем проще, тем лучше
Александр
Если есть куча промежуточных шагов, то руки растут из задницы
Domo
Ну проверка никогда не мешает. Всегда есть человеческий фактор
Anatoliy
добрый вечер. как можно iptables_raw под 2.10 завести?
Anatoliy
Anonymous
Привет всем
Anonymous
Есть вопросик к вам один
Anonymous
Что не так?
Anonymous
Не могу подключить виндовый хост, winrm настроена
Николай
Здесь не любят скриншоты
Maxim
Anonymous
Так ведь с ними понятнее
Maxim
по 5985 отрабатывает ?
Отделение Bereke Bank
https://youtu.be/ZEbg0HryWsU
Anonymous
ssl ?
Хщ, а что с ним может быть не так?
Maxim
Anonymous