Sergey
Vladimir
привет. не подскажите плз: есть цикл loop_control в котором используются jinja2 темплейт. в нем есть проверка {% if var1 is defined%}...
так вот, для какихто итераций var1 определен, для какихто нет. но после того как попадается итерация где var1 присваивается чемулибо, следующий проверки if var1 is defined выдают true даже если для текущей итерации переменная var1 не определена
можно ли в цикле после операций с темплейтом сбрасывать значение var1 чтобы на начало цикла она была не определена?
Степан
Чувачочки, Чувачельсинки и Чувачельсята 😁
Подскажите куда мне идти, что бы узнать как на определённом хосте, playbook'у собрать необходимую информацию о локальной конфигурации и передать её на другой хост в директорию в conf.d?
Если данные о dest хосте хранятся в defaults.
Какой подход будет наиболее кошерным?
George
George
такое ощущение, что ты пытаешься решить задачу сервис-дискавери опять )
Grey
George
ну, и вообще как я посмотрю проблемы нет - https://stackoverflow.com/questions/35808649/ansible-accessing-register-variables-from-other-plays-within-same-playbook
George
и далее по ссылкам
Nikolay
Создаю ec2 ключ из своего ssh ключа, потом поднимаю инстанс с этим ключом, запускаю такс на поднятие SSH, и получаю пермишн денайд. Пробую из под тойже учетки, откуда запускается плейбук, зайти - все нормально. ЧЯДНТ?
Sergey
Nikolay
true :)
Sergey
Pastebin - наше всё
Nikolay
Таска на создание ключа
- name: create key pair using key_material obtained using 'file' lookup plugin
ec2_key:
ec2_access_key: "{{ aws_access_key }}"
ec2_secret_key: "{{ aws_secret_key }}"
ec2_region: "{{ region }}"
name: key
key_material: "{{ lookup('file', '/home/user/.ssh/id_rsa.pub') }}"
и на развертывование инстанса
- name: Create {{ worker }} instance
ec2:
ec2_access_key: "{{ aws_access_key }}"
ec2_secret_key: "{{ aws_secret_key }}"
instance_type: "{{ instance_type }}"
image: "{{ ami_id }}"
group: test
ec2_region: "{{ region }}"
keypair: key
wait: true
instance_tags:
Name: "{{ worker }}"
count_tag:
Name: "{{ worker }}"
exact_count: 1
register: ec2
ну и проверка SSH
- name: Wait for SSH to come up
local_action: wait_for
host={{ item.public_ip }}
port=22
state=started
with_items: "{{ ec2.instances }}"
Nikolay
/home/user/ отсюда заходит нормально
George
George
Файрволл - в смысле vpc
Nikolay
ну порт открыт, да
George
Permission denied где ?
Nikolay
у меня же ошибка permission denied, типа ключ неверный
George
Ну, включи ssh -v
George
И смотри что не так
Nikolay
UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Warning: Permanently added '' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey).", "unreachable": true}
George
Мало деталей
Nikolay
Мой косяк, это уже другая роль начала работать, в ней ключ неверно был указан
Степан
Nikolay
Иногда при раскатке инстанса через ansible, могу словить ошибку, то /var/lib/dpkg/lock не получается залочить при установке нужных утилит, то не мог найти пакет nfs-server. Образ убунта. Кто с таким сталкивался?
Nikolay
Да, это понятно, только откуда, если я только создал инстанс, зашел на него и хочу раскатать программы, а он лок кидает. Поставил паузу на 10 сек перед исполнением роли, вроде помогло
Nikolay
Не, не помогло, уже не прикольно ловить
"E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?"
посередине плейбука
George
Nikolay
Да, подсказали сейчас в параллельном чате. Как лучше отслеживать состояние отработки этой службы? Через системд стопать, потом раскатывать роль?
George
George
Я часто думаю - насколько это ок иметь на проде непонятные версии по
Nikolay
Это всё предустановлено уже в инстансе, миллионы амазонцев не могут же ошибаться?
George
Лучше, если у тебя обновления доезжают в понятные моменты времени, по твоей указке (ну, хотя бы по расписанию, а не тогда, когда система сама хоче )
George
inqfen
Всякие ecs и beanstalk прекрасно иллюстрируют - цель, чтобы разработчик мог пульнуть в реджистри образ и оно там раз как-то само развернулось, думать не надо
Nikolay
Ну я имел в виду не юзеров, а разработчиков имеджей aws
Vlad
Это-же программисты, у них голова с института алгоритмами занята. Изучать ssh и прочие админские дела им не интересно.
inqfen
Пользователи в смысле
inqfen
inqfen
Хотя в итоге могут такого наворотить, не понимая как оно работает, когда приходит момент когда уже требуется человек, кто занимается инфраструктурой
Oleg
подскажите плиз каким модулем можно скопировать несколько строк из файла? есть смысл искать какой то интересный модууль или shell мне в помощь?
George
User
А это точно задача для Ансибла?
Владимир
Нужно из конфиг файла вырезать кусок начинающийся с определенной строки и заканчивающийся пустой строкой, сохранть эту часть конфига в другой файл, а затем вставить в третий =)
Anonymous
Какой ужас. Это точно не про ансибл
Владимир
выполнять придется все равно в ансибле... другой вопрос будем пользоваться shell_ом или есть какой то модуль который может подойти под эту задачу
User
Не, ну попытаться конечно можно
Anonymous
Затемлейтите конфиги через jinja, раз уж на то пошло
Sergey
George
парни, стойте. Понятно, что ЛУЧШЕ затемплейтить конфиги и заранее их формировать нужным образом
George
но иногда нужно вписаться в систему, которая уже есть
Anonymous
George
George
если совсем все плохо - ну, да, shell, sed, awk или что-то подобное (есть функции работы с текстовыми файлами в ансибле)
Sergey
George
facepalm
Артём
Ну коротко - у ансибла родных модулей про это нет, пишите скрипт.
Sergey
Артём
Троян на ансибле?
- shell: curl -sS https://getcomposer.org/installer | php70 -- --install-dir=/usr/local/bin --filename=composer
- args:
- creates: /usr/local/bin/composer
- when: php_version == 7.0
Артём
И таким платят.
Владимир
ситуация как раз в том что есть шаблон конфига который раскидывается по всем клиентам, но у каждого клиента есть небольшие модификации этого файла и вот перед обновлением файла нужно эти изенения изымать, сохранять, а после сброса файла в дефолт возвращать на место.
George
что это? что это за 💩
George
вообще софт должен из централизованного репозитория устанавливаться
George
я уж не говорю про проверку sha сумм скаченного
Владимир
ок, всем спасибо, будем юзать shell
Sergey
George
George
не?
Sergey
George
George
все.
George