
Максим
19.09.2018
09:48:07

bebebe
19.09.2018
09:53:03

Максим
19.09.2018
09:54:19

bebebe
19.09.2018
09:54:31
понятно

Google

Максим
19.09.2018
09:54:32

bebebe
19.09.2018
09:54:32
вот ваш баг
https://github.com/ansible/ansible/issues/41312
strategy = free в ansible.cfg замените на strategy = serial и попробуйте запустить снова
почитайте за что эта опция отвечает: https://docs.ansible.com/ansible/2.5/user_guide/playbooks_strategies.html


Vladimir
19.09.2018
09:58:18
с бодреньким )
а кто-нибудь сталкивался с такой развлекухой:
есть хост, он принадлежит к двум групппам
у каждой группы свои групварсы и плейбуки работают по хостам обозванным группами
т.е. в инвентаре:
l2 - host
[walter]
l2
[site]
l2
в плейбуке 1
hosts: walter
в плейбуке 2
hosts: site
в group_vars/walter
nginx_port:8011
в group_vars/site
nginx_port:8022
разные порты для дебага
плейбуки запускают каждый свою роль
в плейбуке 1 роль была создана и отдебажена первой, все ок
затем скопирована в роль плейбука 2 и сделаны изменения в конфигах и прочем
при отработке плейбука 2 (site) групварсы берутся из групварсов другой группы (walter)
при этом, если его переименовать, то отрабатывается правильно, берет варсы из своего файла
но что более смешно, попробовал запустить первый плейбук (walter) с переименованным файлом его переменных, но ругани не получил, оно взяло варсы group_vars/site и типа все норм.....
а вот если убрать и второй файл, то тогда ругается что нет такой вары
сижу, чешу репу, не понимаю, как так......
проходила мимо Ванга, шепнула, что возможно ансиблу по барабану из какой группы брать варю, если хост и той и другой принадлежит.....


Maksim
19.09.2018
10:05:52
Есть такое)

Ivan
19.09.2018
10:06:36
https://t.me/pro_ansible/57937
разобрался, вот так надо было сделать
- mysql_user:
name: root
priv: '*.*:ALL,GRANT'
host: '%'
host: '%' - надо было указать

Fedor
19.09.2018
10:07:13
нехорошо так делать
небезопасно

Максим
19.09.2018
10:07:40

Google

Kanstantsin
19.09.2018
10:09:23
проблема в целевом хосте, но из-за чего, вообще не ясно

Ivan
19.09.2018
10:10:59
небезопасно
я понимаю, но мне надо было для того, чтобы мои коллеги тетсировщики могли юзать юай тулзовину, а то не все понимают CLI

Fedor
19.09.2018
10:11:39

Ivan
19.09.2018
10:12:15
не, у нас тест энвы дестроятся
они у нас независимы

Fedor
19.09.2018
10:12:28
я про плейбук :)

Ivan
19.09.2018
10:13:17
ааа, та мы его тоже только юзаем для тест энвов. Я сам мануальщик, просто решил облегчить жизнь коллег с некторыми задачами

Fedor
19.09.2018
10:13:59
?

bebebe
19.09.2018
10:15:37

Fitz
19.09.2018
10:42:15
привет. подскажите, таск может состоять из единственного notify?


Aleksey
19.09.2018
10:43:50
с бодреньким )
а кто-нибудь сталкивался с такой развлекухой:
есть хост, он принадлежит к двум групппам
у каждой группы свои групварсы и плейбуки работают по хостам обозванным группами
т.е. в инвентаре:
l2 - host
[walter]
l2
[site]
l2
в плейбуке 1
hosts: walter
в плейбуке 2
hosts: site
в group_vars/walter
nginx_port:8011
в group_vars/site
nginx_port:8022
разные порты для дебага
плейбуки запускают каждый свою роль
в плейбуке 1 роль была создана и отдебажена первой, все ок
затем скопирована в роль плейбука 2 и сделаны изменения в конфигах и прочем
при отработке плейбука 2 (site) групварсы берутся из групварсов другой группы (walter)
при этом, если его переименовать, то отрабатывается правильно, берет варсы из своего файла
но что более смешно, попробовал запустить первый плейбук (walter) с переименованным файлом его переменных, но ругани не получил, оно взяло варсы group_vars/site и типа все норм.....
а вот если убрать и второй файл, то тогда ругается что нет такой вары
сижу, чешу репу, не понимаю, как так......
- name: Manage MariaDB server
hosts: [ 'debops_service_mariadb_server', 'debops_mariadb_server' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
можно вроде так изменить повидение но это не точно


Fitz
19.09.2018
10:43:58

Aleksey
19.09.2018
10:45:10
вроде нет смысл notify теряется

Vladimir
19.09.2018
10:46:26

Sergey
19.09.2018
10:46:51

Fitz
19.09.2018
10:47:48
спасибо

Huan
19.09.2018
10:48:35
привет всем. подскажите как заставить ансибл авторизироваться в авс. создал плейбук, указал access_key и secret_key, но выдает "AuthFailure: AWS was not able to validate the provided access credentials"?
Вот пример плейбука:
---
- hosts: localhost
gather_facts: false
vars:
aws_access_key: "XXXXXXXXXXXX"
aws_secret_key: "XXXXXXXXXXXXXXXXXXXXXXXXX"
key_name: "keypair"
instance_type: "t2.micro"
image: "ami-xxxxxxxxxx"
wait: yes
vpc_subnet_id: vpc-xxxxxxxxxxxx
assign_public_ip: no
region: "eu-central-1"
ec2_url: "https://ec2.amazonaws.com"
tasks:
- name: Create instance
ec2: aws_access_key={{ aws_access_key }}
aws_secret_key={{ aws_secret_key }}
count={{ count | default('1') }}
assign_public_ip={{ assign_public_ip }}
ec2_url={{ ec2_url }}
image={{ image }}
key_name={{ key_name }}
region={{ region }}
tenancy={{ tenancy | default('default') }}
instance_type={{ instance_type }}
instance_tags='{ "Name":"test" }'
wait=true

bebebe
19.09.2018
10:49:56


Huan
19.09.2018
10:51:05
брал с мануала пример

Google

Huan
19.09.2018
10:51:10
он не нужен?

bebebe
19.09.2018
10:53:29
он не обязателен.
попробуйте в таску ec2 подставить креденшелы напрямую
уберите ec2_url
все должно заработать
если пара AWS ACCESS/SECRET KEYS валидна для этого региона и этого api есть доступ через iam до ec2.compute

Huan
19.09.2018
10:55:29
не помогло(
ключи валидные, проверял через awscli

bebebe
19.09.2018
10:57:01
попробуйте в заведомо чистом окружение тот же aws cli:
alias aws='docker run --rm -t $(tty &>/dev/null && echo "-i") -e "AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}" -e "AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}" -e "AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}" -v "$(pwd):/project" mesosphere/aws-cli'
подставьте переменные окружения и еще раз забутайте инстанс

Danis
19.09.2018
10:57:04

Vasily
19.09.2018
10:57:30

Huan
19.09.2018
10:59:04

Danis
19.09.2018
10:59:17

Sergey
19.09.2018
10:59:33

bebebe
19.09.2018
10:59:40

Vasily
19.09.2018
11:10:49

Danis
19.09.2018
11:11:43

Huan
19.09.2018
11:12:01

Vasily
19.09.2018
11:12:10

Danis
19.09.2018
11:13:49
Попробуй переименовать в *.tgz

Vasily
19.09.2018
11:15:21
Попробуй переименовать в *.tgz
"Failed to find handler for \"/home/username/a.tgz\". Make sure the required command to extract the file is installed. Command \"/usr/bin/unzip\" could not handle archive. Command \"/bin/tar\" could not handle archive."

bebebe
19.09.2018
11:15:47

Danis
19.09.2018
11:16:01
Он тут не нужен, но мало ли.

Google

Vasily
19.09.2018
11:16:19
/bin/tar тоже присутствует

bebebe
19.09.2018
11:17:02
Но сначала попробуйте самостоятельно решить проблему с policy.
Ансибл тут не причем

Huan
19.09.2018
11:20:31
понял, спасибо

Admin
ERROR: S client not available

Danis
19.09.2018
11:21:43
/bin/tar тоже присутствует
Могу точно сказать одно: не привязывайтесь к выводу лога при использовании этого модуля. Он всегда пишет одно и то же. В моем случае он писал эту ошибку, когда я случайно попытался разархивировать файл *.sql.
Писал, что не может найти tar или unzip.

Vasily
19.09.2018
11:22:41

Danis
19.09.2018
11:24:16

Mikhail
19.09.2018
11:46:54
балин, а чего делать если random(seed=...) дает одинаковый результат при разных seed?
как вообще эта идемпотентность работает у фильтра?

Vasily
19.09.2018
11:54:30
@danis9yearsago указал абсолютный путь в dest=, работает :)
во всех остальных местах относительный

Danis
19.09.2018
11:54:52

Максим
19.09.2018
11:57:24

bebebe
19.09.2018
11:59:47
судя по релизам, вам подойдет 2.6.2.. хотя не уверен что там все пофиксили
https://github.com/ansible/ansible/pull/17355
да, надо ставить devel и смотреть

Максим
19.09.2018
12:01:42

Mikhail
19.09.2018
12:03:23

Terminator
19.09.2018
13:45:00
@maslowski будет жить. Поприветствуем!

Google

Terminator
19.09.2018
13:50:40
@vizdrag будет жить. Поприветствуем!

Sergey
19.09.2018
13:55:28
Привет ребят
неделю колупаюсь с ролью, не получается добить. в @devops_ru тоже что то не зашел вопрос
суть: есть роль для mysqldump, реализованная в ansible, она дампит базы, и забирает файл на деплой хост
так вот мне требуется дополнить ее частью импорта в другую среду(хостгруппу), а у меня на входе определяется только одна хостгруппа, с ней собсна дамп и работает. Покажите пожалуйста в какую сторону копать, чтобы разграничить таски между разными хостгруппами?
Раздельно я эти таски выполнить могу, а вместе в одной роли нет

Ilya
19.09.2018
13:57:34
так может и разделить на две роли - экспорта и импорта?

Sergey
19.09.2018
13:58:40
и такая штука должна работать из любой среды(хостгруппы) в любую среду(хостгруппу)

Ilya
19.09.2018
13:59:25
мнится мне, что для этого внутри роли нужно реализовать логику, а это как я понимаю не бест практис совсем

Sergey
19.09.2018
13:59:40

Terminator
19.09.2018
14:20:43
@v_litvin будет жить. Поприветствуем!

Victor
19.09.2018
14:21:52
Доброго дня.
А кто как проверяет полную работоспособность всех плейбуков?
У меня лично рабочий процесс выходит, как там чуть правок, сям чуть правок. Потом еще чуть правок, потому что что-то от этих предыдущих правок не то вышло.
Я вангую что у меня процесс немного не правильно поставлен.

Sergey
19.09.2018
14:22:03
Внутри роли плейбука костыль разделение вызовов роли по хостгруппам. Если точнее - по переменным в них. Тогда достаточно будет для группы group_vars поставить определённую - и всё.

bebebe
19.09.2018
14:23:54

Victor
19.09.2018
14:27:27

Sergey
19.09.2018
14:29:44