dellos-system

Роль системы

Эта роль упрощает настройку глобальных атрибутов системы и является абстрактной для dellos6, dellos9 и dellos10. Она позволяет настраивать имя хоста и пароль доступа для всех трех dellos. Кроме того, dellos9 поддерживает настройку маршрута управления, алгоритма хеширования, часов, терминала, баннера и типа перезагрузки.

Роль dellos-system требует подключения по SSH для связи с устройством Dell EMC Networking. Вы можете использовать любую из встроенных переменных подключения операционной системы.

Установка

ansible-galaxy install Dell-Networking.dellos-system

Переменные роли

  • Роль абстрагирована с помощью переменной ansible_network_os, которая может принимать значения dellos9, dellos6 и dellos10.
  • Если dellos_cfg_generate установлено в true, переменная генерирует команды конфигурации роли в файл.
  • Любая переменная роли с соответствующей переменной состояния, установленной в absent, отменяет конфигурацию этой переменной.
  • Установка пустого значения для любой переменной отменяет соответствующую конфигурацию.
  • Переменные и их значения чувствительны к регистру.

Ключи dellos_system

Ключ Тип Описание Поддержка
hostname строка Настраивает имя хоста для устройства (без команды отмены) dellos9, dellos6, dellos10
unique_hostname boolean: true,false* Настраивает уникальное имя хоста на коммутаторе dellos9
enable_password строка Настраивает пароль доступа dellos6, dellos9
mtu целое число Настраивает максимальный размер передаваемого пакета (MTU) для всех интерфейсов dellos6
hardware_forwarding строка: scaled-l2,scaled-l3-routes,scaled-l3-hosts Настраивает режим аппаратной пересылки dellos10
management_rt список Настраивает маршрут управления dellos9
management_rt.ip строка (обязательная) Настраивает префикс IP-адреса для маршрута управления (формат A.B.C.D для IPv4, A:B:C:D::E для IPv6) dellos9
management_rt.ipv4 boolean: true*,false Указывает, является ли маршрут управления адресом IPv4 или IPv6; если false или неопределено, IP устанавливается как IPv6 dellos9
management_rt.state строка: absent,present* Удаляет маршрут управления, если установлен в absent dellos9
line_terminal словарь Настраивает терминал (см. line_terminal.*) dellos9
line_terminal.<terminal> словарь Настраивает основной или виртуальный терминал (консоль <номер_линии> или vty <номер_линии> значения) dellos9
<terminal>.exec_timeout строка Настраивает тайм-аут EXEC (<мин> <сек> значения) dellos9
<terminal>.exec_banner boolean: true,false* Настраивает баннер EXEC dellos9
<terminal>.login_banner boolean: true,false* Настраивает баннер входа dellos9
<terminal>.motd_banner boolean: true,false* Настраивает баннер сообщения дня dellos9
service_passwd_encryption boolean: true,false Настраивает шифрование паролей системы dellos9
hash_algo словарь Настраивает команды алгоритма хеширования (см. hash_algo.*) dellos9, dellos10
hash_algo.algo список Настраивает алгоритм хеширования (см. algo.*) dellos9, dellos10
algo.name строка (обязательная) Настраивает название алгоритма хеширования dellos9, dellos10
algo.mode строка (обязательная) Настраивает режим алгоритма хеширования dellos9, dellos10
algo.stack_unit целое число Настраивает стековой единицу для алгоритма хеширования dellos9
algo.port_set целое число Настраивает набор портов для алгоритма хеширования dellos9
algo.state строка: absent,present* Удаляет алгоритм хеширования, если установлен в absent dellos9, dellos10
hash_algo.seed список Настраивает семя для алгоритма хеширования (см. seed.*) dellos9
seed.value целое число (обязательное) Настраивает значение семени для алгоритма хеширования dellos9
seed.stack_unit целое число Настраивает стековую единицу для семени алгоритма хеширования dellos9
seed.port_set целое число Настраивает набор портов для семени алгоритма хеширования dellos9
seed.state строка: absent,present* Удаляет семя алгоритма хеширования, если установлен в absent dellos9
banner словарь Настраивает глобальные команды баннера (см. banner.*) dellos9
banner.login словарь Настраивает баннер входа (см. login.*) dellos9
login.ack_enable boolean: true,false Настраивает положительное подтверждение dellos9
login.ack_prompt строка Настраивает подсказку для положительного подтверждения dellos9
login.keyboard_interactive boolean: true,false Настраивает интерактивную клавиатурную подсказку dellos9
login.banner_text строка Настраивает текст баннера для баннера входа; формат 'c <текст-баннера> c', где 'c' - разделяющий символ dellos9
banner.exec строка Настраивает текст баннера для создания процесса EXEC; 'c <текст-баннера> c', где 'c' - разделяющий символ для dellos9 dellos9
banner.motd строка Настраивает текст баннера для баннера сообщения дня; 'c <текст-баннера> c', где 'c' - разделяющий символ для dellos9 dellos9
load_balance словарь Настраивает глобальное распределение нагрузки трафика (см. load_balance.*) dellos9, dellos10
load_balance.ingress_port boolean: true,false Указывает, использовать ли идентификатор исходного порта для алгоритма хеширования dellos9, dellos10
load_balance.tcp_udp boolean: true, false Настраивает использование TCP/UDP портов в пакетах для алгоритма хеширования dellos9
load_balance.ip_selection список Настраивает поля ключей IPv4 для использования в алгоритме хеширования; исключает использование load_balance.tcp_udp для устройств dellos9 (см. ip_selection.*) dellos9, dellos10
ip_selection.field строка Настраивает поля ключей IPv4 для использования в алгоритме хеширования dellos9, dellos10
ip_selection.state строка: absent,present* Удаляет поля ключей IPv4, если установлено в absent dellos9, dellos10
load_balance.ipv6_selection список Настраивает поля ключей IPv6 для использования в алгоритме хеширования; исключает использование load_balance.tcp_udp для устройств dellos9 (см. ipv6_selection.*) dellos9, dellos10
ipv6_selection.field строка Настраивает поля ключей IPv6 для использования в алгоритме хеширования dellos9, dellos10
ipv6_selection.state строка: absent,present* Удаляет поля ключей IPv6, если установлено в absent dellos9, dellos10
load_balance.mac_selection список Настраивает поля ключей MAC для использования в алгоритме хеширования (см. mac_selection.*) dellos10
mac_selection.field строка Настраивает поля ключей MAC для использования в алгоритме хеширования dellos10
mac_selection.state строка: absent,present* Удаляет поля ключей MAC, если установлено в absent dellos10
load_balance.tcp_udp_selection список Настраивает TCP UDP порты для конфигураций балансировки нагрузки (см. tcp_udp_selection.*) dellos10
tcp_udp_selection.field строка Настраивает поля TCP UDP портов для использования в алгоритме хеширования dellos10
tcp_udp_selection.state строка: absent,present* Удаляет TCP UDP порты, если установлено в absent dellos10
load_balance.tunnel словарь Настраивает поля ключей туннеля для использования в алгоритме хеширования (см. tunnel.*) dellos9
tunnel.hash_field список Настраивает выбор полей хеширования (см. hash_field.*) dellos9
hash_field.name строка (обязательная) Настраивает выбор поля хеширования dellos9
hash_field.header строка Настраивает заголовок для балансировки нагрузки dellos9
hash_field.state строка: absent,present* Удаляет выбор поля ключа хеширования, если установлен в absent dellos9
clock словарь Настраивает часы (см. clock.*) dellos9
clock.summer_time словарь Настраивает летнее (переход на летнее время) время (см. summer_time.*) dellos9
summer_time.timezone_name строка (обязательная) Настраивает название часового пояса dellos9
summer_time.type строка (обязательная) Настраивает абсолютное или периодическое летнее время dellos9
summer_time.start_datetime строка Настраивает начальную дату и время; формат <день> <месяц> <год> <часы:минуты> dellos9
summer_time.end_datetime строка Настраивает конечную дату и время; формат <день> <месяц> <год> <часы:минуты> dellos9
summer_time.offset_mins целое число Настраивает смещение минут для добавления (от 1 до 1440) dellos9
summer_time.state строка: absent,present* Удаляет часы летнего времени, если установлено в absent dellos9
clock.timezone словарь Настраивает часовой пояс (см. timezone.*) dellos9
timezone.name строка (обязательная) Настраивает название часового пояса dellos9
timezone.offset_hours целое число Настраивает смещение часов для добавления (-23 до 23) dellos9
timezone.offset_mins целое число Настраивает смещение минут для добавления (от 0 до 59) dellos9
timezone.state строка: absent,present* Удаляет часовой пояс, если установлен в absent dellos9
reload_type словарь Настраивает тип перезагрузки (см. reload_type.*) dellos9
reload_type.auto_save boolean: true,false* Настраивает опцию автосохранения для загруженного конфигурационного/скриптового файла dellos9
reload_type.boot_type строка: bmp-reload,normal-reload Настраивает тип загрузки dellos9
reload_type.boot_type_state строка: absent,present* Удаляет тип загрузки, если установлен в absent dellos9
reload_type.config_scr_download boolean: true,false* Настраивает необходимость загрузки конфигурационного/скриптового файла dellos9
reload_type.dhcp_timeout целое число Настраивает тайм-аут DHCP в минутах (от 0 до 50) dellos9
reload_type.retry_count целое число Настраивает количество повторных попыток для загрузки образа и конфигурации (от 0 до 6) dellos9
reload_type.relay boolean: true,false* Настраивает добавление option82 в пакеты DHCP-клиента dellos9
reload_type.relay_remote_id строка Настраивает пользовательский удаленный ID dellos9
reload_type.vendor_class_identifier boolean: true,false* Настраивает идентификатор класса поставщика для опции DHCP option60 dellos9

ПРИМЕЧАНИЕ: Звездочка (*) обозначает значение по умолчанию, если ничего не указано.

Переменные соединения


Роли Ansible Dell EMC Networking требуют информацию для подключения, чтобы установить связь с узлами в вашем инвентаре. Эта информация может находиться в директориях group_vars или host_vars, или в инвентаре, или в самом плейбуке.

Ключ Обязательно Выборы Описание
ansible_host да Указывает имя хоста или адрес для подключения к удаленному устройству по указанному протоколу
ansible_port нет Указывает порт, используемый для подключения к удаленному устройству; если значение не указано, используется опция ANSIBLE_REMOTE_PORT; по умолчанию 22
ansible_ssh_user нет Указывает имя пользователя, используемое для аутентификации при входе в CLI для подключения к удаленному устройству; если значение не указано, используется значение переменной окружения ANSIBLE_REMOTE_USER
ansible_ssh_pass нет Указывает пароль для аутентификации при подключении к удаленному устройству
ansible_become нет да, нет* Инструктирует модуль войти в привилегированный режим на удаленном устройстве перед отправкой любых команд; если значение не указано, используется значение переменной окружения ANSIBLE_BECOME, и устройство пытается выполнить все команды в непривилегированном режиме
ansible_become_method нет enable, sudo* Инструктирует модуль позволить указать метод повышения прав для обработки эскалации привилегий; если значение не указано, используется значение переменной окружения ANSIBLE_BECOME_METHOD
ansible_become_pass нет Указывает пароль для входа в привилегированный режим на удаленном устройстве, если необходимо; если ansible_become установлено в no, этот ключ не применим
ansible_network_os да dellos6/dellos9/dellos10, null* Загружает правильные плагины терминала и cliconf для связи с удаленным устройством

ПРИМЕЧАНИЕ: Звездочка (*) обозначает значение по умолчанию, если ничего не указано.

Зависимости

Роль dellos-system основана на модулях, включенных в основной код Ansible. Эти модули были добавлены в версии Ansible 2.2.0.

Пример плейбука

Этот пример использует роль dellos-system, чтобы полностью настроить NTP сервер, имя хоста, пароль доступа, маршрут управления, алгоритм хеширования, часы, терминал, баннер и тип перезагрузки. Он создает файл hosts с деталями коммутатора и соответствующими переменными. Файл hosts должен определять переменную ansible_network_os с соответствующим именем ОС сетевого управления Dell EMC.

Когда dellos_cfg_generate установлено в true, переменная генерирует команды конфигурации в виде файла .part в пути build_dir. По умолчанию переменная установлена в false. Роль системы записывает простой плейбук, который только ссылается на роль dellos-system. Включив роль, вы автоматически получаете доступ ко всем задачам для настройки системных функций.

Пример файла hosts

leaf1 ansible_host=<ip_address> 

Пример host_vars/leaf1

hostname: leaf1
ansible_become: yes
ansible_become_method: xxxxx
ansible_become_pass: xxxxx
ansible_ssh_user: xxxxx
ansible_ssh_pass: xxxxx
ansible_network_os: dellos9
build_dir: ../temp/dellos9
  
dellos_system:
  hostname: host1
  unique_hostname: True
  enable_password: dell
  service_passwd_encryption: true
  banner:
    exec: t hai t
    login:
      ack_enable: true
      ack_prompt: testbanner
      keyboard_interactive: true
      banner_text: cloginbannerc
    motd: t ansibletest t
  hash_algo:
    algo:
      - name: lag
        mode: xor1
        stack_unit: 0
        port_set: 0
        state: present
      - name: ecmp
        mode: xor1
        stack_unit: 0
        port_set: 0
        state: present
    seed:
      - value: 3
        stack_unit: 0
        port_set: 0
        state: present
      - value: 2
        state: present
  load_balance:
    ingress_port: true
    ip_selection: 
       - field: vlan dest-ip
         state: present
    ipv6_selection: 
       - field: dest-ipv6 vlan
         state: present
    tunnel:
      hash_field:
        - name: mac-in-mac
          header: tunnel-header-mac
          state: present
  clock:
    summer_time:
      timezone_name: PST
      type: date
      start_datetime: 2 jan 1993 22:33
      end_datetime: 3 jan 2017 22:33
      offset_mins: 20
    timezone:
      name: IST
      offset_hours: -5
      offset_mins: 20
  reload_type:
    auto_save: true
    boot_type: normal-reload
    boot_type_state: absent
    config_scr_download: true
    dhcp_timeout: 5
    retry_count: 3
    relay: true
    relay_remote_id: ho
    vendor_class_identifier: aa
  management_rt:
    - ip: 10.16.148.254
      state: present
      ipv4: True
  line_terminal:
    vty 0:
      exec_timeout: 40
      exec_banner: true
    vty 1:
      exec_timeout: 40 200
      motd_banner: true

Простой плейбук для настройки системы - leaf.yaml

- hosts: leaf1
  roles:
     - Dell-Networking.dellos-system

Запуск

ansible-playbook -i hosts leaf.yaml

(c) 2017 Dell Inc. или её дочерние компании. Все права защищены.

О проекте

The dellos-system role facilitates the configuration of system attributes in devices running Dell EMC Networking Operating Systems.

Установить
ansible-galaxy install Dell-Networking/ansible-role-dellos-system
Лицензия
apache-2.0
Загрузки
68892
Владелец