George
vpn поднять красиво внутри самого ансибла на контроллере - такое себе, проще договориться, что контроллер всегда подключен по впн к указанной группе узлов, ну, и норм ) и ты в ансибле только по ссш ходишь
Oleg
ок. спасибо
Oleg
Привет. Кто-то сталкивался с проблемой boto3 required?
Oleg
Суть - пытаюсь получить инфу о сабнете через сабнет ид.
Grek 🇺🇦
в чем проблема?
Oleg
Получаю failed boto3 required for this module
Grek 🇺🇦
какой модуль?
Отделение Bereke Bank
pip install boto3
Oleg
При этом boto3 установлен - pip3 show показывает инфу о нем.
Grek 🇺🇦
а интерпритатор точно 3 используется?
Гайрат
Oleg
Модуль ec2_vpc_subnet_info
Oleg
Grek 🇺🇦
в ансибле какой интерпритатор используется? запустите плейбук с -vvv и посмотрите
Oleg
Python version = 3.6.9
Sebor▂▅▇█▓▒░
Oleg
С - vvv?
Oleg
fatal: [localhost]: FAILED! => {"changed": false, "msg": "boto3 is required for this module"}
Vladislav 👻
А не где запускаете
Oleg
pip3 show boto3
Name: boto3
Version: 1.14.51
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email: UNKNOWN
License: Apache License 2.0
Location: /usr/local/lib/python3.6/dist-packages
Requires: botocore, jmespath, s3transfer
Grek 🇺🇦
пользователь под которым запускается плейбук, для него точно установлен boto3?
Vladislav 👻
Еще раз, модуль должен стоять, не там где запускается плейбук, а куда он идет
Vladislav 👻
И в соответствующий интерпретатор, соответственно
Oleg
А не где запускаете
ОК. Вот есть модуль. https://docs.ansible.com/ansible/latest/modules/ec2_vpc_subnet_info_module.html
Пытаюсь заюзать эту часть:
———————————
- ec2_vpc_subnet_info:
subnet_ids: subnet-00112233
———————————
Vladislav 👻
И?
Oleg
- hosts: localhost
connection: local
gather_facts: False
vars:
subnet: "subnet-c8d80ca3"
tasks:
- name: Get subnet info
ec2_vpc_subnet_info:
subnet_ids: subnet-c8d80ca3
register: subnet_info
- name: Get debug info
debug:
var: "{{ subnet_info }}"
Oleg
Это весь плейбук.
Oleg
Правильно ?
Oleg
Вары даже не нужны - все прописано в таске.
Vladislav 👻
Не уверен, тут и локалхост и конекшин локал
Vladislav 👻
Какой-то ахтунг
Vladislav 👻
И что в инвентори для данного хоста вообще неизвестно
Oleg
А как правильно?
Grek 🇺🇦
это норм, чтоб на локалхост ходить без авторизации
Oleg
У меня нет никаких инстансов. Есть сабнеты, где мне надо будет сотворить инстансы.
Oleg
И я хочу получить инфу о сабнетах.
Oleg
Vladislav 👻
Где указан интерпретатор для локала?
Oleg
head -1 $(which ansible)
#!/usr/bin/python3
Vladislav 👻
Вангую, попадает во второй
Vladislav 👻
Vladislav 👻
Не надо путать место запуска и обработку
Oleg
Так запускается на localhost
Oleg
[local]
localhost ansible_python_interpreter=/usr/bin/python3
Oleg
это инвентори
Oleg
Об этом вопрос был?
Oleg
К тому же:
pip show boto3
Name: boto3
Version: 1.14.51
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email: UNKNOWN
License: Apache License 2.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: botocore, jmespath, s3transfer
Oleg
Под python2 этот модуль тоже установлен
Vladislav 👻
Значит что-то не так, сделай в дебаге вывод интерпретатора
Grek 🇺🇦
под кем запускается плейбук, и для какого пользователя установлен модуль?
Grek 🇺🇦
нет ли там какого-то become?
Oleg
Устанавливал глобально из под рута:
pip3 install boto3
Grek 🇺🇦
запустите плоейбук от рута, проверьте
Grek 🇺🇦
я думаю что для юзера под которым раните плейбук нет этого модуля
Vladislav 👻
Рутовые доступны всем
Oleg
Нашел. Всем спасибо. Видать ранее локально для рута кто-то устанавливал 'jmespath' от которого зависит boto3.
Oleg
Через ансибл не видно. Написал тестовый .py с одной строкой:
import boto3
Oleg
и тогда увидел что не находит этого модуля.
Alex
а можно ли записать
when:
- ha_node_type is not defined or ha_node_type == 'master'
в более короткой форме, что то типа
when:
- ha_node_type in ['undefined', 'master']?
i4l
i4l
Не обязательно, но именно про изолированные среды внутри которых отдельный инстанс
Отделение Bereke Bank
Кто нибудь юзает ссанную роль https://github.com/nginxinc/ansible-role-nginx ? не могу фильтрами вытащить из nginx_http_template все значения server_name. пробовал так nginx_http_template.values() | json_query('[*].servers[*].server_name') - пустой рез-т. Может кто делал?
Отделение Bereke Bank
Пример переменной там же https://github.com/nginxinc/ansible-role-nginx/blob/0.14.0/molecule/common/playbook_template.yml#L45
Andrei
Господа, извините, что не по теме, но может кто знает каналы, где обсуждают YANG data modelling, netconf/restconf, confd ? В первую очередь интересует YANG
Aleksandr
Отделение Bereke Bank
Aleksandr
Aleksandr
хотя есть разночтения, на сайте проверка работает вот так
*.servers[].*.server_name
Aleksandr
на ансибле в любом из вариантов будет работать
Отделение Bereke Bank
в итоге получается list list-ов. ну хоть что-то) спасибо еще раз
Aleksandr
Alex
Отделение Bereke Bank
во збс. всратый синтаксис...
user
Приветствую, а напомните какой синтаксис для запуска плэйбука для одной машины?
Aleksandr
user