dellemc.enterprise_sonic.sonic_system 模块 – 配置系统参数

注意

此模块是 dellemc.enterprise_sonic 集合 (版本 2.5.1) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install dellemc.enterprise_sonic

要在 playbook 中使用它,请指定: dellemc.enterprise_sonic.sonic_system

dellemc.enterprise_sonic 1.0.0 中的新增功能

概要

  • 此模块用于管理运行 Enterprise SONiC 的设备上的全局系统参数。

注意

此模块具有相应的 action 插件

参数

参数

注释

config

字典

指定系统相关的配置

anycast_address

字典

指定可在设备上配置的不同类型的 anycast 地址

ipv4

布尔值

启用或禁用 ipv4 anycast 地址

选项

  • false

  • true

ipv6

布尔值

启用或禁用 ipv6 anycast 地址

选项

  • false

  • true

mac_address

字符串

指定 mac anycast 地址

audit_rules

字符串

新增于 dellemc.enterprise_sonic 2.5.0

指定审计规则配置文件类型。

可在 SONiC 版本 4.4.0 及更高版本上使用。

选项

  • "BASIC"

  • "DETAIL"

  • "CUSTOM"

  • "NONE"

auto_breakout

字符串

新增于 dellemc.enterprise_sonic 2.5.0

指定设备中的自动 breakout 状态

选项

  • "ENABLE"

  • "DISABLE"

hostname

字符串

指定 SONiC 设备的主机名

interface_naming

字符串

指定设备中的接口命名类型

选项

  • "standard"

  • "standard_extended"

  • "native"

load_share_hash_algo

字符串

新增于 dellemc.enterprise_sonic 2.5.0

指定不同类型的 ECMP 负载共享哈希算法

选项

  • "CRC"

  • "XOR"

  • "CRC_32LO"

  • "CRC_32HI"

  • "CRC_CCITT"

  • "CRC_XOR"

  • "JENKINS_HASH_LO"

  • "JENKINS_HASH_HI"

state

字符串

指定要对设备上配置的系统参数执行的操作。

如果为 merged,则输入配置将与设备上现有的系统配置合并。

如果为 deleted,则将从设备中删除现有的系统配置。

选项

  • "merged" ← (默认)

  • "replaced"

  • "overridden"

  • "deleted"

备注

注意

  • 针对戴尔科技的 Enterprise SONiC 发行版进行了测试。

  • 支持 check_mode

示例

# Using deleted
#
# Before state:
# -------------
#!
#SONIC(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#ip anycast-address enable
#ipv6 anycast-address enable
#interface-naming standard
#ip load-share hash algorithm JENKINS_HASH_HI

- name: Merge provided configuration with device configuration
  dellemc.enterprise_sonic.sonic_system:
    config:
      hostname: SONIC
      interface_naming: standard
      anycast_address:
        ipv6: true
      load_share_hash_algo: JENKINS_HASH_HI
    state: deleted

# After state:
# ------------
#!
#sonic(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#ip anycast-address enable


# Using deleted
#
# Before state:
# -------------
#!
#SONIC(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#ip anycast-address enable
#ipv6 anycast-address enable
#interface-naming standard
#ip load-share hash algorithm JENKINS_HASH_HI

- name: Delete all system related configs in device configuration
  dellemc.enterprise_sonic.sonic_system:
    config:
    state: deleted

# After state:
# ------------
#!
#sonic(config)#do show running-configuration
#!


# Using merged
#
# Before state:
# -------------
#!
#sonic(config)#do show running-configuration
#!

- name: Merge provided configuration with device configuration
  dellemc.enterprise_sonic.sonic_system:
    config:
      hostname: SONIC
      interface_naming: standard
      anycast_address:
        ipv6: true
        ipv4: true
        mac_address: aa:bb:cc:dd:ee:ff
      load_share_hash_algo: JENKINS_HASH_HI
    state: merged

# After state:
# ------------
#!
#SONIC(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#ip anycast-address enable
#ipv6 anycast-address enable
#interface-naming standard
#ip load-share hash algorithm JENKINS_HASH_HI

# Using replaced
#
# Before state:
# -------------
#!
#sonic(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#ip anycast-address enable
#ipv6 anycast-address enable

- name: Replace system configuration.
  sonic_system:
    config:
      hostname: sonic
      interface_naming: standard
    state: replaced

# After state:
# ------------
#!
#SONIC(config)#do show running-configuration
#!
#interface-naming standard

# Using replaced
#
# Before state:
# -------------
#!
#sonic(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#interface-naming standard

- name: Replace system device configuration.
  sonic_system:
    config:
      hostname: sonic
      interface_naming: standard
      anycast_address:
        ipv6: true
        ipv4: true
      load_share_hash_algo: JENKINS_HASH_HI
    state: replaced

# After state:
# ------------
#!
#SONIC(config)#do show running-configuration
#!
#ip anycast-address enable
#ipv6 anycast-address enable
#interface-naming standard
#ip load-share hash algorithm JENKINS_HASH_HI

# Using overridden
#
# Before state:
# -------------
#!
#sonic(config)#do show running-configuration
#!
#ip anycast-mac-address aa:bb:cc:dd:ee:ff
#ip anycast-address enable
#ipv6 anycast-address enable
#ip load-share hash algorithm JENKINS_HASH_HI

- name: Override system configuration.
  sonic_system:
    config:
      hostname: sonic
      interface_naming: standard
      anycast_address:
        ipv4: true
        mac_address: bb:aa:cc:dd:ee:ff
      load_share_hash_algo: CRC_XOR
    state: overridden

# After state:
# ------------
#!
#SONIC(config)#do show running-configuration
#!
#ip anycast-mac-address bb:aa:cc:dd:ee:ff
#ip anycast-address enable
#interface-naming standard
#ip load-share hash algorithm CRC_XOR

# Using merged
#
# Before state:
# -------------
#!
#sonic(config)#do show running-configuration
#!

- name: Merge provided configuration with device configuration
  dellemc.enterprise_sonic.sonic_system:
    config:
      hostname: SONIC
      interface_naming: standard
      auto_breakout: ENABLE
      load_share_hash_algo: JENKINS_HASH_HI
      audit_rules: BASIC
    state: merged

# After state:
# ------------
#!
#SONIC(config)#do show running-configuration
#!
#hostname SONIC
#interface-naming standard
#auto-breakout
#ip load-share hash algorithm JENKINS_HASH_HI
#auditd-system rules basic

# Using deleted
#
# Before state:
# -------------
#!
#SONIC(config)#do show running-configuration
#!
#hostname SONIC
#interface-naming standard
#auto-breakout
#ip load-share hash algorithm JENKINS_HASH_HI
#auditd-system rules basic

- name: Delete auto-breakout configuration on the device
  dellemc.enterprise_sonic.sonic_system:
    config:
      hostname: SONIC
      auto_breakout: ENABLE
      load_share_hash_algo: JENKINS_HASH_HI
      audit_rules: BASIC
    state: deleted

# After state:
# ------------
#!
#sonic(config)#do show running-configuration
#!
#interface-naming standard

返回值

常见的返回值已记录在 此处,以下是此模块特有的字段

描述

after

列表 / 元素=字符串

模块调用后的配置结果。

返回:发生更改时

示例: ["返回的配置将始终与上面的参数格式相同。\n"]

before

列表 / 元素=字符串

模块调用前的配置。

返回:始终返回

示例: ["返回的配置将始终与上面的参数格式相同。\n"]

commands

列表 / 元素=字符串

推送到远程设备的命令集。

返回:始终返回

示例: ["command 1", "command 2", "command 3"]

作者

  • Abirami N (@abirami-n)