dellemc.enterprise_sonic.sonic_qos_buffer 模块 – 管理 SONiC 上的 QoS 缓冲区配置

注意

此模块是 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_qos_buffer

dellemc.enterprise_sonic 2.5.0 中的新增功能

概要

  • 此模块提供运行 SONiC 的设备的 QoS 缓冲区配置管理

参数

参数

注释

config

字典

QoS 缓冲区配置

buffer_pools

列表 / 元素=字典

缓冲区池配置

name

字符串 / 必需

缓冲区池的名称

选择

  • "ingress_lossless_pool"

xoff

整数

共享缓冲区空间的大小(以字节为单位),必须小于池大小

必需的非键属性

buffer_profiles

列表 / 元素=字典

缓冲区配置文件配置

static_thresholddynamic_threshold 是互斥的必需非键属性

dynamic_threshold

整数

动态阈值

范围 -6-3

name

字符串 / 必需

缓冲区配置文件的名称

pause_threshold

整数

停止对等方流量的阈值

范围 46080-8388608

可配置为入口无损池

pool

字符串

缓冲区池的名称

必需的非键属性

选择

  • "ingress_lossless_pool"

  • "egress_lossless_pool"

  • "egress_lossy_pool"

size

整数

以字节为单位的保留缓冲区大小

必需的非键属性

static_threshold

整数

共享使用量的静态阈值(以字节为单位)

state

字符串

模块完成后配置的状态

由于配置限制,此模块不支持替换和覆盖状态

选择

  • "merged" ←(默认)

  • "deleted"

备注

注意

  • 已针对 Dell Technologies 的 Enterprise SONiC 发行版进行了测试。

  • 支持 check_mode

  • 必须先执行 SONiC 缓冲区初始化命令,然后再尝试应用

  • 此资源模块中提供的配置命令。 缓冲区初始化将导致

  • 交换机重新启动。 请参阅此存储库中的“playbooks/common_examples/QoS_buffer_init.yaml”文件

  • 查看初始化缓冲区、等待重新启动,

  • 然后继续执行 QoS 缓冲区配置命令的示例 playbook。 或者,使用

  • sonic_roce 资源模块以启用 RoCEv2 默认缓冲区配置。

示例

# Using Merged
#
# Before state:
# -------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 1000000

  - name: Merge QoS buffer configuration
    dellemc.enterprise_sonic.sonic_qos_buffer:
      config:
        buffer_pools:
          - name: ingress_lossless_pool
            xoff: 3500000
        buffer_profiles:
          - name: profile1
            pool: ingress_lossless_pool
            size: 45
            static_threshold: 25
            pause_threshold: 55000
          - name: profile2
            pool: egress_lossless_pool
            size: 85
            dynamic_threshold: -2
          - name: profile3
            pool: egress_lossy_pool
            size: 90
            static_threshold: 30
      state: merged

# After state:
# ------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 3500000
# buffer profile profile1 ingress_lossless_pool 45 static-threshold 25 pause pause-threshold 55000
# buffer profile profile2 egress_lossy_pool 85 dynamic-threshold -2
# buffer profile profile3 egress_lossless_pool 90 static-threshold 30
#
#
# Using deleted
#
# Before state:
# -------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 3500000
# buffer profile profile1 ingress_lossless_pool 45 static-threshold 25 pause pause-threshold 55000
# buffer profile profile2 egress_lossy_pool 85 dynamic-threshold -2
# buffer profile profile3 egress_lossless_pool 90 static-threshold 30

  - name: Delete QoS buffer profile configuration
    dellemc.enterprise_sonic.sonic_qos_buffer:
      config:
        buffer_profiles:
          - name: profile1
            static_threshold: 25
            pause_threshold: 55000
          - name: profile2
            dynamic_threshold: -2
          - name: profile3
      state: deleted

# After state:
# ------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 3500000
# buffer profile profile1 ingress_lossless_pool 45
# buffer profile profile2 egress_lossy_pool 85

返回值

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

描述

after

列表 / 元素=字符串

生成的配置模型调用。

已返回:当更改时

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

after(generated)

列表 / 元素=字符串

生成的配置模型调用。

已返回:check_mode

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

before

列表 / 元素=字符串

模型调用之前的配置。

已返回:始终

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

commands

列表 / 元素=字符串

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

已返回:始终

示例: ["命令 1", "命令 2", "命令 3"]

作者

  • Shade Talabi (@stalabi1)