Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

redfish_config - set HttpPushUriOptions / atttribute ApplyTime to OnReset #3910

Closed
1 task done
frsauvage opened this issue Dec 16, 2021 · 8 comments · Fixed by #5580
Closed
1 task done

redfish_config - set HttpPushUriOptions / atttribute ApplyTime to OnReset #3910

frsauvage opened this issue Dec 16, 2021 · 8 comments · Fixed by #5580
Labels
feature This issue/PR relates to a feature request plugins plugin (any type) remote_management

Comments

@frsauvage
Copy link

Summary

Hi all,
I may misunderstood how redfish_info module/module_utils behaves, but I can't simply set the ApplyTime attribute.

Set HttpPushUriOptions ApplyTime=OnReset
Is it possible ? What do I miss ?

Best regards,
Francine

Issue Type

Feature Idea

Component Name

redfish_config remote_management

Additional Information

  community.general.redfish_config:
    category: UpdateService
    command: SetHttpPushUriOptions
    httppushurioptions:
      HttpPushUriOptions:
        HttpPushUriApplyTime
          ApplyTime: OnReset

Code of Conduct

  • I agree to follow the Ansible Code of Conduct
@ansibullbot
Copy link
Collaborator

Files identified in the description:

If these files are incorrect, please update the component name section of the description or use the !component bot command.

click here for bot help

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added feature This issue/PR relates to a feature request module module plugins plugin (any type) remote_management labels Dec 16, 2021
@russoz russoz changed the title Set HttpPushUriOptions / atttribute ApplyTime to OnReset redfish_config - set HttpPushUriOptions / atttribute ApplyTime to OnReset Dec 19, 2021
@mraineri
Copy link
Contributor

mraineri commented Apr 6, 2022

Sorry this took so long to come back to triage.

As of this moment, the only support the Redfish module has with any update capability is with the SimpleUpdate request found in redfish_command. There's no support today for HttpPush updates, so controlling the apply time for an HttpPush update doesn't help folks too much.

Would adding push update support be useful? If so, we should be able to add that along with the other types of control parameters for the update (such as configuring the apply time). One thing worth noting though is sometimes the update process requires intervention from the user to perform reset operations. The existing flow for SimpleUpdate in the module isn't quite complete as noted in issue #4276.

@frsauvage
Copy link
Author

Hi @mraineri , Thank a lot for your answer.
SimpleUpdate is simple, but my problem is to be sure that firware was updated + rebooted if necessary.
From client side, I got an issue with it:
Client (browser) doesn't read the MANIFEST, so no purpose and no version to compare with.
My current solution is:

  1. Set ApplyTime = OnReset
  2. Post SimpleUpdate
  3. Wait for taskmonitoring/taskcompletedOK ou warning (ResetRequired)
  4. received status code = 204 => task OK ! update completed !
  5. Post Reset if necessary => status code= 200 ! reboot received !

No better way.

So yes, ApplyTime=OnReset on ansible/redfish module would be so helpful :-)

Best Regards,
Francine

@mraineri
Copy link
Contributor

mraineri commented Apr 7, 2022

So, it sounds like for your usage you want to specify the apply time when performing a SimpleUpdate. You won't need to use the HttpPush properties to configure that (since that will affect the apply time if invoking the update via the HttpPushUri). So, I would propose extending the SimpleUpdate command to add an apply time parameter. Something like this:

  - name: Simple update with additional options
    community.general.redfish_command:
      category: Update
      command: SimpleUpdate
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
      update_apply_time: OnReset
      update_image_uri: //example.com/myupdate.img
      update_protocol: FTP
      update_targets:
        - /redfish/v1/UpdateService/FirmwareInventory/BMC
      update_creds:
        username: operator
        password: supersecretpwd

@frsauvage frsauvage reopened this Apr 8, 2022
@frsauvage
Copy link
Author

Hi @mraineri,
thank you for your answer,

it would be absolutely perfect !

Regards,
Francine

@ansibullbot
Copy link
Collaborator

Files identified in the description:
None

If these files are incorrect, please update the component name section of the description or use the !component bot command.

click here for bot help

@frsauvage
Copy link
Author

Hi @mraineri , thank you, a lot, that is so nice !! It will be so helpful for me !
King Regards
..Francine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue/PR relates to a feature request plugins plugin (any type) remote_management
Projects
None yet
3 participants