
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

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

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

Hackru
25.04.2017
11:48:25
Я понял, спасибо)
Дело в том, что когда делали этот дистр, то резали его очень сильно, были требования к максмальному размеру.
И вот одним из решений было вырезать все man-ы и комменты из файлов. Делали,это, похоже, просто скриптами с регулярками.
Ну и вот теперь я постоянно сталкиваюсь с проблемами типа подобной.
Эта строка, которая определяет кодировку файла, была просто вырезана, как оказалось
БЕГИ ОТТУДА, СПАСАЙСЯ

Sergey
25.04.2017
11:49:55

Иван
25.04.2017
11:51:21

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 это превращается в реальную проблему.

Иван
25.04.2017
12:07:06

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

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

Anatoly
25.04.2017
17:36:01
Ну вот посмотри где у тебя время все

Vlad
25.04.2017
17:55:49

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
?