Andor
ну сделай
Александр
как?
Александр
хотя я понял как. спасибо
Александр
работает
{% for host in redis_hosts | sort %}
{% set host_index = loop.index %}
{% for instance in redis_instances | sort %}
server R{{ host_index }}{{ loop.index }} {{ host }}:{{ instance }} check
{% endfor %}
{% endfor %}
Andor
вот видишь, получилось же
Andor
вполне неплохо
Александр
backend bk_redis_master
option tcp-check
tcp-check send info\ replication\r\nquit\r\n
tcp-check expect string role:master
server R11 10.10.131.20:63790 check
server R12 10.10.131.20:63791 check
server R13 10.10.131.20:63792 check
server R21 10.2.131.20:63790 check
server R22 10.2.131.20:63791 check
server R23 10.2.131.20:63792 check
Andor
выглядит как haproxy
Александр
оно самое
Andor
а нельзя готовую роль хапрокси поюзать?
Александр
хз, у меня это в роли redis
Александр
точней redis_sentinel
Anonymous
Alexey Zholobov будет жить. Поприветствуем!
NM
zhag
А кто-нибудь opcache сбрасывал ансиблом?
zhag
Есть элегантное решение кроме рестарта php-fpm?
inqfen
А пых вроде по-другому его и не сбрасывает
Артём
А reload не?
Anonymous
@ushacow будет жить. Поприветствуем!
Anonymous
@atsip будет жить. Поприветствуем!
Anonymous
@ASMalyshev будет жить. Поприветствуем!
Anonymous
@alexxis_alt будет жить. Поприветствуем!
Anonymous
@Lex_hha будет жить. Поприветствуем!
manefesto
Второй день не могу понять почему деплой ansistrano на одном хосте не работает
TASK [ansistrano.deploy : ANSISTRANO | Get release version] ********************
ok: [s04 -> 127.0.0.1]
TASK [ansistrano.deploy : ANSISTRANO | Get release path] ***********************
changed: [s10]
fatal: [s04]: UNREACHABLE! => {"changed": false, "msg": "timed out", "unreachable": true}
Tadeusz
локально?)
Timur
manefesto
Показать код ?
Timur
Нет, блин, подумайте о нем
Timur
А мы телепатически прочитаем
manefesto
да там кода то
---
- name: update helper
hosts: all
gather_facts: no
vars:
ansistrano_deploy_from: "../dist/new/"
ansistrano_deploy_to: "/srv/helper"
ansistrano_keep_releases: 3
ansistrano_deploy_via: copy_unarchive
ansistrano_current_via: "symlink"
ansistrano_allow_anonymous_stats: no
ansistrano_ensure_shared_paths_exist: no
ansistrano_ensure_basedirs_shared_files_exist: no
roles:
- { role: ansistrano.deploy }
environment:
TMPDIR: "{{ ansible_env.HOME }}/tmp"
TMP: "{{ ansible_env.HOME }}/tmp"
manefesto
попробую убрать лишнее нафиг всё
Timur
Роль из galaxy?
Vladislav 👻
Timur
Timur
Я бы сначала проверил через ansible -m ping
manefesto
локально проверяю, норм
Именно при деплое с gitlab-ci
Vladislav 👻
Я в плане, что там не проблема в хосте, а например, права на приватный ключ не 0600
Timur
Значит с раннера коннекта нет
Timur
Или ключ или stricthostchecking
Timur
manefesto
Это один из кейсов
Уже и с ним и без него пробовал
manefesto
Магия в следующем
PLAY [update helper] ***********************************************************
TASK [Gathering Facts] *********************************************************
ok: [s04]
TASK [ansistrano.deploy : include_tasks] ***************************************
TASK [ansistrano.deploy : include_tasks] ***************************************
included: /root/.ansible/roles/ansistrano.deploy/tasks/setup.yml for s04
TASK [ansistrano.deploy : ANSISTRANO | Ensure deployment base path exists] *****
ok: [s04]
TASK [ansistrano.deploy : ANSISTRANO | Ensure releases folder exists] **********
ok: [s04]
TASK [ansistrano.deploy : ANSISTRANO | Ensure shared elements folder exists] ***
fatal: [s04]: UNREACHABLE! => {"changed": false, "msg": "timed out", "unreachable": true}
PLAY RECAP *********************************************************************
s04 : ok=4 changed=0 unreachable=1 failed=0
manefesto
факты собираются, при это один шаг ломается
Anonymous
One day Mali будет жить. Поприветствуем!
𝚔𝚟𝚊𝚙𝚜
Кто-то кодил на питоне...
Andor
это не питон
𝚔𝚟𝚊𝚙𝚜
кобра?
alx
IronPython
Anonymous
@shavaleev_diez будет жить. Поприветствуем!
Sergey
inqfen
Какой-то форк conda наверное
Egor
Это антивирус)
Anonymous
@Dr_Rob0tnik будет жить. Поприветствуем!
Dr_Rob0tnik
Здравствуйте. Возможно ли средствами ансибла сравнивать переменные разных хостов?
Например есть несколько серверов, и хотелось бы средствами ансибла сравнить hostvars[inventory_hostname].ansible_default_ipv4.address
inqfen
возможно
Dr_Rob0tnik
Подскажите в какую сторону копать? Гугол сегодня не работает что-то :(
Sergey
Sergey
Ансибл - не язык программирования, если что
Dr_Rob0tnik
если адреса совпадают, остановить плейбук
inqfen
inqfen
но не нужно
Alex
> если адреса совпадают, остановить плейбук
а какие адреса необходимо сравнивать?
Dr_Rob0tnik
ip )
Alex
понятно что не проживания :) Один с hostvars, а второй откуда брать?
Andor
Alex
можно, вместо inventory_hostname подставляй имя нужного хоста
Alex
или в чем проблема
Max
Dr_Rob0tnik
В том как это сделать? Есть ли в ансибл возможность делать это искаропки, или надо писать скрипт для сравнения
Alex
- name: Compare ip adresses
fail: "Stop playbook"
when: hostvars[inventory_hostname].ansible_default_ipv4.address == hostvars["other_server"].ansible_default_ipv4.address
Max
Dr_Rob0tnik
а цель какова?
Какова может быть цель у сравнения двух переменных?)
Dr_Rob0tnik
Max
код ансибл теоритически должен быть как можно менее "умным"
Max
сравнения вносят сложности.
Max
в тестировании, напр