Alexey
Georgy Kharitonov
ребята, привет.
как мне из переменной типа ключ-значение сделать список, состоящий из только значений?
условно говоря, есть:
var:
key1: ['value1','value2']
key2: ['value3']
на выходе должно быть типа ['value1','value2','value3']
что-то туплю с утра.
Гайрат
Отделение Bereke Bank
Соре щас на пастебин кину. Оказса портянка
Отделение Bereke Bank
пытаюсь поставить AWX. Вроде все требования к хост системе выполнены (всякие pip-ы и прочее). Выходит ошибка
Не пойму в чем дело
https://privatebin.net/?b2370c0821fc2e2e#8Pnb7gNCRj5J1u5JLEQ8LPsf5KMbTik99JacetK9zTLe
UglyKoyote
а модули к питону все в наличии?
Отделение Bereke Bank
ну он просил только docker и docker-compose - я и поставил
UglyKoyote
а что в самой роли local_docker? я бы попробовал в ручную "повторить". ну или системные логи смотреть, может там больше деталей
Timur
Timur
Aleksandr
извини, но в моем мире это нифига не очевидно =) "unhashable type list" != "мне нужна строка, а не список". если бы было написано конкретно что ему нажна строка... глупая ошибка, да. Спасибо за разъяснения. А можно как-то передать список к селектатрибуту? сейчас я делаю var = list | join('|') и потом селектатрибуту передаю уже строкой все элементы разделенные символом | - типа регулярка.
Georgy Kharitonov
Timur
Отделение Bereke Bank
AWX install-ер же должен работать с python 2.7?
Отделение Bereke Bank
сделал pip install more-itertools==5.0.0. Все завелось 😒
UglyKoyote
я не ставил AWX, пока повода нету пощупать
UglyKoyote
но ошибка намекала на проблемы у питона с модулями. что ты и подтвердил)
Отделение Bereke Bank
https://github.com/erikrose/more-itertools/issues/272#issuecomment-462612920
Отделение Bereke Bank
это жесть конечно. Редхатовский продукт с таким гемороем ставится на редхатовской ОС. Могли бы и облегчить задачу с установкой, раз уж CentOS 7 остается с python 2.7 до конца своих дней
Aleksandr
Посоны, а как смержить 2 списка в новый список?
list1:
- value1
- value2
list2:
- value3
хочу получить:
list3:
- list1:
- value1
- value2
- list2:
- value3
Vladislav 👻
list3:
- {{ list1 }}
- {{ list2 }}
Дмитрий
Добрый день.
Коллеги, подскажите пожалуйста. Если у меня есть сервер управления с админской учеткой ADM323 и 3 хоста, 2 из которых с учетками ADM323, а на третьем есть только учетка administrator. Если я хочу удаленно управлять всеми машинами, то мне нужно либо создать пользователя ADM323 на третьем хосте, либо в инвентарном файле добавить ansible_user=administrator (и добавить ключ, либо вписать пароль)?
Aleksandr
list3:
- {{ list1 }}
- {{ list2 }}
нет, это не то. получается во так:
ok: [xxx] => {
"list3": [
[
"value1",
"value3",
"value 5"
],
[
"value2",
"value4",
"value 6"
]
]
}
inqfen
Tamerlan
имею такую структуру:
.
├── ansible.cfg
├── inventories
│ ├── development
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts
│ └── production
│ ├── group_vars
│ │ └── all.yml
│ └── hosts
├── playbooks
│ └── base.yml
├── README.md
└── roles
запускаю роль так:
ansible-playbook -i inventories/development/hosts playbooks/base.yml
переменные из inventories/development/group_vars/all.yml не подхватываются - в чём может быть проблема?
Sergey
NM
Как env прописал ?
Sergey
ansible-playbook -i inventories/development playbooks/base.yml
Sergey
вот так надо, чтобы inventory указывал на каталог
Sergey
тогда будет работать вся нужная магия
NM
Вот вот
Tamerlan
а, оказывается я переменную проверял неправильно :)
Tamerlan
как я делал, так тоже работало
r
подскажите best practices по использованию ролей из galaxy.
хороша ли идея создавать свою роль и в ней через defaults указывать импортированную роль, чтобы если потребуется обновить добавленную роль, все настройки в ней не слетали. или не стоит заморачиваться и сразу вносить изменения в готовую роль?
Nikita
Nikita
Как раз в доке прочитал про это
Sergey
Artem
Добрый день, подскажите пожалуйста есть ли служебная переменная в ansible которая возвращает имя группы в inventory в которой состоит хост?
Например как {{ inventory_hostname }} только получить название группы в которой он состоит?
Alex
group_names
List of groups the current host is part of
Artem
Nikolay
Ребят, привет! Использовал ли кто-нибудь nmap как dynamic inventory? Вопрос с группировкой возник
Sergey
Dmitry
O_o
не ответил вовремя на пинг - не сервер
Nikolay
O_o
https://docs.ansible.com/ansible/latest/plugins/inventory/nmap.html
Sergey
Sergey
Это правда про инфраструктуру как код?
Sergey
Sergey
Dmitry
вот да, наверное так
Но раз есть официальный плагин - даже тег "странно" не повесить 😛
Sergey
Sergey
Nikolay
ну скорее какой динамик инвентори особой роли не играет, у них вроде одинаково выдает _meta, hostvars.
Хочется использовать параметр groups к хостам у которых в ports есть 22
{
"_meta": {
"hostvars": {
"mytestserver.domain.ru": {
"ansible_host_key_checking": false,
"ansible_ssh_private_key_file": "/Users/ansible/id_rsa",
"ip": "10.10.100.3",
"ports": [
{
"port": "22",
"protocol": "tcp",
"service": "ssh",
"state": "open"
}
]
}
}
}
но вот как достать с помощью Jinja2 не могу понять
Sergey
Sergey
..... но зачем?
Nikolay
есть пул серверов в подсети 24, nmap’ом пройтись и посмотреть у кого 22 порт открыт, отнести их к группе Linux
к примеру.
Logan
Mentat
Nikolay
User
Можно нмапом отсканить по операционкам, а потом файл получившийся распарсить в разные по осям.
Nikolay
не самопроизвольное, просто если он появился, то все необходимые действия на нем выполнятся автоматом
Logan
Logan
меня не покидает ощущение, что вы подгоняете задачу под решение. Решение выглядит странно.
Nikolay
Nikolay
Как представляю флоу:
- новый сервер в инфре
- проходится скрипт и определяет на Linux, ставит консул агента
- Ставит нод экспортера
Sergey
Logan
Nikolay
но зачем?
но зачем если можно сделать руками?
Sergey
@Nikolay правильный ответ звучит так: вот исходники того куска кода, который обеспечивает поддержку keyed_groups.
Здесть есть примеры.
https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/inventory/constructed.py
Nikolay
Logan
Logan
OVF template или все-таки загрузка по сети и запуск unattended-инсталлятора?
Nikolay
не знаю, получаю по указанным параметрам машину и далее уже доустанавливаю то чего не хватает