Roman
Что мешает делать гит пулл на конечных хостах с репозитория?
не подумал об этом, попробую, нужно еще бэкап перед этим сделать, спасибо за наводку
nett00n
не подумал об этом, попробую, нужно еще бэкап перед этим сделать, спасибо за наводку
Зачем бэкап? git reset хэшпоследнегокоммита вернёт к последнему состоянию
Roman
Зачем бэкап? git reset хэшпоследнегокоммита вернёт к последнему состоянию
отбой, такой вариант не полуится, ноды доступа до гита не имеют, только адм сервер
nett00n
отбой, такой вариант не полуится, ноды доступа до гита не имеют, только адм сервер
Пробей доступы или перекешируй ориджин на тот сервер, куда есть доступ. Гит - это распределенная система. Еще раз направляю в маны по гиту
Roman
спасибо усвоил
Alexey
подскажите, как сделать условие на отсутсвие файлов? with_items: “{{ cert_exists.results | selectattr('stat.exists') | map(attribute='item') | list }}” ?
Timur
Разгадывать ребусы в виде одной строчки кода, непонятно что и зачем делающей, мало кому интересно
Alexey
подскажите, как сделать условие на отсутсвие файлов? with_items: “{{ cert_exists.results | selectattr('stat.exists') | map(attribute='item') | list }}” ?
вот это: debug: msg: 'cert {{item.item }} NOT exists' with_items: "{{ cert_exists.results }}" when: item.stat.exists == False переписать через selectattr
Timur
Если ради фана, то у меня сработал вот такой вариант: - name: out existing paths debug: msg: '{{ cert_exists.results | map(attribute="stat") | selectattr("exists", "equalto", True) | map(attribute="path") | list }}'
Timur
Выводит список тех путей, что существуют в изначальном списке cert_exists.results
Timur
благодарю, попробую поразбираться еще самостоятельно
Если нужно вывести сообщение на несуществующий путь, то можно вот так: - name: out non-existing paths debug: msg: '{{ item }} NOT exists' loop: >- {{ cert_exists.results | selectattr('stat.exists', 'equalto', False) | map(attribute='invocation.module_args.path') | list }}
Nikita
всем хай ! sudo ansible-playbook fcku.yml -e "host=10.200.200.11 key=/home/nik/.ssh/dev" как переопределять переменную в плэй бук?```
Nikita
vars: host: "{{ host | default('192.168.1.200')}}"
Nikita
спасибо!
Nikita
—extra-vars "var1=val1"
есть способ переопределить var1 в playbook?
Nikita
для лучия если я не передаю var1 как exsta vars , типа вызываю без exstra vars?
Nikita
Set_fact
спасиб
Anonymous
Hi my ansible task become unreachable because of ssh timeout. it shows unreachable
Anonymous
Is there any way to prevent this
Timur
Is there any way to prevent this
Increase timeout value
Anonymous
In the ansible.conf
Anonymous
?
Timur
In the ansible.conf
It can be set at inventory or playbook level either
Anonymous
can you help which parameter is it ?
Aleksey
timeout This is the default SSH timeout to use on connection attempts: timeout = 10
Anonymous
thanks let me try
Max
для лучия если я не передаю var1 как exsta vars , типа вызываю без exstra vars?
рекомендую ознакомиться с наиважнейшим документом по теме множества одноименных переменных: https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Sun
Парни, кто уже поднимал traefik через анзиблю с количеством сервисов за ним больше одного? Вопрос: есть два набора докер-контейнеров, каждый из которых болтается в своей кастомной сети. Условно, net1 и net2. У меня затык с сетями. Не могу анзиблом поднять одинокий контейнер с подключением к нужной сети, чтобы траефик его увидел. Докер дока по этому поводу пишет: If you want your containers to join a pre-existing network, use the external option: networks: default: external: name: my-pre-existing-network И вот чота ни через docker_container, ни через docker_service у меня не получается это поднять — получаю еггог 500 в траефике.
Sun
нет, просто так поднимаю
ℭ𝔞𝔯𝔯𝔬𝔩
нет, просто так поднимаю
Траефик тоже в контейнере?
Sun
да
ℭ𝔞𝔯𝔯𝔬𝔩
да
Похоже на этот баг: https://github.com/containous/traefik/issues/4312
Stefan
да
version: "3" services: traefik: image: traefik:1.7.9-alpine container_name: traefik command: | volumes: - traefik_acme:/acme/ - /var/run/docker.sock:/var/run/docker.sock ports: - 80:80 - 443:443 volumes: traefik_acme: networks: default: external: name: traefik_net хз, вполне рабочий вариант создал только заранее сеть для него и всё
Sun
Вот я сейчас тоже пошёл по пути заранее сеть создать
Mikhail
Задача: запустить роль дважды с разным набором параметров. Мне казалось, что не проблема дважды заюзать include_role в цикле по списку словарей role_params, где каждый элемент списка, словарик с нужными мне параметрами роли. Однако ансибль таки считает это проблемой. Я чего-то неправильного от него хочу?
Mikhail
сработал вот такой способ: https://take.ms/JG8r7p Но он мне не очень нравится: я не могу варировать параметры в openvpn_rolevars, только использовать описанные
Vladislav 👻
Я у себя сеть и волюмы создают заранее и отдельными модулями, а потом уже поднимаю контейнер
Mikhail
import_role должно помочь.
А чем? Циклить по импорту ж нельзя
Mikhail
ансиблу все нормально. возможно методика передачи переменных из словарей не безопасная. во всех словарях одни и те же ключи?
Да, с разными значениями. Я всяко пробовал, при парсинге кидается ошибка, мол, давай словарь или список словарей, поэтому мое предположение, что любая подстановка не работает
Max
там нужно правильно выставлять значения по умолчанию: - name: iter include_role: x vars: item loop: '{{ roles_vars_list }}'
Max
а в роли нужно сделать опциональные параметры опциональными: - name: bla module: param1: '{{ param1 | default(omit) }}'
Max
т.е. если param1 неопределен, модуль вызовется не с нерезолвленным символом, со значением по умолчанию.
Denis 災 nobody
бот "не бот" )
Rapid
Invoking "yum" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: /tmp/{{item}}`, please use `name: [u'container-selinux- dependencies/libcgroup-0.41-20.el7.x86_64.rpm', u'container-selinux-dependencies/device-mapper- event-1.02.149-10.el7_6.3.x86_64.rpm', u'container-selinux- dependencies/libsemanage-2.8-alt1.x86_64.rpm', u'container-selinux- dependencies/policycoreutils-2.5-22.el7.x86_64.rpm', u'container-selinux-dependencies/selinux- policy-3.13.1-192.el7.noarch.rpm', u'container-se
Rapid
I'm having this error(warning), but then if I use the lsit like they say
Rapid
I can provide a pre-path like /tmp/...
Rapid
Any solution?
Max
Any solution?
I personally do not clearly understand what generates this issue. show some code. then tell us what it causes. and what you are expecting.
Rapid
` [DEPRECATION WARNING]: Invoking "yum" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: /tmp/{{item}}`, please use `name: [u'container-selinux- dependencies/libcgroup-0.41-20.el7.x86_64.rpm', u'container-selinux-dependencies/device-mapper- event-1.02.149-10.el7_6.3.x86_64.rpm', u'container-selinux- dependencies/libsemanage-2.8-alt1.x86_64.rpm', u'container-selinux- dependencies/policycoreutils-2.5-22.el7.x86_64.rpm', u'container-selinux-dependencies/selinux- policy-3.13.1-192.el7.noarch.rpm', u'container-selinux- dependencies/lvm2-libs-2.02.180-10.el7_6.2.x86_64.rpm', u'device-mapper-persistent- data-0.7.3-3.el7.x86_64.rpm', u'container-selinux-2.68-1.el7.noarch.rpm', u'docker- ce-18.06.1.ce-3.el7.x86_64.rpm']` and remove the loop. This feature will be removed in version 2.11. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. `
Rapid
- name: Install rpm packages yum: name: "/tmp/{{item}}" state: present with_items: - container-selinux-dependencies/libcgroup-0.41-20.el7.x86_64.rpm - container-selinux-dependencies/device-mapper-event-1.02.149-10.el7_6.3.x86_64.rpm - container-selinux-dependencies/libsemanage-2.8-alt1.x86_64.rpm - container-selinux-dependencies/policycoreutils-2.5-22.el7.x86_64.rpm
Rapid
It basically says, instead of using with_items I should use an array list inside the src_path
Rapid
er wrong ansible code, one sec
Rapid
I edited it, now it's good, take a look :)
Max
today's ansible suggests to use loop instead of with_items
Timur
today's ansible suggests to use loop instead of with_items
No, it’s not the cause of this deprecation warning
Timur
It tells to avoid using loop with yum module
Timur
Any loop
Timur
You should use list of packages directly as value of ‘name’ parameter
Max
🤦‍♂️
Mikhail
там нужно правильно выставлять значения по умолчанию: - name: iter include_role: x vars: item loop: '{{ roles_vars_list }}'
Блиин, а я в vars жинжу пихал, неудивительно, что он словарь просил. Пасиба, попробую
Mikhail
там нужно правильно выставлять значения по умолчанию: - name: iter include_role: x vars: item loop: '{{ roles_vars_list }}'
не, та же фигня: дебуг по тому же циклу показыват два словаря, а вызов роли - must be specified as a dictionary, or a list of dictionaries 😞