community.general icon indicating copy to clipboard operation
community.general copied to clipboard

Update to redfish_info commands to support multi-manager environments

Open sseekamp opened this issue 2 months ago • 7 comments

SUMMARY

Update to redfish_info (and supporting methods) to handle multi-manager environments

Fixes #6764

This is a format/behavior change!

ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME

redfish_utils redfish_info

ADDITIONAL INFORMATION

Implements the "get_multi_*" style methods for the remaining Redfish Info commands (GetLogs, GetNetworkProtocols) in the same style as the GetManagerInventory/GetSystemInventory

Example multi-manager network protocol output:

TASK [Get Network Protos] ***************************************************************************************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => changed=false
  redfish_facts:
    network_protocols:
      entries:
      - - manager_uri: /redfish/v1/Managers/AUX_BMC
        - HTTP:
            Port: 80
            ProtocolEnabled: true
          SSH:
            Port: 22
            ProtocolEnabled: true
      - - manager_uri: /redfish/v1/Managers/Self
        - HTTPS:
            Certificates:
              '@odata.id': /redfish/v1/Managers/Self/NetworkProtocol/HTTPS/Certificates
            Port: 443
            ProtocolEnabled: true
          IPMI:
            Port: 623
            ProtocolEnabled: true
          KVMIP:
            Port: 443
            ProtocolEnabled: true
          NTP:
            NTPServers:
            - pool.ntp.org
            - time.nist.gov
            Port: 123
            ProtocolEnabled: false
          SSDP:
            Port: 1900
            ProtocolEnabled: true
          SSH:
            Port: 22
            ProtocolEnabled: true
          VirtualMedia:
            Port: 443
            ProtocolEnabled: true
      ret: false

Same task on a single manager node type:

TASK [Get Network Protos] ***************************************************************************************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => changed=false
  redfish_facts:
    network_protocols:
      entries:
      - - manager_uri: /redfish/v1/Managers/Self
        - HTTPS:
            Certificates:
              '@odata.id': /redfish/v1/Managers/Self/NetworkProtocol/HTTPS/Certificates
            Port: 443
            ProtocolEnabled: true
          IPMI:
            Port: 623
            ProtocolEnabled: true
          KVMIP:
            Port: 443
            ProtocolEnabled: true
          NTP:
            NTPServers:
            - pool.ntp.org
            - time.nist.gov
            Port: 123
            ProtocolEnabled: false
          SSDP:
            Port: 1900
            ProtocolEnabled: true
          SSH:
            Port: 22
            ProtocolEnabled: true
          VirtualMedia:
            Port: 443
            ProtocolEnabled: true
      ret: true

Compared to the existing output:

TASK [Get System Inventory] *******************************************************************************************************************************************
Wednesday 03 April 2024  02:32:11 +0000 (0:00:00.025)       0:00:00.025 *******
ok: [localhost] => changed=false
  redfish_facts:
    network_protocols:
      entries:
        HTTP:
          Port: 80
          ProtocolEnabled: true
        SSH:
          Port: 22
          ProtocolEnabled: true
      ret: true

sseekamp avatar Apr 03 '24 02:04 sseekamp