
Blue_Wolf
02.04.2018
09:47:16
I Know this Ansible Channel, But Is there are any "Puppet" supporter :)

Bogdan (SirEdvin)
02.04.2018
09:50:24
Мда, какая-то черная магия. Может кто-то сталкивался с тем, что ansible может выдавать такой миленький json в виде ошибки, во время сбора фактов?
fatal: [server_name]: FAILED! => {
"changed": false,
"cmd": "None -s system-product-name",
"invocation": {
"module_args": {
"fact_path": "/etc/ansible/facts.d",
"filter": "*",
"gather_subset": [
"all"
],
"gather_timeout": 10
}
},
"msg": "[Errno 2] No such file or directory",
"rc": 2
}

Даниил
02.04.2018
09:54:21
кто-нибудь может подсказать, как сделать loop с условием?
with_items:
- { item: "{{ backup_profiles }}" }
- { item: "{{ restore_profiles }}", when: db_stage_restore }
пробую так - бьет синтакс ошибку

Bogdan (SirEdvin)
02.04.2018
09:55:00
Можно кастомным фильтром)

Google

Даниил
02.04.2018
09:59:44
а так, как я написал выше?

Vadim
02.04.2018
10:01:47

Даниил
02.04.2018
10:02:07
хм, сейчас попробую
только там есть момент с undefined variable
сейчас разберусь уже сам

Bogdan (SirEdvin)
02.04.2018
10:14:34
Мда, какая-то черная магия. Может кто-то сталкивался с тем, что ansible может выдавать такой миленький json в виде ошибки, во время сбора фактов?
fatal: [server_name]: FAILED! => {
"changed": false,
"cmd": "None -s system-product-name",
"invocation": {
"module_args": {
"fact_path": "/etc/ansible/facts.d",
"filter": "*",
"gather_subset": [
"all"
],
"gather_timeout": 10
}
},
"msg": "[Errno 2] No such file or directory",
"rc": 2
}
Если кому-то интересно, то ребята из Hetzner или ребята из Ansible (а в целом обе команды) редкие ручкохлопы. Hetzner запилил свою систему виртуализации, которая не детектится средствами ansible, а те не могут это нормально обработать, потому что на серверах нет dmidecode.
Прям заходи и создавай тематический issue

Даниил
02.04.2018
10:56:40
такой вариант, конечно, тоже работает и подходит, но как-то нехорошо получается

Daniyar
02.04.2018
12:04:03
всем привет

Vadim
02.04.2018
12:04:33

Leonid
02.04.2018
12:06:17
Ребят, кто-нибудь автоматизировал установку ОС на хост в vSphere? Поделитесь опытом)
Хочется с помощью Ansible создавать хост, стартовать и автоматом накатывать ось...
У меня пока только мысли насчет cobbler сервера...

Google

Daniyar
02.04.2018
12:06:30
есть задача, есть инвентори с хостами, нужно на nginx добавить циклом апстримы из инвентори, сделал так, но так нихрена неправильно server {{ hostvars[groups['servers'][0]]['ansible_host'] }}:{{ api_port }} max_fails=3;

Sergey
02.04.2018
12:06:53

Daniyar
02.04.2018
12:07:30
ведь количество хостов может поменяться, а за эти следить желания нет

Алексей
02.04.2018
12:07:34

Leonid
02.04.2018
12:09:09

Даниил
02.04.2018
12:12:41
omit
не работает таким образом. ругается на отсутствие переменной:
"The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'name'
я сделал с пустым словарем и такой вариант подошел

Vadim
02.04.2018
12:21:15

Даниил
02.04.2018
12:23:21
а там в словаре идут параметры
вот такого формата
- name: etc
purge_schedule: 0 3 * * * # At 3am every day
backup_schedule: 30 3 * * * # At 3am every day
source: /etc
target: "{{ s3_bucket_link }}/{{ backup_hostname }}/files/etc"

Vadim
02.04.2018
12:29:04
Нутк omit полностью пропустит этот item. Нужно default совать

Даниил
02.04.2018
12:32:27
- "{{ restore_profiles if db_stage_refresh else empty_profiles }}"
сделал так, где empty_profiles: []

Nklya
02.04.2018
12:54:55

Leonid
02.04.2018
13:01:23
Я пока вижу только связку VSphere + Cobbler (rhel) будет.

Nklya
02.04.2018
13:04:32
Зачем коблер, зачем исо?
Он умеет из шаблона поднимать инстанс.

Leonid
02.04.2018
13:10:58
Ну что сразу)) Расскажи поподробней пожалуйста) Я в vSphere никогда глубоко не копался...
Уже доку прочитал)

Алексей
02.04.2018
14:16:22
в ансибл тайсктаймаут так и не завезли да ?

Google

Ivan
02.04.2018
15:07:04
Что-то про тайм-аут видел в исходниках, могу посмотреть, что это было

Ievgen
02.04.2018
16:35:54
Парни, а кто то заморачивался lookup в lookup делать? Ну или конкретно мне надо получить контент и нарисовать его как шаблон, есть lookup('url') и lookup('template') но второй сцуко таботает только с локальным файлом, может я конечно странного хочу, но тем не менее...

Sergey
02.04.2018
16:55:58
попробуй модуль copy с указанием вместо src параметра content, равного чему-нить типа "{{ variable }}"

Ievgen
02.04.2018
16:58:00
мм, я не копирую, сам файл шаблона не находится на оркестраторе
ну или я тебя не понял
мм вижу директиву content в copy
вот если бы такую же в template
например
но это все равно немного не решает
потому что lookup(url, 'http://чтото/файл') я делаю в body модуля uri

Ivan
02.04.2018
17:02:41

Ievgen
02.04.2018
17:05:09
ща

Ievgen
02.04.2018
17:05:33
не
вообще не то

Алексей
02.04.2018
17:07:33
вообще вспоминая вопрос "зачем писать сложно" хочется сказать что ты стрельнеш себе в ногу. но я думаю ты это и так знаешь
но вообще выглядит будто первый лукап должен где то выше быть развенут через факт

Ievgen
02.04.2018
17:09:53
думал над этим

Алексей
02.04.2018
17:10:06
но если у тя там with то всё.

Ievgen
02.04.2018
17:10:09
но темплейтнуть значение переменной же не получится
или получится

Google

Ievgen
02.04.2018
17:10:31
?

Алексей
02.04.2018
17:11:02
или ты вопрос не так задаешь или в виду что то другое имеешь
но темплейтнуть значение переменной вполне получится. это как раз и есть темплейт

Ievgen
02.04.2018
17:11:51
окей, перефразирую
если я помещу в переменную через set_fact контент файла содержащего jinja включения

Admin
ERROR: S client not available

Ievgen
02.04.2018
17:13:43
как мне их раскрыть? ну допустим контент lorem ipsum {{ inventory_hostname }} Blahblah
я делаю:
set_fact:
coolvar: "{{ lookup('url', 'http://coolhost/cool_template.j2') }}"
можно проверить конечно, но здается мне получится фигня
короче на вскидку проблема решаема если файл шаблона находится локально для оркестратора, если удаленно то походу нет
так что потенциально delegate_to: может помочь
но я не хочу (

Igor
02.04.2018
18:12:16

Ievgen
02.04.2018
18:12:28
я в курсе )
ты даже не 1000ный который по этому поводу проходится, ты же понимаешь да )

Igor
02.04.2018
18:13:17
)))

Wom
02.04.2018
18:13:19
нормальная. я знал 1с-"программиста" Косякова

Danila
02.04.2018
19:08:29
ERROR! 'shell' is not a valid attribute for a Play
как это так?
уася

Google

Андрей
02.04.2018
19:25:18

Vadim
02.04.2018
19:26:39

Ilmar
02.04.2018
20:24:28

Ievgen
02.04.2018
20:28:34
а кто то уже предлагал человеку пакер?
https://www.packer.io/docs/builders/vmware-iso.html
ну тоесть для подготовки готового к старту образа я имею ввиду

Robert
02.04.2018
20:30:27
https://github.com/mleonovvv/vpc/

Алексей
02.04.2018
20:30:45
вот это ворвался

Robert
02.04.2018
20:30:56
Наложу вам тут

Ievgen
02.04.2018
20:31:09
большую кучу?

Robert
02.04.2018
20:32:01
Большую нерабочую кучу селектеловский модулей для их VPC
Или несовместимые os модули с selectel VPC api
В общем, выполнить повторно такс для создания сервера не получается, ругается на отсутствие security group

Ievgen
02.04.2018
20:36:26
а она есть?

Алексей
02.04.2018
20:36:35

Robert
02.04.2018
20:37:34