tree c89af9994d1ac2b7b4a2f0626a68c8374f3f8a20
parent 638b84ae544defb76091053652042e19adfd2f53
author Shawn McCarney <shawnmm@us.ibm.com> 1738699914 -0600
committer Matt Spinler <spinler@us.ibm.com> 1738871804 +0000

Set RequestedActivation to None in all cases

The Activation D-Bus object represents the activation state for an
associated Version object.

The Activation property of the Activation object indicates the current
activation state.  It has possible values like Ready, Activating,
Active, and Failed.

The RequestedActivation property of the Activation object indicates the
desired activation state.  It has possible values of Active and None.

When the PSU code update application wants to install firmware on one or
more PSUs, it sets the RequestedActivation property to Active.

If the code update is successful, the Activation property is set to
Active, and the RequestedActivation property is set to None.

However, if the code update fails, the RequestedActivation property is
not changed.  It continues to have the value Active.

There are many ways in which a code update can fail, such as:
* Unable to get PSU information from D-Bus
* No compatible PSUs found that need an update (happens during certain
  race conditions)
* Unable to find or start PSU code update service file
* PSU code update service fails

Since the RequestedActivation property has the value Active after a
failed code update, it prevents the PSU code update application from
performing another code update in the future.

It is desirable to allow PSU code updates to be attempted in the future.
For example, if a code update fails due to a bad PSU, and the customer
replaces the PSU with a good one that has downlevel code, the new PSU
should be code updated.

Modify the application so that the RequestedActivation property is
always set to None when an activation attempt ends, regardless of
whether it was successful.

Tested:
* Test where update succeeds
* Test where update fails on initial activation attempt
  * File path empty
  * Could not get list of PSU inventory paths
  * PSU queue is empty; no compatible PSUs needed update
  * Unable to get update service
  * Unable to start service
* Test where update fails after initial activation attempt
  * Test where fails to start service on second PSU
  * Test where second PSU update service fails
* Test where activation is restarted
  * Test where update succeeds
  * Test where fails on initial activation attempt
  * Test where update service fails

Change-Id: Ie124fdd399b1a9b02d8ad6b50040fa9ae6739ccd
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
