inqfen
Maxim
привет! подскжите как в jinja2 получить название ключа? Хочу вывести field = value одной строчкой в цикле
Alf 🙀
А у к:в пары имя есть?
Dmitrii
for же
Maxim
сейчас поясню
Maxim
вот в переменных у меня такое:
gobetween_config_servers:
- name: backend1
bind: "0.0.0.0:7001"
protocol: "tcp"
balance: "roundrobin"
discovery:
- interval: "60s"
- timeout: "2s"
- kind: "docker"
- docker_endpoint: "unix:///var/run/docker.sock"
- docker_container_label: "my.service_name=backned"
- docker_container_private_port: 8001
healthcheck:
- kind: "ping"
- interval: "20s"
- timeout: "2s"
- fails: 3
- passes: 3
в шаблоне хочу сделать такое:
[servers.sample]
protocol = "tcp"
bind = "0.0.0.0:3000"
Maxim
то есть в цикле всего одну строчку можно сделать - типа key = value ?
𝔹𝕠𝕣𝕚𝕤
{% for k,v in dict.iteritems() %} не подходит?
Maxim
𝔹𝕠𝕣𝕚𝕤
🤝
Alexandr
всем привет.
может кто-нибудь сталкивался с подобным при пуше темплейтов на сервер?
[WARNING]: Failure using method (v2_runner_item_on_failed) in callback plugin (<ansible.plugins.callback.default.CallbackModule object at 0x7fb5cc0f2a50>): 'ascii' codec
can't decode byte 0xc2 in position 13879: ordinal not in range(128)
Alexandr
вроде всё в темплейте проблемном перекопал
Nklya
кривые символы видимо таки есть
G3rhard
Это какой то новый вид спама - отправлять музыку в группу?
Nklya
Конечно. Эти клоуны занимаются раскруткой каналов
Konstantin
есть группа с 20 машинами. есть роль. когда добавляю новую машину в группу инвентори и нужно пройтись этой ролью и конечно же проходит по всем машинам в группе. можно как-то пройтись только по новой машине (указав именно ее)? с ходу не нашел инфы на сей счет.
Nklya
Так не надо делать. IaC это про другое
Igor
Алексей
Nklya
Про то, что надо применять ко всем.
Записывать в блокнотике, что к этому я уже применил, а к этому нет - маразм
Nklya
maybe
Dmitry
Dmitry
Ну, то есть, как так получилось, что один из 20 чем-то отличается?
Алексей
Konstantin
@mobilesfinks прав. Есть роль system, она самая первая что накатывается на сервер при поступлении. Серверов уже под 30 и смысла нет ради одного сервера проходить по всем остальным, если я знаю что роль не изменялась.
Pavel
так -i можно сказать, и указать 1 хост
Tadeusz
inventory
Pavel
-i <IP>,
Pavel
-i INVENTORY, —inventory=INVENTORY, —inventory-file=INVENTORY
specify inventory host path
(default=[[u'/etc/ansible/hosts']]) or comma separated
host list. —inventory-file is deprecated
Konstantin
Konstantin
я бы так сделал
citius
Я в подобных ролях сделал сохранение хеша конкретного комита роли внутри роли гит-хуком, при успешном накатывани роли он кладется в локальный факт. Ну и перед накатыванием соответственно проверяется. Если хеш в роли остался старый, скипается.
Nklya
Andrey
есть вопросей про ансибл
Andrey
сам он стоит через pip
Andrey
- name: touch file
become: no
local_action:
module: >
blockinfile:
path ./ssh.cfg
insertafter: EOF
content: |
host {{ inventory_hostname }}
hostname {{ ip_var.stdout }}
ProxyCommand ssh {{ ssh_user }}@{{ onhv }} nc %h %p
Andrey
вот такая вот конструкция не работает
Andrey
пишет
Andrey
fatal: [<hostname>]: FAILED! => {
"failed": true,
"msg": "The module blockinfile:\n was not found in configured module paths. Additionally, core modules are missing. If this is a checkout, run 'git submodule update --init --recursive' to correct this problem."
}
Andrey
Сам модуль конечно есть
Andrey
ansible 2.2.3.0
config file = ./ansible.cfg
configured module search path = Default w/o overrides
maniac
тебе сейчас смешно будет
он ищет модуль "blockinfile:\n" а не модуль "blockinfile"
maniac
ХОТЯ
maniac
он и на остальные кор-модули ругается.
Albert
@amavlyanov https://gist.github.com/Tahvok/d59eb41e7184c1ebce4d4b8e76fd99c7
Andrey
хм. попробую щас
Andrew
Dmitry
самое просто в плейбук включить переменную target
Dmitry
hosts: {{ target }}
Dmitry
и тогда хоть пов сей группе хоть одному конкртеному
Dmitry
-l
Dmitry
можно и через нее
Dmitry
можно тегами
Dmitry
вариантов куча
Dmitry
с таргетом удобно в том плане если опечатался)
Алексей
Тегами это скорее группировка по таскам
Dmitry
решения предложили выбирайте
Алексей
Это не мне нужно было
Dmitry
парни, есть
some_list:
- ["item1", "item2"]
- [" item1", "item2"]
Sergey
это list of lists, если быть точным
Dmitry
хочу в жинже что-то типа
{% for current_item in some_list %}
blabla current_item[0] blabla current_item[1]
{% endfor %}
Dmitry
так можно?
Sergey
в целом да, противопоказаний нет
Dmitry
ооок, спс
Sergey
т.к. list сохраняет порядок элементов, то ты по идее должен получить то, что заказываешь
Dmitry
Народ, помогите мыслью. размышлением а может и знанием.
Dmitry
tasks:
- name: Test Web Apps
include_role:
name: my_role_name
vars:
app_name: "{{ item }}"
resource_name: "{{ item }}"
app_state: "{{ state }}"
with_items: "{{ testd }}"
Dmitry
данные:
Dmitry
testd:
- a
- b
- c
Dorian
Как бы вставить iptables правило перед reject all?
Dorian
По умолчанию правила добавляются в конец
Dorian
Только insert ом?