inqfen
Я тут снова с вопросом по ec2 inventory plugin
inqfen
Таки есть кто, кто юзает?
inqfen
inqfen
в питоне первый элемент списка это нулевой
Nikolay
Вопрос, мне чтоб раскатать контейнера на хосты через ansible, нужно установить на клиентских машинах через pip докер модуль, а повлияет ли установка этого модуля на состояние текущих запущенных контейнеров? Помнится прошлый раз мне изрядно пришлось поковыряться с установкой этого модуля
Max
Eduard
- pip: name=docker-py
George
Nikolay
Разве когда накатываешь через бибу, не меняется используемый докер?
Sergey
Nikolay
- pip: name=docker-py
Я помню, что в прошлый раз, этот модуль мне не помог, пришлось вообще делать через easy_install
Eduard
.....
Eduard
Ты на оракл линупсе штоль?
Nikolay
дебиан
Sergey
если ты удалишь докер-модуль у тебя докер не поломается, ты просто им не сможешь управлять
Nikolay
Eduard
debian, работает.
Eduard
дебиан
https://github.com/egeneralov/docker/blob/master/tasks/main.yml#L55
Nikolay
а когда ставишь просто docker, то ставится полностью
George
Eduard
😂
Eduard
Пашут, и пох
Eduard
Типо я не претендую на geerlingguy
George
только мне больше сольтовская нравится. Тут ждать 100500 лет, пока нужные параметры будут внедрены
George
типа я говна нахавался с bip
George
его тут нет
Eduard
Параметры ... ?
George
https://github.com/egeneralov/docker/blob/master/templates/daemon.json.j2
Eduard
А
Eduard
Знаю
Eduard
Переделаю
Eduard
Просто давно хуёкер не накатывал, если честно
George
https://github.com/salt-formulas/salt-formula-docker/blob/master/docker/files/daemon.json
George
имхо примерно так выглядит каконичный и универсальный способ пропихнуть любые переменные
Eduard
ШТА
George
ну, и они просто все параметры из пиллара словариком тянут
George
и никакого гемора
George
а у меня файл докера выглядит так:
gaal@linux-x1:~> cat /etc/docker/daemon.json
{
"ipv6": false,
"bip":"192.168.10.1/24",
"default-runtime": "oci",
"runtimes": {
"oci": {
"path": "/usr/sbin/docker-runc"
},
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
George
иногда приходится и такое писать ;(
Eduard
okay
Eduard
wait a minute
inqfen
Eduard
@gecube fixed
inqfen
---
plugin: "aws_ec2"
aws_access_key_id: *
aws_secret_access_key: *
regions:
- us-east-2
groups: worker
filters:
tag:role: "worker"
tag:env: "testing"
tag:component: "kubernetes"
compose:
ansible_host: "public_ip_address"
Eduard
https://github.com/egeneralov/docker/blob/master/defaults/main.yml#L13
Eduard
Давно хотел запилить, руки не доходили.
inqfen
хосты ищутся, но в группу worker не попадают
Eduard
Верификацию пока не запилю, ибо команды для такого не видел.
George
Eduard
Eduard
Мне давно зашло, либо диктами, либо так
George
полноценная верификация (что пользак написал live-restore, а не li-restore) - это вообще отдельный обработчик надо
Eduard
....
George
нет
Eduard
Один бинарь на гошке накидать с импортами из клиента.
George
на самом деле роль может быть очень умной и подсказывать, что этот параметр не совместим с текущей версией докера, например
Eduard
Или на ансабле через vars + assert
Eduard
George
но мне кажется, что это может взорваться сильно в бОльшем количестве случаев, чем простой дикт
Eduard
Верификацию - сча подумаю
Max
inqfen
Да, я уже тоже посмотрел
inqfen
Только что должно быть в ключе и значении блин
Max
в код плагина можно глянуть.
inqfen
Ну похоже придётся
Max
глянь, сделай одолжение.
Max
там есть длинный докстринг, если не помогает, зри в код.
inqfen
Посмотрел
inqfen
Вот отсюда наследуется
inqfen
https://docs.ansible.com/ansible/latest/plugins/inventory/constructed.html
inqfen
groups:
worker: inventory_hostname.startswith('ec2') что-то вроде-такого работает
Oleg
а можно как ниб stdout_lines отсортировать?
Eduard
Oleg
Eduard
@gecube review please.
https://github.com/egeneralov/docker/commit/85eab75255234d66d22e5154a0303357947aecc7
George
looks like a charm