@pro_ansible

Страница 562 из 625
Sheridan
27.08.2018
15:52:58
Доброго вечера. Комрады, как блин в условие запихнуть "если каждый элемент этого массива есть в том массиве"?

when: foo_array in bar_array ?

но нет же, подразумеваться будет что bar это массив массивов

а вообще задача разрезольвить все ip хоста даже в том случае, если оно при dig отдаёт разные списики...

Google
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
По домену можно узнать AS, по AS - все возможные IP.
очень интересно какая связь между доменом и AS

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
domain -> ip -> network -> AS
РКН с такой же логикой пол-Амазона заблочил.

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
потому что исходные данные - доменные имена

Maksim
27.08.2018
17:11:02
Спасибо

Нарах

Нунах

bebebe
27.08.2018
17:11:30
потому что исходные данные - доменные имена
Опишите, какую задачу вы решаете

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

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

s/которые/чать из них/

bebebe
27.08.2018
17:39:18
есть список доменных имен, которые резольвятся в разные ip при повторном запросе. Есть вайтлист, куда надо добавить эти ip. Надо максимально разрезольвить
В общем случае задача не решаема. В одно время вам выдаётся определенный список адресов. Спустя полчаса - другой

Sheridan
27.08.2018
18:17:02
В общем случае задача не решаема. В одно время вам выдаётся определенный список адресов. Спустя полчаса - другой
ну я тащемто пришол с вопросом "как в when|until сделать проверку 'все элементы массива присутствуют в другом массиве'"...

Google
Sheridan
27.08.2018
18:19:17
с учетом порядка?
неважно. Хотя конечно можно и |sort при сравнении

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

Roman
27.08.2018
18:27:20
domain -> ip -> network -> AS
умно конечно, только к одному домену могут быть привязаны адреса хоть из 10 AS

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

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
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
Чей это бот? Можно исходники, пожалуйста, хотю его в канал себе подрубить

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
https://github.com/Civil/github2telegram
Спасибо Не ожидал, что ботов пишут на go тоже

Алексей
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
На баше))
bash + jq + curl

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
пет-прожект предполагает минимальные накладные, а нода память жрёт как чо и есть.
Понятно. Но на самом делеле, за 5 лет, я не замечал, чтобы нода очень сильно жрала память. Вот на тяжелых проектах она любит кушать процессор из-за однопоточной природы, и там конечно начинается геморрой с тем, чтобы ее масштабировать.

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

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

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' ]) но вариант не рабочий :(

там надо еще немного поэкспериментировать впринципе.

вот так в конфиге выглядит работа с группой: {% 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 %}
я тут немного продвинулся, установите библиотеку jmethpath и попробуйте такое --- - hosts: localhost gather_facts: false vars: jq: "[].{endpoint: join(':', [ inventory_hostname, to_string(port) ])}" tasks: - debug: #msg: "{{ groups['node_group'] | map('extract', hostvars) }}" msg: "{{ groups['node_group'] | map('extract', hostvars) | list | to_json | from_json | json_query(jq) }}"

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

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