diff options
author | Gunnar Mills <gmills@us.ibm.com> | 2018-02-23 10:12:39 -0600 |
---|---|---|
committer | Gunnar Mills <gmills@us.ibm.com> | 2018-02-28 16:37:31 -0600 |
commit | 902c38ca3432e57884b6662404d1c68098ea1cef (patch) | |
tree | ed92fccdb057a4af75a063af6fa0238c2e75ade4 | |
parent | 25fdeb8e3b26ae37d244bf0a54fa36c3b7789c1c (diff) | |
download | phosphor-webui-902c38ca3432e57884b6662404d1c68098ea1cef.tar.gz phosphor-webui-902c38ca3432e57884b6662404d1c68098ea1cef.zip |
Add additional "Image States"
Added the following Activation States or as they are known
on the GUI, "Image States": "NotReady", "Invalid", "Activating",
and "Failed".
Instead of having a variable for each state, these "Image States"
are now tracked under one variable.
Also, moved to looking at the value of "Activation",
github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Software/Activation.interface.yaml#L17,
so if more states are added in the future they will
be picked up.
Resolves openbmc/openbmc#2928
Tested: Verified when I activated an image I see the
"Activating" state.
Change-Id: I1f5e408ebe31f3eb6c3f0417d6605bff06c9ac19
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
-rw-r--r-- | app/common/directives/firmware-list.html | 16 | ||||
-rw-r--r-- | app/common/services/api-utils.js | 25 |
2 files changed, 19 insertions, 22 deletions
diff --git a/app/common/directives/firmware-list.html b/app/common/directives/firmware-list.html index c53a417..0be4625 100644 --- a/app/common/directives/firmware-list.html +++ b/app/common/directives/firmware-list.html @@ -21,23 +21,21 @@ </div> </div> <div class="table__body"> - <div class="table__row" ng-class="firmware.functional ? 'firmware__primary' : ''" ng-repeat="firmware in firmwares|filter:filterBy|orderBy:'+Priority'"> + <div class="table__row" ng-class="firmware.activationStatus == 'Functional' ? 'firmware__primary' : ''" ng-repeat="firmware in firmwares|filter:filterBy|orderBy:'+Priority'"> <div class="table__cell"> <span class="table__cell-label">Boot priority:</span> <div class="icon icon__up-arrow" aria-hidden="true" ng-class="{'icon-as-spacer':$first}" ng-click="!$first && changePriority(firmware.imageId, firmware.Priority, firmware.Priority - 1)" - ng-show="firmware.activationFlags.functional || firmware.activationFlags.ready"> + ng-show="firmware.activationStatus == 'Functional' || firmware.activationStatus == 'Ready'"> <span class="accessible-text">firmware up in priority</span></div> <div class="icon icon__down-arrow" aria-hidden="true" ng-class="{'icon-as-spacer':$last}" ng-click="!$last && changePriority(firmware.imageId, firmware.Priority, firmware.Priority + 1)" - ng-hide="firmware.activationFlags.ready"> + ng-hide="firmware.activationStatus == 'Ready'"> <span class="accessible-text">firmware down in priority</span></div> </div> <div class="table__cell firmware__active"> <span class="table__cell-label">Image state:</span> - <span ng-if="firmware.activationFlags.functional">Functional</span> - <span ng-if="firmware.activationFlags.active">Active</span> - <span ng-if="firmware.activationFlags.ready">Ready</span> + <span>{{firmware.activationStatus}}</span> </div> <div class="table__cell firmware__version" ng-class="{'active':firmware.isExtended}"> <span class="table__cell-label">Version:</span>{{firmware.Version}} @@ -59,10 +57,10 @@ </div> <div class="table__cell"> <span class="table__cell-label">Action:</span> - <button class="firmware__action-link" ng-show="firmware.activationFlags.ready" ng-click="activate(firmware.imageId)">Activate</button> - <button class="firmware__action-link" ng-show="!firmware.functional" ng-click="delete(firmware.imageId)">Delete</button> + <button class="firmware__action-link" ng-show="firmware.activationStatus == 'Ready'" ng-click="activate(firmware.imageId)">Activate</button> + <button class="firmware__action-link" ng-show="firmware.activationStatus != 'Functional'" ng-click="delete(firmware.imageId)">Delete</button> </div> </div> </div> </div> -</div>
\ No newline at end of file +</div> diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js index 9b619bd..6268f8c 100644 --- a/app/common/services/api-utils.js +++ b/app/common/services/api-utils.js @@ -608,10 +608,7 @@ window.angular && (function (angular) { var json = JSON.stringify(response.data); var content = JSON.parse(json); var data = []; - var active = false; - var functional = false; - var ready = false; - var activationStatus = {active: false, ready: false, functional: false}; + var activationStatus = ""; var isExtended = false; var bmcActiveVersion = ""; var hostActiveVersion = ""; @@ -646,11 +643,14 @@ window.angular && (function (angular) { for(var key in content.data){ if(content.data.hasOwnProperty(key) && content.data[key].hasOwnProperty('Version')){ - - functional = (content.data[key].Priority == 0); - active = !functional && (/\.Active$/).test(content.data[key].Activation); - ready = (/\.Ready$/).test(content.data[key].Activation); - activationStatus = {functional: functional, active: active, ready: ready}; + // If the image is "Functional" use that for the + // activation status, else use the value of "Activation" + // github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Software/Activation.interface.yaml + activationStatus = content.data[key].Activation.split(".").pop(); + if (content.data[key].Priority == 0) + { + activationStatus = "Functional"; + } imageType = content.data[key].Purpose.split(".").pop(); isExtended = content.data[key].hasOwnProperty('ExtendedVersion') && content.data[key].ExtendedVersion != ""; if(isExtended){ @@ -658,8 +658,7 @@ window.angular && (function (angular) { } data.push(Object.assign({ path: key, - functional: functional, - activationFlags: activationStatus, + activationStatus: activationStatus, imageId: key.split("/").pop(), imageType: imageType, isExtended: isExtended, @@ -670,11 +669,11 @@ window.angular && (function (angular) { data: {key: key, value: content.data[key]} }, content.data[key])); - if(functional && imageType == 'BMC'){ + if(activationStatus == 'Functional' && imageType == 'BMC'){ bmcActiveVersion = content.data[key].Version; } - if(functional && imageType == 'Host'){ + if(activationStatus == 'Functional' && imageType == 'Host'){ hostActiveVersion = content.data[key].Version; } } |