dellemc.enterprise_sonic.sonic_poe 模块 – 管理 SONiC 上的 PoE 配置

注意

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

dellemc.enterprise_sonic 2.5.0 中的新增功能

概要

  • 此模块提供运行 SONiC 的设备的全局和卡级 PoE 配置管理

参数

参数

注释

config

字典

指定 PoE 配置

cards

列表 / 元素=字典

PoE 卡(电源控制器硬件)配置。

目前在平台上不支持。

auto_reset

布尔值

为此卡启用 PoE 自动重置模式

选项

  • false

  • true

card_id

整数 / 必需

卡的标识符。

必须是 0-7 范围内的数字。

power_mgmt_model

字符串

电源管理算法。

dynamic 表示实时测量和计算每个端口的功耗。

static 表示每个端口分配的功率取决于在端口上配置的功率阈值类型

选项

  • "dynamic"

  • "dynamic-priority"

  • "static"

  • "static-priority"

  • "class"

usage_threshold

整数

内联电源使用阈值。

范围是 0-99(含)

global

字典

全局 PoE 卡的配置

auto_reset

布尔值

启用全局 PoE 自动重置模式。

目前在平台上不支持。

选项

  • false

  • true

power_mgmt_model

字符串

要使用的电源管理算法。

dynamic 表示实时测量和计算每个端口的功耗。

static 表示每个端口分配的功率取决于在端口上配置的功率阈值类型。

目前仅支持 “dynamic” 和 “class” 值

选项

  • "dynamic"

  • "dynamic-priority"

  • "static"

  • "static-priority"

  • "class"

usage_threshold

整数

内联电源使用阈值。

范围是 0-99(含)。

目前在平台上不支持。

interfaces

列表 / 元素=字典

以太网接口的 PoE 配置

detection

字符串

此 PSE 端口执行的设备检测机制。

Legacy 是电容式检测方案,可以单独使用,或者在其他检测方案失败时作为备份。

这些方案是 IEEE 802 标准方案。

管理员无法强制设置 None。

目前仅支持 “dot3bt” 和 “dot3bt+legacy” 值

选项

  • "2pt-dot3af"

  • "2pt-dot3af+legacy"

  • "4pt-dot3af"

  • "4pt-dot3af+legacy"

  • "dot3bt"

  • "dot3bt+legacy"

  • "legacy"

disconnect_type

字符串

PoE 端口断开类型。

目前在平台上不支持。

选项

  • "ac"

  • "dc"

enabled

布尔值

启用每个端口的 PoE

选项

  • false

  • true

four_pair

布尔值

启用端口的四对模式。

目前在平台上不支持。

选项

  • false

  • true

high_power

布尔值

在 PSE 端口上启用高功率模式。

目前在平台上不支持。

选项

  • false

  • true

name

字符串 / 必需

接口的名称

power_classification

字符串

端口的 PoE 功率分类模式。

目前在平台上不支持。

选项

  • "normal"

  • "bypass"

power_limit

整数

此端口可以向连接的设备提供的配置最大功率(以毫瓦为单位)。

范围是 0-99900(含)。

目前在平台上不支持。

power_limit_type

字符串

控制端口可以提供的最大功率。

class-based 表示端口功率限制根据连接的受电设备的 dot3af 类别而定。

user-defined 表示限制由配置指定。

目前在平台上不支持。

选项

  • "class-based"

  • "user-defined"

power_pairs

字符串

PoE 端口电源对设置。

目前在平台上不支持。

选项

  • "signal"

  • "spare"

power_up_mode

字符串

为 PSE 端口配置的以提供高功率的模式。

pre-dot3at 表示端口最初以 IEEE 802.3af 模式供电,然后切换到高功率 IEEE 802.3at 模式。

dot3at 表示端口以 IEEE 802.3at 模式供电。

dot3bt、type3 和 pre-dot3bt 用于支持 802.3bt 接口。

目前在平台上不支持。

选项

  • "dot3af"

  • "dot3at"

  • "dot3bt"

  • "dot3bt-type3"

  • "dot3bt-type4"

  • "high-inrush"

  • "pre-dot3at"

  • "pre-dot3bt"

priority

字符串

电源管理算法中的 PoE 端口优先级。

优先级可由控制机制使用,该机制通过首先断开具有较低电源优先级的端口来防止过流情况。

目前仅支持 “low”、“high” 和 “critical” 值

选项

  • "low"

  • "medium"

  • "high"

  • "critical"

use_spare_pair

布尔值

启用端口的备用对电源。

目前在平台上不支持。

选项

  • false

  • true

state

字符串

模块完成后的配置状态

选项

  • "merged" ← (默认)

  • "deleted"

  • "replaced"

  • "overridden"

示例

# Using merged to add or change poe global settings
  # Before state:
  # config:
  #   global:
  #     auto_reset: False

  # Example:
    - name: "add poe global settings"
      sonic_poe:
        config:
          global:
            auto_reset: True
            power_mgmt_model: 'class'
            usage_threshold: 300
        state: merged

  # After state:
  # config:
  #   global:
  #     auto_reset: True
  #     power_mgmt_model: 'class'
  #     usage_threshold: 300
  # ------

# Using merged to add cards
# Note that platform must support adding multiple cards to do this
  # Before state:
  # config:
  #   global:
  #     auto_reset: True

  # Example:
    - name: "add poe cards"
      sonic_poe:
        config:
          cards:
            - card_id: 0
              usage_threshold: 39
        state: merged

  # After state:
  # config:
  #   global:
  #     auto_reset: True
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 39
  # ------

# Using merged to add or change card settings
  # Before state:
  # config:
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 39

  # Example:
    - name: "add poe cards settings"
      sonic_poe:
        config:
          cards:
            - card_id: 0
              usage_threshold: 60
              power_mgmt_model: dymanic
        state: merged

  # After state:
  # config:
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 60
  #       power_mgmt_model: dymanic
  # ------

# Using merged to add interfaces
  # Before state:
  # config: {}

  # Example:
    - name: "add poe interfaces"
      sonic_poe:
        config:
          interfaces:
            - name: Ethernet0
              enabled: True
        state: merged

  # After state:
  # config:
  #   interfaces:
  #     - name: Ethernet0
  #       enabled: True
  # ------

# Using merged to add or change interface settings
  # Before state:
  # config:
  #   interfaces:
  #     - name: Ethernet0
  #       enabled: True
  #       disconnect_type: dc

  # Example:
    - name: "add poe interface settings"
      sonic_poe:
        config:
          interfaces:
            - name: Ethernet0
              four_pair: True
              high_power: True
              detection: dot3bt
              power_classification: normal
              power_limit: 5000
              power_limit_type: class-based
              power_pairs: signal
              power_up_mode: dot3bt
              priority: medium
              use_spare_pair: False
              disconnect_type: ac
        state: merged

  # After state:
  # config:
  #   interfaces:
  #     - name: Ethernet0
  #       four_pair: True
  #       high_power: True
  #       detection: dot3bt
  #       power_classification: normal
  #       power_limit: 5000
  #       power_limit_type: class-based
  #       power_pairs: signal
  #       power_up_mode: dot3bt
  #       priority: medium
  #       use_spare_pair: False
  #       disconnect_type: ac
  #       enabled: True
  # ------


# Using deleted to remove poe global settings
  # Before state:
  # config:
  #   global:
  #     auto_reset: True
  #     power_mgmt_model: 'class'
  #     usage_threshold: 300

  # Example:
    - name: "delete matching poe global settings"
      sonic_poe:
        config:
          global:
            auto_reset: False
            usage_threshold: 300
        state: deleted

  # After state:
  # config:
  #   global:
  #     power_mgmt_model: 'class'
  #     auto_reset: True
  # ------

# Using deleted to delete cards or card settings
# Note: to delete whole card, either need just the name or specify all current settings and values
  # Before state:
  # config:
  #   global:
  #     auto_reset: True
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 39
  #     - card_id: 1
  #       auto_reset: True
  #       usage_threshold: 60
  #       power_mgmt_model: class
  #     - card_id: 2
  #       usage_threshold: 39
  #       power_mgmt_model: dymanic

  # Example:
    - name: "delete poe cards"
      sonic_poe:
        config:
          cards:
            - card_id: 0
            - card_id: 1
              auto_reset: True
              usage_threshold: 60
              power_mgmt_model: class
            - card_id: 2
              usage_threshold: 39
              power_mgmt_model: static
        state: deleted

  # After state:
  # config:
  #   global:
  #     auto_reset: True
  #   cards:
  #     - card_id: 2
  #       power_mgmt_model: dymanic
  # ------

# Using deleted to delete interfaces or interface settings
# Note: to delete whole interface, either need just the name or specify all current settings and values
  # Before state:
  # config:
  #   interfaces:
  #     - name: Ethernet0
  #       enabled: True
  #     - name: Ethernet1
  #       enabled: False
  #       four_pair: True
  #     - name: Ethernet2
  #       detection: 4pt-dot3af+legacy
  #       power_up_mode: dot3bt
  #       use_spare_pair: True

  # Example:
    - name: "delete poe interfaces"
      sonic_poe:
        config:
          interfaces:
            - name: Ethernet0
            - name: Ethernet1
              enabled: False
              four_pair: True
            - name: Ethernet2
              detection: 4pt-dot3af+legacy
              power_up_mode: pre-dot3at
        state: deleted

  # After state:
  # config:
  #   interfaces:
  #     - name: Ethernet2
  #       power_up_mode: dot3bt
  #       use_spare_pair: True
  # ------

# Using deleted to clear all interfaces or cards
  # Before state:
  # config:
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 39
  #   interfaces:
  #     - name: Ethernet0
  #       enabled: True

  # Example:
    - name: "clear poe interfaces and cards"
      sonic_poe:
        config:
          interfaces: []
          cards: []
        state: deleted

  # After state:
  # config: {}
  # ------

# Using deleted to delete attributes of interfaces or cards
  # Before state:
  # config:
  #   cards:
  #     - card_id: 1
  #       auto_reset: True
  #       usage_threshold: 60
  #   interfaces:
  #     - name: Ethernet1
  #       enabled: False
  #       four_pair: True
  #       power_classification: normal

  # Example:
    - name: "clear poe interfaces and cards"
      sonic_poe:
        config:
          interfaces:
            - name: Ethernet1
              four_pair: True
          cards:
            - card_id: 1
              usage_threshold: 60
        state: deleted

  # After state:
  # config:
  #   interfaces:
  #     - name: Ethernet1
  #       enabled: False
  #       power_classification: normal
  #   cards:
  #     - card_id: 1
  #       auto_reset: True
  # ------


# Using overridden to set poe config
  # Before state:
  # config:
  #   global:
  #     auto_reset: True
  #     power_mgmt_model: 'class'
  #     usage_threshold: 300
  #   interfaces:
  #     - name: Ethernet1
  #       power_classification: normal
  #       enabled: True
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 60
  #       power_mgmt_model: dymanic

  # Example:
    - name: "overridden to exactly specified"
      sonic_poe:
        config:
          global:
            auto_reset: False
          interfaces:
            - name: Ethernet0
              enabled: True
              disconnect_type: ac
            - name: Ethernet1
              power_pairs: signal
        state: overridden

  # After state:
  # config:
  #   global:
  #     auto_reset: False
  #   interfaces:
  #     - name: Ethernet0
  #       disconnect_type: ac
  #       enabled: True
  #     - name: Ethernet1
  #       power_pairs: signal
  # ------


# Using replaced to replace sections of poe config
  # Before state:
  # config:
  #   global:
  #     auto_reset: True
  #     power_mgmt_model: 'class'
  #     usage_threshold: 300
  #   interfaces:
  #     - name: Ethernet1
  #       power_classification: normal
  #       enabled: True
  #     - name: Ethernet0
  #       enabled: True
  #       power_limit_type: class-based
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 60
  #       power_mgmt_model: dymanic

  # Example:
    - name: "replace sections of config to exactly specified"
      sonic_poe:
        config:
          global:
            auto_reset: False
          interfaces:
            - name: Ethernet0
              enabled: True
              disconnect_type: ac
        state: repalced

  # After state:
  # config:
  #   global:
  #     auto_reset: False
  #   interfaces:
  #     - name: Ethernet0
  #       disconnect_type: ac
  #       enabled: True
  #   cards:
  #     - card_id: 0
  #       usage_threshold: 60
  #       power_mgmt_model: dymanic
  # ------

返回值

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

描述

after

字典

模块调用后的最终配置。

返回:发生更改时

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

before

字典

模块调用之前的配置。

返回:始终返回

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

commands

列表 / 元素=字符串

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

返回:始终返回

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

作者

  • Shade Talabi (@stalabi1), Xiao Han (@Xiao_Han2)