Size: a a a

ansible — русскоговорящее сообщество

2021 April 10

I

Ilgiz in ansible — русскоговорящее сообщество
ты можешь в user-data кинуть публичный ключ новому пользователю. Ну и да, нужно не забывать что пользователь должен быть
#cloud-config

...

groups:
- new-user

users:
- name: new-user
  gecos: Default user
  primary_group: new-user
  sudo: ALL=(ALL) NOPASSWD:ALL
  expiredate: 2022-01-01
  ssh_authorized_keys:
    - ssh-rsa AAAAB3N...xRCw== new-user-key
источник

Р

Рентик in ansible — русскоговорящее сообщество
спасибо. Сейчас попробуем)
источник
2021 April 12

G

GG in ansible — русскоговорящее сообщество
Комрады, есть словарь такого вида, как присвоить переменной значение из данного словаря, чтобы её юзать по всему плейбуку или роли:
источник

G

GG in ansible — русскоговорящее сообщество
ws-spb-001:
   user_name: user1
   full_name: "Noname Noname"
   mail: test@gg.com
   jabber: 88888
 ws-spb-002:
   user_name: user2
   full_name: "Noname2 Noname2"
   mail: test2@gg.com
   jabber: 777777
источник

G

GG in ansible — русскоговорящее сообщество
где, ws-spb-00* - это имя пк соответсвенно, и юзверь на ней
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
ДУмаю, что надо копать куда-то в эту сторону
https://docs.ansible.com/ansible/2.9_ja/modules/include_vars_module.html
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
Тут же yaml. Должно понять.
источник

G

GG in ansible — русскоговорящее сообщество
пробовал, но приходится в любом таске добавлять следующу конструкцию:loop: "{{ lookup('dict', users) }}"
     loop_control:
       loop_var: user
     when: ansible_hostname == user.key
когда работаю домашним каталогом пользователя, назначаю права и прочее, и на каждом таксе он парсит весь словарь заново, хочу в начале определить переменную и её уже вставлять везде где теребуется
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
Чего-то не очень понял. А почему сначала не распарсить и сразу register не заюзать?
источник

G

GG in ansible — русскоговорящее сообщество
вопрос как))) я не волшебник только учусъ (С) есть есть готовый кусок, который присвоит имя переменной с её значениями в зависимости от ansible_hostname
источник

G

GG in ansible — русскоговорящее сообщество
хочу переписать большу часть своих наработок, а то словать уже более 2к строк и это начинает долго выполняться
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
Ух. Не, так не получится тогда нормально.
Но можно сделать цикл по этим хостам, а в рамках цикла инклудить другой плейбук, где уже будет использоваться конкретная нужная переменная для текущего хоста.
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
Это если я правильно задачу понял.
источник

G

GG in ansible — русскоговорящее сообщество
Правильно поняли, нужно чтобы для конкретного хоста брались значения из соответствующих этому хосту полей. Для примера задеплоить mattermost на группу раб. станций, с заранее настроенными значениями
источник

G

GG in ansible — русскоговорящее сообщество
pre_tasks:
   - name: Load dictionary which users
     include_vars:
       file: users.yml
 tasks:
 - name: Set conditionally variable "user from dict"
   register: l_user
   loop: "{{ lookup('dict', users) }}"
   loop_control:
     loop_var: user
   when: ansible_hostname == user.key

 - name: debug l_user
   debug:
     msg: "{{ l_user }}"
источник

G

GG in ansible — русскоговорящее сообщество
tasks:
 - name: Set conditionally variable "user from dict"
   ^ here
где-то что-то не так(((
источник

G

GG in ansible — русскоговорящее сообщество
идеи? иля я в коре не правильно регистрирую новую переменную?
источник

G

GG in ansible — русскоговорящее сообщество
В корне не правильно т. е.
источник
2021 April 13

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Вы творите дичь
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Добавьте нужные переменные в инвентарь и не лохматьте бабушку
источник