dellemc.enterprise_sonic.sonic_qos_scheduler 模块 – 在 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_scheduler

dellemc.enterprise_sonic 2.5.0 中的新增功能

概要

  • 此模块为运行 SONiC 的设备提供 QoS 调度器的配置管理

参数

参数

注释

config

列表 / 元素=字典

QoS 调度器配置

name

字符串 / 必需

调度器策略的名称

schedulers

列表 / 元素=字典

调度器策略的调度器配置

cbs

整数

以字节为单位的承诺突发大小

范围 0-125000000

cir

整数

以 bps 为单位的承诺信息速率

范围 0-400000000000

meter_type

字符串

调度器使用的计量方法

选项

  • "packets"

  • "bytes"

pbs

整数

以字节为单位的超额突发大小

范围 0-125000000

pir

整数

以 bps 为单位的峰值信息速率

范围 0-400000000000,必须大于或等于 cir

scheduler_type

字符串

指定调度器的类型

严格优先级调度不能配置权重

选项

  • "dwrr"

  • "wrr"

  • "strict"

sequence

整数 / 必需

调度器的序列号

接口队列的范围为 0-7

CPU 队列的范围为 0-47

端口队列指定 255

weight

整数

调度器的权重

范围 1-100

state

字符串

模块完成后配置的状态

选项

  • "merged" ← (默认)

  • "deleted"

  • "replaced"

  • "overridden"

备注

注意

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

  • 支持 check_mode

示例

# Using Merged
#
# Before state:
# -------------
#
# sonic# show qos scheduler-policy
# (No qos scheduler-policy configuration present)

- name: Merge QoS scheduler configurations
  dellemc.enterprise_sonic.sonic_qos_scheduler:
    config:
      - name: policy1
        schedulers:
          - sequence: 0
            scheduler_type: dwrr
            weight: 10
            meter_type: packets
            cir: 32000
            pir: 40000
            cbs: 30000
            pbs: 35000
    state: merged

# After state:
# ------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy1
#   Queue: 0
#              type: dwrr
#              weight: 10
#              meter-type: packets
#              cir: 32000       Pps
#              cbs: 30000       Packets
#              pir: 40000       Pps
#              pbs: 35000       Packets
#
#
# Using Replaced
#
# Before state:
# -------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy1
#   Queue: 0
#              type: dwrr
#              weight: 10
#              meter-type: packets
#              cir: 32000       Pps
#              cbs: 30000       Packets
#              pir: 40000       Pps
#              pbs: 35000       Packets

- name: Replace QoS scheduler configurations
  dellemc.enterprise_sonic.sonic_qos_scheduler:
    config:
      - name: policy1
        schedulers:
          - sequence: 0
            weight: 12
    state: replaced

# After state:
# ------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy1
#   Queue: 0
#              weight: 12
#
#
# Using Overridden
# Before state:
# -------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy1
#   Queue: 0
#              type: dwrr
#              weight: 10
#              meter-type: packets
#              cir: 32000       Pps
#              cbs: 30000       Packets
#              pir: 40000       Pps
#              pbs: 35000       Packets
#   Queue: 1
#              type: dwrr
#              weight: 14
#              meter-type: packets

- name: Override QoS scheduler configurations
  dellemc.enterprise_sonic.sonic_qos_scheduler:
    config:
      - name: policy2
        schedulers:
          - sequence: 0
            scheduler_type: wrr
            weight: 5
            meter_type: bytes
            cir: 50000
            pir: 60000
            cbs: 800000
            pbs: 900000
    state: overridden

# After state:
# ------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy2
#   Queue: 0
#              type: wrr
#              weight: 5
#              meter-type: bytes
#              cir: 50          Kbps
#              cbs: 800000      Bytes
#              pir: 60          Kbps
#              pbs: 900000      Bytes
#
#
# Using deleted
#
# Before state:
# -------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy1
#   Queue: 0
#              type: dwrr
#              weight: 10
#              meter-type: packets
#              cir: 32000       Pps
#              cbs: 30000       Packets
#              pir: 40000       Pps
#              pbs: 35000       Packets
#   Queue: 1
#              type: dwrr
#              weight: 14
#              meter-type: packets
# Scheduler Policy: policy2
#   Queue: 0
#              type: wrr
#              weight: 5
#              meter-type: bytes
#              cir: 50          Kbps
#              cbs: 800000      Bytes
#              pir: 60          Kbps
#              pbs: 900000      Bytes

- name: Delete QoS scheduler configurations
  dellemc.enterprise_sonic.sonic_qos_scheduler:
    config:
      - name: policy1
        schedulers:
          - sequence: 0
            cir: 32000
            pir: 40000
            cbs: 30000
            pbs: 35000
          - sequence: 1
      - name: policy2
    state: deleted

# After state:
# -------------
#
# sonic# show qos scheduler-policy
# Scheduler Policy: policy1
#   Queue: 0
#              type: dwrr
#              weight: 10
#              meter-type: packets

返回值

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

描述

after

列表 / 元素=字符串

生成的配置模块调用。

已返回: 当更改时

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

after(generated)

列表 / 元素=字符串

生成的配置模块调用。

已返回:check_mode

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

before

列表 / 元素=字符串

模块调用之前的配置。

已返回: 始终

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

commands

列表 / 元素=字符串

推送到远程设备的一组命令。

已返回: 始终

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

作者

  • Shade Talabi (@stalabi1)