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"

备注

注意

  • 针对戴尔科技公司的企业 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

列表 / 元素=字符串

模块调用的结果配置。

返回:发生更改时

示例: ["The configuration returned will always be in the same format as the parameters above.\n"]

after(generated)

列表 / 元素=字符串

生成的模块调用配置。

返回:check_mode

示例: ["The configuration returned will always be in the same format\n as the parameters above.\n"]

before

列表 / 元素=字符串

模块调用之前的配置。

返回:始终返回

示例: ["The configuration returned will always be in the same format as the parameters above.\n"]

commands

列表 / 元素=字符串

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

返回:始终返回

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

作者

  • Shade Talabi (@stalabi1)