Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-38404

Ironic issues soft power_off command during installation via ACM, preventing fakefish from working on certain configurations

XMLWordPrintable

    • Important
    • None
    • 1
    • Metal Platform 258, Metal Platform 259
    • 2
    • False
    • Hide

      None

      Show
      None
    • Release Note Not Required
    • In Progress

      Description of problem:

      Even though fakefish is not a supported redfish interface, it is very useful to have it working for "special" scenarios, like NC-SI, while its support is implemented.
      
      On OCP 4.14 and later, converged flow is enabled by default, and on this configuration Ironic sends a soft power_off command to the ironic agent running on the ramdisk. Since this power operation is not going through the redfish interface, it is not processed by fakefish, preventing it from working on some NC-SI configurations, where a full power-off would mean the BMC loses power.
      
      Ironic already supports using out-of-band power off for the agent [1], so having an option to use it would be very helpful.
      
      [1]- https://opendev.org/openstack/ironic/commit/824ad1676bd8032fb4a4eb8ffc7625a376a64371

      Version-Release number of selected component (if applicable):

      Seen with OCP 4.14.26 and 4.14.33, expected to happen on later versions    

      How reproducible:

      Always

      Steps to Reproduce:

          1. Deploy SNO node using ACM and fakefish as redfish interface
          2. Check metal3-ironic pod logs    

      Actual results:

      We can see a soft power_off command sent to the ironic agent running on the ramdisk:
      
      2024-08-07 15:00:45.545 1 DEBUG ironic.drivers.modules.agent_client [None req-74c0c3ed-011f-4718-bdce-53f2ba412e85 - - - - - -] Executing agent command standby.power_off for node df006e90-02ee-4847-b532-be4838e844e6 with params {'wait': 'false', 'agent_token': '***'} _command /usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_client.py:197
      2024-08-07 15:00:45.551 1 DEBUG ironic.drivers.modules.agent_client [None req-74c0c3ed-011f-4718-bdce-53f2ba412e85 - - - - - -] Agent command standby.power_off for node df006e90-02ee-4847-b532-be4838e844e6 returned result None, error None, HTTP status code 200 _command /usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_client.py:234

      Expected results:

      There is an option to prevent this soft power_off command, so all power actions happen via redfish. This would allow fakefish to capture them and behave as needed.

      Additional info:

          

            rhn-engineering-dtantsur Dmitry Tantsur
            jpena@redhat.com Javier Pena
            Jad Haj Yahya Jad Haj Yahya
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: