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
локально?)
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?
Timur
Я бы сначала проверил через ansible -m ping
manefesto
локально проверяю, норм Именно при деплое с gitlab-ci
Vladislav 👻
Я в плане, что там не проблема в хосте, а например, права на приватный ключ не 0600
Timur
Значит с раннера коннекта нет
manefesto
Значит с раннера коннекта нет
не уверен, на второй то хост нормально выкатывается
Timur
Или ключ или stricthostchecking
manefesto
такая ошибка еще бесит /usr/lib/python3.7/site-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding. m.add_string(self.Q_C.public_numbers().encode_point()) /usr/lib/python3.7/site-packages/paramiko/kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point self.curve, Q_S_bytes /usr/lib/python3.7/site-packages/paramiko/kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding. hm.add_string(self.Q_C.public_numbers().encode_point())
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 будет жить. Поприветствуем!
inqfen
Какой-то форк conda наверное
Egor
Это антивирус)
Anonymous
@Dr_Rob0tnik будет жить. Поприветствуем!
Dr_Rob0tnik
Здравствуйте. Возможно ли средствами ансибла сравнивать переменные разных хостов? Например есть несколько серверов, и хотелось бы средствами ансибла сравнить hostvars[inventory_hostname].ansible_default_ipv4.address
inqfen
возможно
Dr_Rob0tnik
Подскажите в какую сторону копать? Гугол сегодня не работает что-то :(
Sergey
Ансибл - не язык программирования, если что
Dr_Rob0tnik
если адреса совпадают, остановить плейбук
inqfen
Ансибл - не язык программирования, если что
ну тут теретически можно начать дискуссию
inqfen
но не нужно
Alex
> если адреса совпадают, остановить плейбук а какие адреса необходимо сравнивать?
Dr_Rob0tnik
ip )
Alex
понятно что не проживания :) Один с hostvars, а второй откуда брать?
Dr_Rob0tnik
понятно что не проживания :) Один с hostvars, а второй откуда брать?
Ну я это имел в виду. Возможно ли сравнить hostvars с разных хостов?
Alex
можно, вместо inventory_hostname подставляй имя нужного хоста
Alex
или в чем проблема
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
Dr_Rob0tnik
а цель какова?
Какова может быть цель у сравнения двух переменных?)
Max
Какова может быть цель у сравнения двух переменных?)
Зачем нужно смотреть переменные других хостов, в вашем случае? и не надо со мной делать еврейские штучки.
Max
код ансибл теоритически должен быть как можно менее "умным"
Max
сравнения вносят сложности.
Max
в тестировании, напр