Size: a a a

2021 March 02

PG

Pavel Gassan in Ansible
George Shuklin
Скажите, насколько code smell сделать вот так вот: group_vars\servers.yaml:
---
dns_key: "{{ lookup('env', 'DNS_KEY') }}"
(т.е. выставлять групповую переменную через lookup env'а)?
выглядит норм, когда нет другого способа передать, я так в некоторых случаях в CI\CD делаю
источник

GS

George Shuklin in Ansible
Нет, мы храним секреты в переменных, но сама переменная в куче мест (плейбук) используется.
источник

GS

George Shuklin in Ansible
Меня волнует наличие lookup-плагина в групповых переменных. Я сначала сказал резкое "нет", потому что side effects ленивые на контроллере, но по второму размышлению...
источник

SP

Sergey Pechenkó in Ansible
George Shuklin
Скажите, насколько code smell сделать вот так вот: group_vars\servers.yaml:
---
dns_key: "{{ lookup('env', 'DNS_KEY') }}"
(т.е. выставлять групповую переменную через lookup env'а)?
В принципе, выглядит логичным, если этот секрет одинаков для конкретной группы. Тогда ему здесь самое место.
источник

GS

George Shuklin in Ansible
Ага, спасибо.
источник

PA

Pavel Alexandrovich in Ansible
Добрый день всем, подскажите как правильно импортировать в пайтоновский скрипт свой же конфиг файл, для запуска на удалённой машине?
В ansible.cfg добавил module_utils   = /etc/ansible/module_utils
Создал папку и положил в неё config.py
Строка импорта выглядит так:
from ansible.module_utils.config.py import *

Ругается что не может найти модуль
источник

SP

Sergey Pechenkó in Ansible
Pavel Alexandrovich
Добрый день всем, подскажите как правильно импортировать в пайтоновский скрипт свой же конфиг файл, для запуска на удалённой машине?
В ansible.cfg добавил module_utils   = /etc/ansible/module_utils
Создал папку и положил в неё config.py
Строка импорта выглядит так:
from ansible.module_utils.config.py import *

Ругается что не может найти модуль
Это всё нужно в проект сложить, тогда не придётся ничего нигде править - сработает ансибловое "оно само".
источник

D

Dmitry in Ansible
Всем привет! Пытаюсь добавить в файл блок текста https://pastebin.com/Ebd22tk0 ругается на :
Syntax Error while loading YAML.
 could not find expected ':'

The error appears to be in '/home/magi/.ansible/insertblock.yml': line 12, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

     MY_PROXY_URL="http://10.49.13.75:49125"
     HTTP_PROXY=$MY_PROXY_URL
     ^ here
источник

PA

Pavel Alexandrovich in Ansible
Sergey Pechenkó
Это всё нужно в проект сложить, тогда не придётся ничего нигде править - сработает ансибловое "оно само".
Большое спасибо
источник

M

Mikhail in Ansible
Господа подскажите, что я делаю не так

- name: Facts VLAN
  ios_facts:
    provider: "{{ provider }}"
    gather_network_resources:
      - vlans
- name: "Create vlan"
  codeaffen.phpipam.vlan:
    app_id: ansible
    validate_certs: no
    username: "user"
    password: "pass"
    server_url: "https://ipam"
    name: "{{ item.name }}"
    vlan_id: "{{ item.vlan_id }}"
    state: present
  loop: "{{ name: { ansible_network_resources.vlans..name }, vlan_id: { ansible_network_resources.vlans..vlan_id } }}"
источник

L

Lamobot in Ansible
Mikhail
Господа подскажите, что я делаю не так

- name: Facts VLAN
  ios_facts:
    provider: "{{ provider }}"
    gather_network_resources:
      - vlans
- name: "Create vlan"
  codeaffen.phpipam.vlan:
    app_id: ansible
    validate_certs: no
    username: "user"
    password: "pass"
    server_url: "https://ipam"
    name: "{{ item.name }}"
    vlan_id: "{{ item.vlan_id }}"
    state: present
  loop: "{{ name: { ansible_network_resources.vlans..name }, vlan_id: { ansible_network_resources.vlans..vlan_id } }}"
Навскидку - косяк в лупе.
источник

M

Mikhail in Ansible
Принял понял
источник

M

Mikhail in Ansible
навскидку, как подставлять?

               "mtu": 1500,
               "name": "trnet-default",
               "shutdown": "enabled",
               "state": "active",
               "vlan_id": 1005
           },
           {
               "mtu": 1500,
               "name": "AP",
               "shutdown": "disabled",
               "state": "active",
               "vlan_id": 2100
           },
           {
               "mtu": 1500,
               "name": "WIFI_MGMT",
               "shutdown": "disabled",
               "state": "active",
               "vlan_id": 2101
источник

L

Lamobot in Ansible
Mikhail
навскидку, как подставлять?

               "mtu": 1500,
               "name": "trnet-default",
               "shutdown": "enabled",
               "state": "active",
               "vlan_id": 1005
           },
           {
               "mtu": 1500,
               "name": "AP",
               "shutdown": "disabled",
               "state": "active",
               "vlan_id": 2100
           },
           {
               "mtu": 1500,
               "name": "WIFI_MGMT",
               "shutdown": "disabled",
               "state": "active",
               "vlan_id": 2101
loop: '{{ ansible_network_resources["vlans"] }}'
источник

M

Mikhail in Ansible
Lamobot
loop: '{{ ansible_network_resources["vlans"] }}'
?        
name: "{{ item.[name] }}"
vlan_id: "{{ item.[vlan_id] }}"
источник

KS

Kirill Smirnov in Ansible
Mikhail
?        
name: "{{ item.[name] }}"
vlan_id: "{{ item.[vlan_id] }}"
ключи в кавычки
источник

L

Lamobot in Ansible
Mikhail
?        
name: "{{ item.[name] }}"
vlan_id: "{{ item.[vlan_id] }}"
Эту часть можно оставить как и была.
Или '{{ item["name"] }}'
источник

L

Lamobot in Ansible
Отличия вот здесь описаны, в блоке Implementation:
https://jinja.palletsprojects.com/en/2.11.x/templates/#variables
источник

AS

Anton Shevtsov in Ansible
кто что использует для  динамических inventory из LDAP/AD ? попробовал пару штук найденых на хитхабе..  один сильно простой, второй работает через жопу..
источник

KG

Kirill Galinurov in Ansible
Коллеги а как заставить ansible 2.9.18 использовать модуль из collections а не из /module_path
источник