Sergey
бротля сломан
Tadeusz
угу, видел
Pavel
Коллеги, напомните пожалуйста,
кода есть роль с перечислением входящих ролей
вида:
- { role: Webserver
#- { role: MariaDB
ведь не обязательно коментить роли которые сейчас не планирушь исполнять, есть же флаг чтобы исполнять только одну роль?
или я ошибаюсь?
или это про теги?
Aleksandr
Это про теги
Pavel
Это про теги
спасибо, и теги только в этом ямле, в сами роли их необязательно?
Alex
Tadeusz
а кто подскажет как пропихнуть {{ domain }} в эту схему? :)
- name: Simple A record (IPV4 address) lookup for example.com
debug: msg="{{ lookup('dig', 'example.com./A @8.8.8.8')}}"
username
Tadeusz
она передается env'ом
Victor
domain + './A @8.8.8.8'
Victor
?
Tadeusz
парни, как распарсить json результат? прилетает в таком виде:
ok: [localhost] => {
"id": {
"cache_control": "no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
"cf_cache_status": "DYNAMIC",
"cf_ray": "55ed43da1c94dab4-BGE",
"changed": false,
"connection": "close",
"content": "{\"result\":[{\"id\":\"1276763218763\,....
мне вот нужен id, который в result'е
Tadeusz
дергаю id.content.result[0].account.id - undefined
Tadeusz
если дергать id.content, то такой вывод:
Sunday 02 February 2020 15:49:15 +0000 (0:00:00.044) 0:00:03.172 *******
ok: [localhost] => {
"id.content": {
"errors": [],
"messages": [],
"result": [
{
"account": {
"id": "16265321574332",
Tadeusz
id.content.result - undefined тоже
#Rλatan
id.content['result']['account'].id
Andrey
Tadeusz
#Rλatan
Семееен Семееееныч
Хрен знает чио это значит, первое что пришло в голову без проверки
Глянь json_quire
Tadeusz
Tadeusz
#Rλatan
@aabramovich
Это ключ у вас с именем
id.content
?
ok: [localhost] => {
"id.content": {
Tadeusz
Tadeusz
#Rλatan
Переменная в регистре или фактах?
Tadeusz
#Rλatan
Нет {{ }}
Tadeusz
#Rλatan
А что выдает прии
- debug:
msg: "{{ id }}"
Сменить бы имя переменной...
Tadeusz
Tadeusz
Tadeusz
#Rλatan
в content не джейсон а строка походу, поэтому вы не можете искать по структуре
#Rλatan
var: {{ id.content | to_json }}
Tadeusz
#Rλatan
Вам там говорят в чем проблема
"{{ id.content | to_json }}"
Timur
Tadeusz
да херня это все)
Tadeusz
Timur
Если хотите фильтры в дебаге, то msg, а не var
Tadeusz
TASK [test : debug] ***************************************************************************************************
Sunday 02 February 2020 21:44:51 +0000 (0:00:01.457) 0:00:02.771 *******
fatal: [localhost]: FAILED! => {"msg": "template error while templating string: expected token 'end of print statement', got 'result'. String: {{\"{\\\\\"result\\\\\":[{\\\\\"id\\\\\":\\\\\"0f19ea...
Tadeusz
так ответ ведь и так в json'е
#Rλatan
явно не json в content
#Rλatan
и content type = string
#Rλatan
не структура
Tadeusz
не работает это.
Tadeusz
вернее, выдает не то что надо
Tadeusz
и я правда не понял про content: "{\"result\":[ {\"id\": \"la-li-la-li-da\"}]}"
какое еще la la la
#Rλatan
ок
#Rλatan
from_json
#Rλatan
не to_jsson
#Rλatan
#Rλatan
- set_fact:
content: "{\"result\":[ {\"id\": \"la-li-la-li-da\"}]}"
- set_fact:
json_content: "{{ content | from_json }}"
- debug:
msg:
- "{{ content }}"
- "{{ json_content.result[0].id }}"
#Rλatan
{
"result": [
{
"id": "la-li-la-li-da"
}
]
},
"la-li-la-li-da"
]
}
Tadeusz
и при чм тут la-li-la-li-da?
#Rλatan
да епт) это ваш id
Tadeusz
мне его значение и надо
#Rλatan
я не хочу перепечатывать с вашего скрина
Tadeusz
ну мой id, а зачем его писать там в виде lalala?)
Tadeusz
мда
#Rλatan
в общем
у вас content = string
вам нужно ее перевести в json objec -> from_json
можете использовать промежуточную перменную
или фильтр json_query
#Rλatan
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#json-query-filter
Tadeusz
я видел это уже
#Rλatan
ну проблему описал дерзайте, я бухать дальше
Tadeusz
так вы это и напечатали (id)
Tadeusz
в бошке все перемешалось уже
Tadeusz
при чем тут json_content вообще?
#Rλatan
это переменная которая содержит аля json похожий на ваш content c которой я и работаю фильтрами
#Rλatan
это пример, не стоит ctrl-C -> ctl-P без обдумавания делать
Антон
коллеги, столкнулся с необходимостью получить определенную переменную из всех переменных хостов описанных в host_vars (переменная называется везде одинаково)
подскажите пожалуйста как это лучше сделать?
Антон
задача - создать группы для всех существующих хостов основываясь на именах этих хостов. имена есть в варсас
Андрей
а почему через динамический инвентори нельзя это сделать?
Антон
Андрей
https://docs.ansible.com/ansible/latest/user_guide/intro_dynamic_inventory.html оф дока