Vladimir
Он сфоормирует инвентори в памяти
Vladimir
dynamic inventory
Sheridan
эмм... Чтото я непонял с арифметикой...
Sheridan
Sheridan
Sheridan
Sheridan
что я делаю не так?...
Timur
Больше скриншотов! Хороших и разных!
Sheridan
Sheridan
аа
Ivan
а на скрине да =)
Sheridan
это строка? | int нужен?
Sheridan
max-lease-time {{ dhcp.lease_time|int * 4 }};
тот же результат
Timur
Какой результат-то?
Timur
Телепаты в отпуске
Sheridan
а, не, всё норм
Sheridan
спасибо
Sheridan
не туда посмотрел
George
Делаю апгрейд с 2.4. Все инклюды с delegate поломались. Придумал вот такое:
delegate_to: '{{ delegate_to|d(inventory_hostname) }}'
Egor
George
2.7.5+dfsg-1
George
Поломались в том смысле, что раньше можно было сделать include_tasks: ... delegate_to, а теперь при инклюде delegate_to на include'женые таски не распространяется.
George
https://github.com/ansible/ansible/issues/37995
George
И это не бага, а фича, так что с этим жить.
Vadik
Всем привет)
Кто-то юзал libvirt for kvm для создание и управление вм ? Просто дока очень малая ....
А модуля отдельного для квм нету есть для proxmox _kvm и там дока вообще замечательно описана
Буду рад любой годной статье
George
George
т.к. нужно было много функций
George
python + биндинг к libvirt
George
ансибл для этого не юзали
Alexander
Записи внутри hostvars - хосты а не группы
Alexander
Или линсгруп - хост?
MRY
нет
MRY
groupvars ?
Alexander
Это даст групварс, а переменная хранится в хостварс
MRY
получется нудно что то вида hostvars{{item}}['linsrvgroup'].peer_ip я имею ввиду итерацию ?
MRY
или как по всем хостам которые мембры linsrvgroup1 пройти прочитать ключ ip_peer и вытащить значение
Timur
Можете полностью плейбуку показать?
Timur
Так не очень понятно, что именно происходит в процессе
Timur
Что именно не получается при передаче переменных?
MRY
Сейчас скину
Alexander
$ cat test.yml
---
- hosts: localhost
vars:
env: staging
tasks:
- debug:
msg: "{{ secrets.api.db.credentials_staging }}"
- debug:
msg: "{{ vars['secrets.api.db.credentials_' + env] }}"
1-й ok,
2-й - "msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute u'secrets.api.db.credentials_staging
MRY
Сейчас правда последние строки переделал
Timur
Timur
Alexander
Timur
Это как?
lookup('vars', 'secrets.api.db.credentials_' + env)
MRY
groupvars вообще не существует как env var а hostvars работает только если указать конкретный хост, но я могу начать создание сотен хостов и не смогу соотвественно передать все значения.
Timur
Timur
MRY
да
Timur
И что такое linsrvgroup1?
Timur
Это группа или локалхост?
MRY
чать из group_vars часть из host_vars
MRY
это гуппа
MRY
ввиде [Vmware:children]
linssrvgroup1
linssrvgroup2
linssrvgroup3
[linssrvgroup1]
Alexander
Да, примерно так
У меня 2.4:
"msg": "lookup plugin (vars) not found"
Но переменная точно есть.
Timur
Timur
MRY
это тестовый плейбук, будут сотни создаваться
MRY
тестирую в тестовой среде не на продакшене соотвественно
Timur
Понятно. В данном плейбуке модуль vmware_guest у вас ранается на localhost
Timur
Соответственно, и переменные на локалхосте лежат, судя по всему
Timur
$hostip= "{{ hostvars[localhost].peer_ip }}"
Так работает?
MRY
щас гляну
Timur
Ну, и best practice в таких сценариях, это добавлять к вызовам подобных оркестраторных модулей директиву register, для сохранения фактов создаваемых инстансов. Которые потом можно использовать далее в других тасках.
MRY
TASK [Run] *********************************************************************************************************
task path: /home/username@corp.example.com/ansible/gss2.yml:83
fatal: [gs02anstest01a]: FAILED! => {
"msg": "The task includes an option with an undefined variable. The error was: 'localhost' is undefined\n\nThe error appears to have been in '/home/username@corp.example.com/ansible/gss2.yml': line 83, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n tasks:\n - name: Run\n ^ here\n"
}
MRY
Timur
Timur
Можно ссылочку на инфу ? если возможно
Пример есть в доке по вашему модулю:
- name: Create a virtual machine from a template
vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
folder: /testvms
name: testvm_2
state: poweredon
template: template_el7
disk:
- size_gb: 10
type: thin
datastore: g73_datastore
hardware:
memory_mb: 512
num_cpus: 6
num_cpu_cores_per_socket: 3
scsi: paravirtual
memory_reservation: 512
memory_reservation_lock: True
mem_limit: 8096
mem_reservation: 4096
cpu_limit: 8096
cpu_reservation: 4096
max_connections: 5
hotadd_cpu: True
hotremove_cpu: True
hotadd_memory: False
version: 12 # Hardware version of virtual machine
boot_firmware: "efi"
cdrom:
type: iso
iso_path: "[datastore1] livecd.iso"
networks:
- name: VM Network
mac: aa:bb:dd:aa:00:14
wait_for_ip_address: yes
delegate_to: localhost
register: deploy
citius
всем привет
а можно в vars plugin получить доступ к переменным которые уже были явно определы в инвентаре?
типа
[all:vars]
project="promo"
а в плагине я потом что-то дергаю, используя содержимое project
что-то не могу в доке найти, как к ним обращаться
Timur
MRY
если я поменяю - hosts: localhost то модуль не сможет создать нужную VM он же инфу берет из группы etcdtmp
Timur
Но только в версиях, начиная с 2.5
citius
Timur