
Sheridan
27.08.2018
15:52:58
Доброго вечера. Комрады, как блин в условие запихнуть "если каждый элемент этого массива есть в том массиве"?
when: foo_array in bar_array ?
но нет же, подразумеваться будет что bar это массив массивов
а вообще задача разрезольвить все ip хоста даже в том случае, если оно при dig отдаёт разные списики...

Google

Sergey
27.08.2018
16:03:38

bebebe
27.08.2018
16:24:06

Sheridan
27.08.2018
16:44:14
соответственно lookup('dig', item, wantlist=True) выдаёт только один ip, а надо попробовать все собрать...

Sergey
27.08.2018
16:45:00
чтобы зачем?

Sheridan
27.08.2018
16:45:23
скажем так, эти ip будут в белом списке

Sergey
27.08.2018
16:47:01
По домену можно узнать AS, по AS - все возможные IP.

Sheridan
27.08.2018
16:47:40
это получается нужно новый локап плагин писать...

Roman
27.08.2018
16:53:00

Artem
27.08.2018
16:58:59
еще спроси какая связь между доменом и IP
domain -> ip -> network -> AS

bebebe
27.08.2018
17:03:26
В общем случае это не разрешимая проблема

Google

Sheridan
27.08.2018
17:04:06

The
27.08.2018
17:04:34

bebebe
27.08.2018
17:06:10

Sheridan
27.08.2018
17:06:45
какой есть...

bebebe
27.08.2018
17:07:06
Б-г вам судья

Sheridan
27.08.2018
17:07:39

Vadim
27.08.2018
17:09:11

Sheridan
27.08.2018
17:09:44
потому что исходные данные - доменные имена

Gleb
27.08.2018
17:10:15

Maksim
27.08.2018
17:11:02
Спасибо
Нарах
Нунах

bebebe
27.08.2018
17:11:30

Sheridan
27.08.2018
17:12:07

Maksim
27.08.2018
17:12:50
Да так. Просто

Sheridan
27.08.2018
17:13:13
Опишите, какую задачу вы решаете
есть список доменных имен, которые резольвятся в разные ip при повторном запросе. Есть вайтлист, куда надо добавить эти ip. Надо максимально разрезольвить
s/которые/чать из них/

bebebe
27.08.2018
17:39:18

Sheridan
27.08.2018
18:17:02

Dmitry
27.08.2018
18:18:29

Google

Sheridan
27.08.2018
18:19:17

Dmitry
27.08.2018
18:20:04
я бы в jinja {% %} запихнул сортировку и проверку циклом. Или я не понял задачу

Roman
27.08.2018
18:27:20

Artem
27.08.2018
18:32:52
одно другому не мешает

Sheridan
27.08.2018
18:34:08

GithubReleases
28.08.2018
06:18:48
ansible/ansible was tagged: v2.7.0.a1
Link: https://github.com/ansible/ansible/releases/tag/v2.7.0.a1
Release notes:
New release v2.7.0.a1

r9032504423
28.08.2018
06:56:04

brestows
28.08.2018
06:58:20
не этот ?

r9032504423
28.08.2018
06:58:54
Благодарю, а то сам не смог его найти, писал его имя слитно

Алексей
28.08.2018
06:59:04
нет не он

brestows
28.08.2018
06:59:10

Алексей
28.08.2018
06:59:29
https://github.com/Civil/github2telegram

r9032504423
28.08.2018
07:00:24

Алексей
28.08.2018
07:01:00
ну не на js же их писать. чес слово

Nklya
28.08.2018
07:01:17
На баше))

r9032504423
28.08.2018
07:01:44
действительно, а то python совсем как-то мейнстрим, чтобы бота писать ?

Алексей
28.08.2018
07:02:56
ну пет проджект как бы пофиг же. вот человек наверняка го изучал

Эдуард
28.08.2018
07:22:54

Google

Nikita
28.08.2018
07:23:47

Admin
ERROR: S client not available

Constantin
28.08.2018
07:42:56

Sergey
28.08.2018
07:44:31
А почему нет?
пет-прожект предполагает минимальные накладные, а нода память жрёт как чо и есть.

Алексей
28.08.2018
07:45:12
да пох на чём писать.

Constantin
28.08.2018
07:47:25

Terminator
28.08.2018
11:30:45
@Malcolm061990 будет жить. Поприветствуем!

Paul
28.08.2018
11:42:47
коллеги, а подскажите, как "схлопнуть" факты в словарь?
смысл в следующем - у меня есть набор групп, в которых лежат хосты. мне надо получить словарь вида:
[
{'hostname': 'IP:port'},
{'hostname': 'IP:port'}
]
есть ли более-менее простое решение?

bebebe
28.08.2018
11:43:26

Paul
28.08.2018
11:45:20
vars:
- node_hosts:
- front1.XXX.YYY
- front2.XXX.YYY
В шаблоне:
{% for node in node_hosts %}
- '{{ node }}:{{ hostvars[node][port] }}'
{% endfor %}
подозреваю, что это какая-то магия с map, но не сообразить

bebebe
28.08.2018
12:00:43
я тут начал эксперементировать, и все равно не до конца понимаю исходную струтуру, да, в общем случае это решается через map.
если вы можете, то выложите на какой-нибудь pastebin данные (без NDA) и то что из них хочется получить
в приведенные вами выше примеры я не въезжаю.

Vadim
28.08.2018
12:02:56
map вернет список емнип

bebebe
28.08.2018
12:03:41
Ну там надо немного поколдовать

Paul
28.08.2018
12:04:29
попробую про данные:
- у меня есть таск, который получет список хостов
- у каждого хоста в хостс прописана переменная (port, да)
- мне нужно в шаблоне получить по каждому из этих хостов собственно хостнейм, ip хоста и порт, который прописан в hosts как переменная
причем у меня могут быть как собственно хосты, так и группы хостов
вопрос в первую очередь в группах

Vasyl
28.08.2018
12:05:12
а что значит когда в таске hosts перечислены через : ?

Paul
28.08.2018
12:05:14
пока что я просто передаю группы отдельной переменной и делаю цикл по группам, а в нем - цикл по хостам в группе

Google

Paul
28.08.2018
12:05:57
это просто запись. вывод в шаблоне вида - ip:port (127.0.0.1:8080).
вот так в конфиге выглядит работа с группой:
{% if node_groups is defined %}
{% for node_group in node_groups %}
{% for node in groups[node_group] %}
- '{{ node }}:{{ hostvars[node][port_var] }}'
{% endfor %}
{% endfor %}
{% endif %}
мне это жутко не нравится и я хочу все хосты из всех групп и все хосты просто упаковать в одномерный список

bebebe
28.08.2018
12:33:14
у меня пока такое выходит
"{{ groups['node_group'] | map('extract', hostvars, [ 'inventory_hostname', 'port' ])
но вариант не рабочий :(
там надо еще немного поэкспериментировать впринципе.
http://termbin.com/7zm5
конструкция to_json | from_json нужна для серриализации данных, иначе в json_query попадает типы 'AnsibleUnicode' и прочее в которые jmethpath не может и трейсит
https://github.com/ansible/ansible/issues/27299
"msg": [
[
"node2:2",
"node3:3",
"node1:1"
]
]
это то что нужно?
до двоеточия inventory_hostname, после - port