Dell-Networking.dellos-system

系统角色

此角色帮助配置全局系统属性,并针对 dellos6、dellos9 和 dellos10 进行了抽象。它具体允许为所有三个 dellos 配置主机名和启用密码。此外,dellos9 支持配置管理路由、哈希算法、时钟、终端线路、横幅和重载类型。

dellos-system 角色需要通过 SSH 连接与 Dell EMC 网络设备建立连接。您可以使用任何内置的操作系统连接变量。

安装

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 布尔值: 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 目标前缀(IPv4 格式为 A.B.C.D,IPv6 格式为 A:B:C:D::E) dellos9
management_rt.ipv4 布尔值: 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 布尔值: true,false* 配置 EXEC 横幅 dellos9
<terminal>.login_banner 布尔值: true,false* 配置登录横幅 dellos9
<terminal>.motd_banner 布尔值: true,false* 配置每日信息(MOTD)横幅 dellos9
service_passwd_encryption 布尔值: 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 布尔值: true,false 配置正面确认 dellos9
login.ack_prompt 字符串 配置正面确认提示 dellos9
login.keyboard_interactive 布尔值: 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 布尔值: true,false 指定是否使用源端口 ID 进行哈希算法 dellos9、dellos10
load_balance.tcp_udp 布尔值: true,false 配置是否在数据包中使用 TCP/UDP 端口进行哈希算法 dellos9
load_balance.ip_selection 列表 配置用于哈希算法的 IPv4 键字段;与 dellos9 设备的 load_balance.tcp_udp 相互排斥(参考 ip_selection.* dellos9、dellos10
ip_selection.field 字符串 配置用于哈希算法的 IPv4 键字段 dellos9、dellos10
ip_selection.state 字符串: absent,present* 如果设置为 absent,则删除 IPv4 键字段 dellos9、dellos10
load_balance.ipv6_selection 列表 配置用于哈希算法的 IPv6 键字段;与 dellos9 设备的 load_balance.tcp_udp 相互排斥(参考 ipv6_selection.* dellos9、dellos10
ipv6_selection.field 字符串 配置用于哈希算法的 IPv6 键字段 dellos9、dellos10
ipv6_selection.state 字符串: absent,present* 如果设置为 absent,则删除 IPv6 键字段 dellos9、dellos10
load_balance.mac_selection 列表 配置用于哈希算法的 MAC 键字段(参考 mac_selection.* dellos10
mac_selection.field 字符串 配置用于哈希算法的 MAC 键字段 dellos10
mac_selection.state 字符串: absent,present* 如果设置为 absent,则删除 MAC 键字段 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* 如果设置为 absent,则删除 TCP UDP 端口 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 字符串 配置开始日期时间; hrs:mins 格式 dellos9
summer_time.end_datetime 字符串 配置结束日期时间; hrs:mins 格式 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 布尔值: 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 布尔值: true,false* 配置是否需要下载配置/脚本文件 dellos9
reload_type.dhcp_timeout 整数 配置 DHCP 超时时间(0 到 50 分钟) dellos9
reload_type.retry_count 整数 配置图像和配置下载的重试次数(0 到 6) dellos9
reload_type.relay 布尔值: true,false* 配置在 DHCP 客户端数据包中添加 option82 dellos9
reload_type.relay_remote_id 字符串 配置自定义远程 ID dellos9
reload_type.vendor_class_identifier 布尔值: true,false* 配置 DHCP option60 的厂商类标识符 dellos9

注意:星号(*)表示如果未指定,则为默认值。

连接变量


Ansible Dell EMC 网络角色需要连接信息以建立与您清单中节点的通信。此信息可以存在于 Ansible 的 group_varshost_vars 目录中,或者在库存或 playbook 本身中。

必需 选择 描述
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 设置为否,则此键不适用
ansible_network_os dellos6/dellos9/dellos10, null* 载入正确的终端和 cliconf 插件与远程设备进行通信

注意:星号(*)表示如果未指定,则为默认值。

依赖项

dellos-system 角色基于包含在 Ansible 核心代码中的模块。这些模块在 Ansible 版本 2.2.0 中添加。

示例 playbook

此示例使用 dellos-system 角色 完全设置 NTP 服务器、主机名、启用密码、管理路由、哈希算法、时钟、终端线路、横幅和重载类型。它创建一个带有交换机详细信息和相应变量的 hosts 文件。hosts 文件应该定义 ansible_network_os 变量,附对应的 Dell EMC 网络操作系统名称。

dellos_cfg_generate 设置为 true 时,该变量将在 build_dir 路径中生成配置命令作为 .part 文件。默认情况下,变量设置为 false。系统角色会编写一个只引用 dellos-system 角色的简单 playbook。通过包含该角色,您将自动获得配置系统功能的所有任务的访问权限。

示例 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

设置系统的简单 playbook - 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.dellos-system
许可证
apache-2.0
下载
68.9k