George
он?
Andor
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/cloud/google/gc_storage.py
Andor
хм
George
ну, норм, промазал чутка
Anonymous
Подскажите пожалуйста как лучше сделать.
Есть роль, которая сетапит nomad серверы и клиентов.
Тип инстанса(сервер или клиент) определяется через установку типа в group_vars.
Проблема в следующем: nomad сервера у меня на амазоне и используется dynamic inventory plugin. А клиенты на bare-metal живут и для них отдельный статик инвентори есть.
Можно как-то эти 2 инвентори слить в один? Или это 'странное' и я не по тому пути иду?
Timur
Timur
Инвентарь в любом случае общий, но с разными плеями проще разные плагины использовать
Anonymous
Anonymous
@fortunately будет жить. Поприветствуем!
Anonymous
@alexinvest770 будет жить. Поприветствуем!
Timur
Anonymous
Timur
Ну вот и я о том-же
В смысле, что в этот инвентори ансибл может добавлять как статику, так и динамику
Oleksandr
баньте этого
simplemice.eth
+
Sheridan
Коморады, а можно сделать из роли икс include_role игрек так, чтобы оно видело templates из роли икс?
Sheridan
или только через передачу ../../икс/templates/.../file параметром?
Sergey
Sergey
😊
Sheridan
ну решение то наверху, да. Я надеялся на нечто более интересное ))
Sheridan
типа templates_from: икс
Vladislav 👻
#ненадотак
Vladislav 👻
Роли должны быть самостоятельными
Vladislav 👻
#ненадотак
Sheridan
понятно что это будет через
include_role:
name: nginx
tasks_from: deploy_conf.yaml
vars:
template: ../../role_x/templates/tmp.conf.j2
Sheridan
ну или как то так...
Алексей
Всем привет. Скажите, пожалуйста, как можно в инвентори-файле использовать одну переменную внутри другой?
Я хочу сделать так:
[test]
192.168.122.154 K8S_VERSION=v1.12.4 MINIKUBE_VERSION=v1.1.1 MINIKUBE_URL=https://storage.googleapis.com/minikube/releases/{{ MINIKUBE_VERSION }}/minikube-linux-amd64
То есть в переменной MINIKUBE_VERSION я указываю версию, которую хочу использовать в следующей переменной MINIKUBE_URL
Timur
Timur
Алексей
Timur
а можно пример?
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
Timur
all:
children:
usa:
children:
southeast:
children:
atlanta:
hosts:
host1:
host2:
raleigh:
hosts:
host2:
host3:
vars:
some_server: foo.southeast.example.com
halon_system_timeout: 30
self_destruct_countdown: 60
escape_pods: 2
northeast:
northwest:
southwest:
Алексей
Никита
подскажите, как stout команды засунуть в переменную внутри плейбука
Timur
Timur
Никита
Anton
товарищи, подскажите, как правильно в задачу передать инклюд роли, если она лежит уровнем выше (или несколькими уровнями).
Timur
Anton
если я запускаю плейбук вот так ansible-playbook path/to/some/dir.yaml
а роль у меня лежит в корне где начинается path
Timur
Timur
Один из путей - это путь с плейбукой, да. Но лишь один из
Anton
динамично добавлять туда я не могу каким то способом?
Timur
В каком смысле - динамично?
Anton
например из переменной окружения
Anton
добавить или жестко задать через переменную окружения путь до каталог с ролями
Anton
разобрался, спасибо
Timur
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_ROLES_PATH
Anton
ага, именно
Никита
как вывести переменную?
query('dict', variable)
выводит
"<type 'list'>: VARIABLE IS NOT DEFINED!"
Timur
Никита
я её через register из другой таски дергаю, там postgresql_query
Никита
- name: "Create list of indexes"
postgresql_query:
db: "{{ DB_NAME }}"
query: "select pg_namespace.nspname||'.'||pg_class.relname from pg_class, pg_namespace where pg_class.relnamespace = pg_namespace.oid and pg_class.relkind = 'i' and pg_class.relname not like 'pg_%'"
register: index_list
не уверен конечно в правильности запроса
Timur
И что в index_list в итоге?
Никита
query('dict', index_list)
выводит
"<type 'list'>: VARIABLE IS NOT DEFINED!"
Никита
нужно видимо список из key словаря выдернуть
Никита
- name: "Debug"
debug:
var: "{{ item }}"
with_items: "{{ index_list }}"
Никита
вот так
Timur
Просто дебаг index_list что показывает?
Никита
тыкните носом в доку по синтаксису, мне нужно сложную смесь словарей и списков распарсить
Sergey
Никита
нашел
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html
Anonymous
@oniino будет жить. Поприветствуем!
Anonymous
@rshukayl будет жить. Поприветствуем!
Vladislav 👻
Sergey
Nataliia
Всем привет. Кто сталкивался с fact_caching? Подскажите, в случае если включено кеширование фактов и в роли принудительно вызывается модуль setup, данные возьмутся из кеша или собирутся с машины?
Алексей
Всем привет. Просидел вчера несколько часов. перепробовал все варианты...
Пожалуйста, помогите. Мне нужно в текстовый блок вывести переменную в двойных кавычках. Мне нужно вставить в файл /etc/docker/daemon.json указанный блок, но переменная KX_REGISTRY_LOCAL должна появиться в файле в двойных кавычках. В моем случае она появляется в виде \"192.168.99.1:5000\". Уберу второй слеш - появится в виде \"192.168.99.1:5000", а вот если уберу первый слеш, то вообще все выводится в одну строку и в одинарных кавычках. Злости не хватает)
- name: Configure docker
vars:
KX_REGISTRY_LOCAL: '\"192.168.99.1:5000\"'
blockinfile:
path: /etc/docker/daemon.json
create: yes
block: |
{
"insecure-registries": {{ KX_REGISTRY_LOCAL }}
}
tags:
- configure-docker
Никита
ансибл с ума сошел
The error appears to have been in '/home/extadmin/CE/CE_postgre.yml': line 37, column 7, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: "Create ism_users table"
^ here
exception type: <class 'ansible.errors.AnsibleParserError'>
exception: no action detected in task. This often indicates a misspelled module name, or incorrect module path.
Никита
на плейбуке, который отлично на другом хосте работает
Никита
модулей не хватает, странно, я думал все сразу ставятся
George
Алексей
А зачем кавычки одинарные ?
А если делаю вот так:
- name: Configure docker
vars:
KX_REGISTRY_LOCAL: "192.168.99.1:5000"
blockinfile:
path: /etc/docker/daemon.json
create: yes
block: |
{
"insecure-registries": [ " {{ KX_REGISTRY_LOCAL }} " ]
}
tags:
- configure-docker
То файл создается такой:
# BEGIN ANSIBLE MANAGED BLOCK
{'insecure-registries': [' 192.168.99.1:5000 ']}
# END ANSIBLE MANAGED BLOCK
Anonymous
@nafan будет жить. Поприветствуем!
Владислав
Алексей
Владислав
Ну добавь, смысл думаю понятен