@pro_ansible

Страница 202 из 625
Anatoly
25.04.2017
10:05:04
а модуль будет делать получения интерфейса да ?
у тебя больше одного интерфейса на хостах?

Алексей
25.04.2017
10:05:22
у тебя больше одного интерфейса на хостах?
есть хосты на которых два и дефолт смотрит не в сторону серверов консула

Michael
25.04.2017
10:05:51
страхует от пусто таблицы маршрутизации?

Google
Алексей
25.04.2017
10:06:46
страхует от пусто таблицы маршрутизации?
хороший вопрос. но не про то.

Magistr
25.04.2017
10:08:04
а если ип консула в днс положить ?

Алексей
25.04.2017
10:08:30
а как это поможет ?

Sergey
25.04.2017
10:09:15
есть хосты на которых два и дефолт смотрит не в сторону серверов консула
смотри. у тебя есть факты о сервере консула (либо ты можешь их собрать). следовательно, ты знаешь, какой подсети принадлежит интерфейс сервера. следовательно, если ты для хоста перебираешь все интерфейсы, то достаточно выбрать тот, у которого подсеть совпадает.

потому что факты о единичном интерфейсе содержат вот это : "ansible_eth0": { "active": true, "device": "eth0", "ipv4": { "address": "192.168.10.2", "broadcast": "192.168.10.255", "netmask": "255.255.255.0", "network": "192.168.10.0" }, "macaddress": "52:54:00:5c:c1:36", "module": "virtio_net", "mtu": 1500, "pciid": "virtio0", "promisc": false, "type": "ether" }

Алексей
25.04.2017
10:10:14
для единичного можно не морочится ибо consul_iface: "{{ ansible_default_ipv4.interface}}"

Sergey
25.04.2017
10:10:49
ну да. а там, где не единичный - по network проверяй, какой именно нужен

такой вариант решения подойдёт?

Алексей
25.04.2017
10:11:29
для единичного консул нормально забиндится на дефолтный. а вот там где не единичный там тупо правильный нужен. и вот критерии праивльности дурные.

Sergey
25.04.2017
10:11:42
?

Алексей
25.04.2017
10:11:43
если у нас они в броадкасте то можно просто как ты говоришь сравнить сети

а если они не в броадкасте ? боюсь тут будет слишком сложное допущение

Sergey
25.04.2017
10:15:08
а нужен ли такой хоккей? то есть насколько часто такая конфигурация используется?

Google
Алексей
25.04.2017
10:17:15
публичный плейбук. я не доконца котролирую поведение и топологию где разворачивается плейбук

Sergey
25.04.2017
10:18:11
понял. случается такая фигня. тогда я бы на твоём месте забил спокойно. хотите нормально - отдайте крутилки. хотите сидеть на своих крутилках - делайте лучше сами.

Igor
25.04.2017
10:54:13
ansible 2.2 + vagrant. В рамках плейбука использую geerlingguy.mysql и получаю ошибку, что geerlingguy.mysql в рамках include_vars инклудится в итоге не в рамках своей роли, а в рамках всего плейбука. втф?

- name: Include OS-specific variables. include_vars: "{{ item }}" with_first_found: - files: - "vars/{{ ansible_os_family }}.yml" skip: true when: ansible_os_family != "RedHat"

Вот конкретно этот кусок из гирлингов в итоге пытается тянуть файл из корня проекта

а не из роли

Sergey
25.04.2017
11:15:21
потому что правильно делать не так, а вот так - http://docs.ansible.com/ansible/include_vars_module.html

там прям нерусским по белому пример

Иван
25.04.2017
11:17:24
Привет всем) разворачиваю Ansible Выполняю ansible open-servers -m ping для тестов А мне вылезает 172.21.1.2 | FAILED! => { "changed": false, "failed": true, "module_stderr": "Shared connection to 172.21.1.2 closed.\r\n", "module_stdout": "Switched SMACK label to _ for user root\r\nTraceback (most recent call last):\r\n File \"/tmp/ansible_5yA5mh/ansible_module_ping.py\", line 49, in <module>\r\n from ansible.module_utils.basic import AnsibleModule\r\n File \"/tmp/ansible_5yA5mh/ansible_modlib.zip/ansible/module_utils/basic.py\", line 68, in <module>\r\n File \"/usr/lib/python2.7/shlex.py\", line 35\r\nSyntaxError: Non-ASCII character '\\xdf' in file /usr/lib/python2.7/shlex.py on line 35, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details\r\n", "msg": "MODULE FAILURE", "rc": 0 } Скажите, кроме кодировки файла, в чём ещё может быть проблема? Модуль raw, например, нормально работает

Sergey
25.04.2017
11:20:19
ерунда с версиями ансибла?

Max
25.04.2017
11:21:39
а на чём сервера то?

Иван
25.04.2017
11:22:21
не знаю, вот толкько недавно поставил его на последний дебиан ansible 2.3.0.0

а на чём сервера то?
а сервера на местном linux-дистрибутиве

Max
25.04.2017
11:22:53
на местном?

Non-ASCII character

Иван
25.04.2017
11:23:38
на местном?
да, в конторе свой дистрибутив на устройствах используется, по факту урезанный дебиан

там стоит Python 2.7.3

Max
25.04.2017
11:24:43
а попробуй -m setup

Просто обычно в пейтоне это лечится вот так

Google
Max
25.04.2017
11:25:06
#!/usr/bin/env python # -*- coding: utf-8 -*-

А, ну сопсно вон и по ссылке в ошибке то же самое сказано

Иван
25.04.2017
11:28:30
#!/usr/bin/env python # -*- coding: utf-8 -*-
то есть это нужно прописать в файлах, на которые ссылается ошибка?

Max
25.04.2017
11:30:55
эм

не лучшее решение

для начала нужно посмотреть чо это за файлы

а руктями ансибл править от лукавого - опять всё сломается при обновлении

Иван
25.04.2017
11:36:51
Я понял, спасибо) Дело в том, что когда делали этот дистр, то резали его очень сильно, были требования к максмальному размеру. И вот одним из решений было вырезать все man-ы и комменты из файлов. Делали,это, похоже, просто скриптами с регулярками. Ну и вот теперь я постоянно сталкиваюсь с проблемами типа подобной. Эта строка, которая определяет кодировку файла, была просто вырезана, как оказалось

Я её добавил — всё отработало

Ну, по крайней мере модуль ping ))

Max
25.04.2017
11:37:14
гениальный дистриб

меняй его скорее

Иван
25.04.2017
11:37:33
)))))))))))))))))))))

Max
25.04.2017
11:37:37
пиздец просто

гении

Иван
25.04.2017
11:37:57
я скорее работу поменяю)

Для вояк дистриб так-то в самый раз

Свои задачи выполняет

Но вот такая фигня, стоит что-то новое попытаться привнести — вымораживает. Постояяяянно.

Ещё раз спасибо, Максим:)

Google
Sergey
25.04.2017
11:46:55
Для вояк дистриб так-то в самый раз
типа "круглое - носим, квадратное - катим" ?

Иван
25.04.2017
11:47:58
типа "круглое - носим, квадратное - катим" ?
достаточно минималистичный и необходимыми сертификатами соответствия

Sergey
25.04.2017
11:49:55
достаточно минималистичный и необходимыми сертификатами соответствия
занятно, чему он соответствует. в этом смысле обычный серийный кирпич со стройки тоже можно сертифицировать как "не имеющий блаблабла". правда, в ИТ он тоже нафиг не нужен...... так же, как и этот кривой дистр, кстати.

Sergey
25.04.2017
11:52:20
требованиям МО
ты же умный человек, раз с ансиблом возишься. если хрень сломана безбожно, то какая разница, какая наклейка снаружи?

ни за что не поверю, будто требования МО предусматривают вырезать строки "utf-8" отовсюду ?

просто приёмку проводили некомпетентные люди, вот и всё

Admin
ERROR: S client not available

Magistr
25.04.2017
11:57:35
для усложенния работы потенциального противника ))

Иван
25.04.2017
11:59:20
ты же умный человек, раз с ансиблом возишься. если хрень сломана безбожно, то какая разница, какая наклейка снаружи?
Одним из требований было ограничение размера дистрибутива. Выше я уже рассказывал, как его урезали, судя по всему. И почему такие ошибки вылезают. Фокус в том, что они вылезают только при нетипичных действиях)))

Sergey
25.04.2017
12:01:10
если я правильно понимаю, то _любая_ программа на питоне, использующая этот модуль, упадёт. а с учётом отсутствия доступа к репозиториям pip это превращается в реальную проблему.

Sergey
25.04.2017
12:07:36
удивительно, как ещё yum не сломали ?

Иван
25.04.2017
12:09:00
там нет менеджера пакетов

dmage
25.04.2017
13:48:37
а что альпайн не взяли?

Иван
25.04.2017
13:56:36
а что альпайн не взяли?
Я в конторе недавно, не могу знать, честно говоря. Возможно нужно было именно "собственной разработки" Я ранее написал, что наш на Дебиане основан, но ошибся. На самом деле наш дистр собран из исходников, основываясь на LFS

Google
dmage
25.04.2017
13:57:16
ох уж эти латентные гентушники)

Alex Milushev
25.04.2017
14:47:04
привет, в ansible в docker_container c pull: yes контейнер будет пересоздан, если он спулил новый имадж?

Anatoly
25.04.2017
14:48:09
recreate - пересоздаст

Alex Milushev
25.04.2017
14:48:23
это понятно, а пересоздаст контейнер?

ок

Anatoly
25.04.2017
14:49:02
это понятно, а пересоздаст контейнер?
если имадж новый - да если нет то нет

Alex Milushev
25.04.2017
14:49:30
то есть, если он спулил новый имадж с тем-же тегом, он пересоздаст контейнер?

в доке просто про это не нашел

Anatoly
25.04.2017
14:49:59
в доке просто про это не нашел
про то что пулл не пересоздает контейнеры?

ну так а как вы хотели

Alex Milushev
25.04.2017
14:50:57
ну recreate при каждом прогоне пересоздает контейнер как Я понял

мне нужно только если пулил новый контейнер

Anatoly
25.04.2017
14:51:28
ну recreate при каждом прогоне пересоздает контейнер как Я понял
да. не зависимо насколько старый имадж, но не перепуливает каждый раз

Alex Milushev
25.04.2017
16:11:39
деплою небольшую кучку контейнеров (32) с помощью docker_container и with_sequence, но очень уж долго, разлив на 5 машин -- 7 минут, можно как-то ускорить? да, по 32 контейнера на каждую из 5 машин, все контейнера из одного имаджа

да, пробовал pipelining = True никакого эффекта не возымело

Alex Milushev
25.04.2017
17:56:49
Ну вот посмотри где у тебя время все
Сначала первый контейнер на все хосты. Потом второй на все. Последовательно.

Использовать async
это получается что-то вроде: - name: 'YUM - fire and forget task' yum: name=docker-io state=installed async: 1000 poll: 0 register: yum_sleeper - name: 'YUM - check on fire and forget task' async_status: jid={{ yum_sleeper.ansible_job_id }} register: job_result until: job_result.finished retries: 30 ?

Страница 202 из 625