History log of /openbmc/webui-vue/src/ (Results 1 – 25 of 667)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
ce7db82c05-Jul-2024 Paul Fertser <fercerpav@gmail.com>

Retrieve role information the Redfish standard way

Currently webui-vue has a hardcoded list of pages and sidebar menu items
restricted to a specific Redfish role (from a predefined default set).
To

Retrieve role information the Redfish standard way

Currently webui-vue has a hardcoded list of pages and sidebar menu items
restricted to a specific Redfish role (from a predefined default set).
To disallow navigating to restricted pages and to hide disallowed menu
items the application needs to know the roles assigned to the session.

bmcweb only implements a single role identity per session so the Roles
array returned within a Session object always has just one element.

This patch changes the mechanism used to retrieve the current role from
buggy direct query to AccountService (which can only return information
about BMC local users) to extracting it from standard Redfish Session
object.

In case the role is not available (e.g. when backend implementation
predates #Session.v1_7_0.Session) the application assumes Administrator
role which is meant as a best effort to continue working given the
circumstances. This doesn't pose a security risk because all validation
is always performed by the backend itself, so the worst that can happen
is end user getting error messages trying to access something without
enough privileges.

Tested: logging in and out of accounts with different roles without
reloading the page, observing the list of queries made, the role
variable assignments and presence of the menu items depending on
account, navigating to different pages. Also tested reloading the page
and confirmed the correct role was retrieved without going through login
again. Also tested deleting and mangling localStorage variable
sessionURI prior to doing page reload, in those cases redirect to login
page was observed.

Change-Id: I8b6c84060a987489cc1d35c46c1b00618a88b607
Signed-off-by: Paul Fertser <fercerpav@gmail.com>

show more ...

918526f219-Sep-2024 Shubhi Garg <shgarg@nvidia.com>

Fix power operations as per DMTF redfish spec

[Problem Description]:

1) Power Operations page uses "Orderly" and "Immediate" strings
for "Graceful reboot/shutdown" and "Force reboot/shutdown".
Thes

Fix power operations as per DMTF redfish spec

[Problem Description]:

1) Power Operations page uses "Orderly" and "Immediate" strings
for "Graceful reboot/shutdown" and "Force reboot/shutdown".
These names do not align according to redfish spec and causes
user confusion.

2) For boot settings, if "BootSourceOverrideEnabled" flag is false,
WebUI allows to modify boot options.

[Changes]:

1) Changed reboot/shutdown naming convention as per DMTF redfish spec
to view correct names on WebUI.

2) Added info-tooltip to give detailed information on Reboot/Shutdown
options.
Information is referenced from:
https://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType

3) Added "oneTimeBootEnabled" condition check to render BootSettings if
condition is true. "oneTimeBootEnabled" checks BootSourceOverrideEnabled
flag, if true then BootSettings will be able to modify boot options.

[Testing]:
1) Load WebUI with the changes and go to Power operations page.
2) Check reboot shutdown names have changes to Graceful
reboot/shutdown" and "Force reboot/shutdown".
3) Check if BootSettings template renders as expected.

Change-Id: I5a86e05ee03167ebb93ffd381af3a47c277990fd
Signed-off-by: Shubhi Garg <shgarg@nvidia.com>

show more ...

825059ac04-Oct-2024 Surya Venkatesan <suryav@ami.com>

i18n fix after vue3 merge to master

Fix i18n issue in the Power restore policy, Inventory LEDs, and User
management page.

After merge the vue3 code to master the i18n Power restore policy,
Inventor

i18n fix after vue3 merge to master

Fix i18n issue in the Power restore policy, Inventory LEDs, and User
management page.

After merge the vue3 code to master the i18n Power restore policy,
Inventory LEDs, and User management page got conflicts and old code
retrieved in master. So unable to render the Power restore policy,
Inventory LEDs and unable to disable the user in user management page

change the i18n.t method to i18n.global.t for the vue3 support.

Change-Id: I46f3f56632308ceaee321dd896e16e922d964b60
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

1b89e59425-Sep-2024 Surya Venkatesan <suryav@ami.com>

Date and time page helper issue

Invalid feedback element if condition change, Helper import change
in date time page and table date filter global component.

Change-Id: I1f01943229b78d4dff36f3905fe3

Date and time page helper issue

Invalid feedback element if condition change, Helper import change
in date time page and table date filter global component.

Change-Id: I1f01943229b78d4dff36f3905fe3781ba696d528
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

69be824a23-Sep-2024 Surya Venkatesan <suryav@ami.com>

Invalid feedback if condition change

For required, invalid format, minlength, maxlength, date, pattern
validation if condition change in the few components

Change-Id: Id8eebc140301e48dde833a604ca92

Invalid feedback if condition change

For required, invalid format, minlength, maxlength, date, pattern
validation if condition change in the few components

Change-Id: Id8eebc140301e48dde833a604ca92426ebf77c9c
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

1a814b9f23-Sep-2024 Surya Venkatesan <suryav@ami.com>

LDAP and server power operation page fix

In LDAP loading declare outside the form, form validation condition
change, server power operation page validation added and i18n method
changed in the event

LDAP and server power operation page fix

In LDAP loading declare outside the form, form validation condition
change, server power operation page validation added and i18n method
changed in the event log store.

Change-Id: I903b4dec7da1a5a2cc8441c65693c57201405d70
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

f1ccca3f23-Sep-2024 Surya Venkatesan <suryav@ami.com>

Factory reset modal popup and validation issue

In vue3 i18n is not return the object value from the locale, so
unable to do the for loop in Setting list. Remove the for loop and
implement the separa

Factory reset modal popup and validation issue

In vue3 i18n is not return the object value from the locale, so
unable to do the for loop in Setting list. Remove the for loop and
implement the separate list for reset bios and reset to default.
And implement the useVuelidate in the factory reset page.

Change-Id: I10833742475b90f7c5349a5b995ff04e93c306de
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

4b89b04319-Sep-2024 Surya Venkatesan <suryav@ami.com>

Locale gets undefined in the login page

While use i18n.locale it is undefined so those pages use the
storedLanguage that page gets failed to load.

Change-Id: I11b45f42d06bb355f561d5c1e93f7516775b1c

Locale gets undefined in the login page

While use i18n.locale it is undefined so those pages use the
storedLanguage that page gets failed to load.

Change-Id: I11b45f42d06bb355f561d5c1e93f7516775b1c81
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

4626aec419-Sep-2024 Surya Venkatesan <suryav@ami.com>

Network page validation and i18n issue fix

In network page invalid if condition changed, added validations and i18n
function changed based on the vue 3 support.

Change-Id: If5b9c00f6da722984f1c568c

Network page validation and i18n issue fix

In network page invalid if condition changed, added validations and i18n
function changed based on the vue 3 support.

Change-Id: If5b9c00f6da722984f1c568cfbcb6b34537c3df1
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

00355b6512-Sep-2024 Surya Venkatesan <suryav@ami.com>

Firmware page vuelidate and form file error fix

While add a file in the form file vuelidate error occurs and global
component form file not return a file, by emit the $event in form file
fix the iss

Firmware page vuelidate and form file error fix

While add a file in the form file vuelidate error occurs and global
component form file not return a file, by emit the $event in form file
fix the issue.

Change-Id: Icbeddc7a3faa262f12e85268206ae70950f37905
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

6923c46d05-Jul-2024 Paul Fertser <fercerpav@gmail.com>

Handle expired passwords Redfish standard way

A password can expire at any moment during session lifetime and bmcweb
starts returning 403 Forbidden errors to the requests made after that.
The respon

Handle expired passwords Redfish standard way

A password can expire at any moment during session lifetime and bmcweb
starts returning 403 Forbidden errors to the requests made after that.
The response contains clear indication of the condition in the standard
`@Message.ExtendedInfo` attribute which is an array of Message objects.

Previously the code was trying to detect this condition by querying
AccountService after logging in but this approach doesn't work when
password expires mid-session. Also it was limited to BMC-managed
accounts and used hardcoded account URIs in violation of Redfish spec.

This patch adds to the interceptor of 403 error so that the user is
automatically redirected to the password change page as soon as the
condition is detected.

The same message is also present in the session creation POST response
201 if the password expired before the log in attempt, in this case the
session is created as usual but the user is automatically redirected to
password change page before any further requests are made.

Tested: logging in, navigating, logging out with non-expired password.
Logging in, navigating, then running `passwd -e <accountname>` via ssh
leads to functional password change page on the next request and then
navigating proceeds normally, and logging out too. If password is
expired before logging in the user gets redirected to the password
change page automatically after logging in.

Fixes: https://github.com/openbmc/webui-vue/issues/118
Change-Id: I03f5ee2526a4bb1d35d3bbea1142fea077d6bfed
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

90300e9f01-Aug-2024 Surya Venkatesan <suryav@ami.com>

Add user validation in user management page

helpers and sameAs validations are not working in vue3 so the helpers
and sameAS are imported from vuelidate/lib/validators. Invalid
validation field like

Add user validation in user management page

helpers and sameAs validations are not working in vue3 so the helpers
and sameAS are imported from vuelidate/lib/validators. Invalid
validation field like required are not show so the if condition for
invalid feedback alert field changed. Add user and delete user are
working in the user management page.

Change-Id: I0133e02357048ffbc6206382b2a0a5c162e2384d
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

f74cbab017-Jul-2024 Ed Tanous <etanous@nvidia.com>

Rebase vue3 to latest master

Ipv6 got added. Make the updates to make it build for vue3.

Change-Id: Ifaa4b8e46200a8431c5d9ca9b8e3e279cc868f26
Signed-off-by: Ed Tanous <etanous@nvidia.com>

de23ea2311-Jul-2024 Surya V <suryav@ami.com>

Vuelidate, I18n, and filter are upgraded to vue3

While navigating to the pages i18n, vuelidate, and filters errors
occurred. i18n, and vuelidate code changes in each page adapted to
vue3. Filter glo

Vuelidate, I18n, and filter are upgraded to vue3

While navigating to the pages i18n, vuelidate, and filters errors
occurred. i18n, and vuelidate code changes in each page adapted to
vue3. Filter global function for date and time format implemented
in the main.js file and those files which as called the filter
functions.

Change-Id: If1a2ee22d47750faef1c35ef2c263299067d9a20
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...


/openbmc/webui-vue/package-lock.json
components/AppHeader/AppHeader.vue
components/Global/FormFile.vue
components/Global/InfoTooltip.vue
components/Mixins/BVPaginationMixin.js
components/Mixins/BVToastMixin.js
components/Mixins/LocalTimezoneLabelMixin.js
components/Mixins/TableRowExpandMixin.js
env/components/AppNavigation/ibm.js
env/components/AppNavigation/intel.js
main.js
store/modules/GlobalStore.js
store/modules/HardwareStatus/AssemblyStore.js
store/modules/HardwareStatus/BmcStore.js
store/modules/HardwareStatus/ChassisStore.js
store/modules/HardwareStatus/MemoryStore.js
store/modules/HardwareStatus/ProcessorStore.js
store/modules/HardwareStatus/ServerLedStore.js
store/modules/HardwareStatus/SystemStore.js
store/modules/Logs/DumpsStore.js
store/modules/Logs/EventLogStore.js
store/modules/Logs/PostCodeLogsStore.js
store/modules/Operations/BootSettingsStore.js
store/modules/Operations/ControlStore.js
store/modules/Operations/FactoryResetStore.js
store/modules/Operations/FirmwareStore.js
store/modules/Operations/KeyClearStore.js
store/modules/Operations/VirtualMediaStore.js
store/modules/ResourceManagement/PowerControlStore.js
store/modules/SecurityAndAccess/CertificatesStore.js
store/modules/SecurityAndAccess/LdapStore.js
store/modules/SecurityAndAccess/PoliciesStore.js
store/modules/SecurityAndAccess/SessionsStore.js
store/modules/SecurityAndAccess/UserManagementStore.js
store/modules/Settings/DateTimeStore.js
store/modules/Settings/NetworkStore.js
store/modules/Settings/PowerPolicyStore.js
store/modules/Settings/SnmpAlertsStore.js
views/ChangePassword/ChangePassword.vue
views/HardwareStatus/Inventory/Inventory.vue
views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
views/HardwareStatus/Inventory/InventoryTableAssembly.vue
views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
views/HardwareStatus/Inventory/InventoryTableChassis.vue
views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
views/HardwareStatus/Inventory/InventoryTableFans.vue
views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue
views/HardwareStatus/Inventory/InventoryTableProcessors.vue
views/HardwareStatus/Inventory/InventoryTableSystem.vue
views/HardwareStatus/Sensors/Sensors.vue
views/Logs/Dumps/Dumps.vue
views/Logs/Dumps/DumpsForm.vue
views/Logs/Dumps/DumpsModalConfirmation.vue
views/Logs/EventLogs/EventLogs.vue
views/Logs/PostCodeLogs/PostCodeLogs.vue
views/Operations/FactoryReset/FactoryReset.vue
views/Operations/FactoryReset/FactoryResetModal.vue
views/Operations/Firmware/Firmware.vue
views/Operations/Firmware/FirmwareAlertServerPower.vue
views/Operations/Firmware/FirmwareCardsBmc.vue
views/Operations/Firmware/FirmwareCardsHost.vue
views/Operations/Firmware/FirmwareFormUpdate.vue
views/Operations/Firmware/FirmwareModalSwitchToRunning.vue
views/Operations/Firmware/FirmwareModalUpdateFirmware.vue
views/Operations/KeyClear/KeyClear.vue
views/Operations/Kvm/KvmConsole.vue
views/Operations/RebootBmc/RebootBmc.vue
views/Operations/SerialOverLan/SerialOverLan.vue
views/Operations/SerialOverLan/SerialOverLanConsole.vue
views/Operations/ServerPowerOperations/BootSettings.vue
views/Operations/ServerPowerOperations/ServerPowerOperations.vue
views/Operations/VirtualMedia/ModalConfigureConnection.vue
views/Operations/VirtualMedia/VirtualMedia.vue
views/Overview/OverviewQuickLinks.vue
views/PageNotFound/PageNotFound.vue
views/ProfileSettings/ProfileSettings.vue
views/ResourceManagement/Power.vue
views/SecurityAndAccess/Certificates/Certificates.vue
views/SecurityAndAccess/Certificates/ModalGenerateCsr.vue
views/SecurityAndAccess/Certificates/ModalUploadCertificate.vue
views/SecurityAndAccess/Ldap/Ldap.vue
views/SecurityAndAccess/Ldap/ModalAddRoleGroup.vue
views/SecurityAndAccess/Ldap/TableRoleGroups.vue
views/SecurityAndAccess/Policies/Policies.vue
views/SecurityAndAccess/Sessions/Sessions.vue
views/SecurityAndAccess/UserManagement/ModalSettings.vue
views/SecurityAndAccess/UserManagement/ModalUser.vue
views/SecurityAndAccess/UserManagement/TableRoles.vue
views/SecurityAndAccess/UserManagement/UserManagement.vue
views/Settings/DateTime/DateTime.vue
views/Settings/Network/ModalDns.vue
views/Settings/Network/ModalHostname.vue
views/Settings/Network/ModalIpv4.vue
views/Settings/Network/ModalMacAddress.vue
views/Settings/Network/Network.vue
views/Settings/Network/NetworkGlobalSettings.vue
views/Settings/Network/NetworkInterfaceSettings.vue
views/Settings/Network/TableDns.vue
views/Settings/Network/TableIpv4.vue
views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue
views/Settings/SnmpAlerts/ModalAddDestination.vue
views/Settings/SnmpAlerts/SnmpAlerts.vue
883a0d5923-Mar-2024 Ed Tanous <ed@tanous.net>

i18n, vue-router and vuex upgrade

1. Configuration of i18n legacy as false.
2. Translation function t is called using the useI18n.
3. Used the i18n.global.t() function from i18n instead of this.$t()

i18n, vue-router and vuex upgrade

1. Configuration of i18n legacy as false.
2. Translation function t is called using the useI18n.
3. Used the i18n.global.t() function from i18n instead of this.$t()
4. Event bus error that occurred during logout.
5. Implemented vue-router 4.4.0 and vuex upgrade to 4.1.0

Change-Id: I9464d82c76dcc1445ce271983ea3ab9d7b03d265
Signed-off-by: Surya Venkatesan <suryav@ami.com>

show more ...

7d6b44cb23-Mar-2024 Ed Tanous <ed@tanous.net>

Upgrade vue3 and all dependencies

Start the process of porting everything to Vue 3. I have most things
working. npm run-scripts build works, npm install works. prettier
passes. Styles load, logi

Upgrade vue3 and all dependencies

Start the process of porting everything to Vue 3. I have most things
working. npm run-scripts build works, npm install works. prettier
passes. Styles load, login works, webui loads.

This was primarily done using the linked documents below. It makes the
following design decisions:
1. Vue is put in compat 2 mode, which allows most of the components to
work as-is.
2. Bootstrap v4 is used along with bootstrap-vue to keep our components
working.
3. Minor changes are made to load the latest versions of vue-router,
vuex, and vue-i18n.

I suspect this patchset is good enough to start with, and we can clean
up the broken things one patchset at a time. The things that need to
happen are:

1. Get remaining features working again. This primiarily is vue-i18n
for mixins, and non vue components. This likely needs to be done by
not pulling in i18n into the non vue components, then using the .Vue
files to do the internationalization in the component context, NOT in
the mixin context. Alternatively, we could drop MixIns alltogether.
2. Get custom styles working again. Previously, we used some path
hackery in vue.config.js to optionally pre-load styles. This stops
working now that we're required to @import our modules. Likely we
need some rearangement of the paths such that custom styles are a
complete replacement (possibly importing the original) rather than
additive with overrides. That's a guess, but I don't really see
anyone else doing customization the way we've defined it here.
3. Bootstrap 5 no longer requires ANY custom vue modules, as it has
dropped the jquery dependency. We won't be able to pull in bootstrap
5 all at once, so pull in bootstrap 5 under an alias, like
"bootstrap5" that we can optionally import 5 or 4.
4. One at a time, start porting components over to Vue3 syntax and
bootstrap 5. This will be the bulk of the manual work and review.

The only thing I think left is getting unit tests passing, which I
commented out the pre-commit hook to make this PR.

Tested: Code builds. Needs better testing.

[1] https://router.vuejs.org/guide/migration/
[2] https://vue-i18n.intlify.dev/guide/migration/vue3
[3] https://vuelidate-next.netlify.app/migration_guide.html#package-name-and-imports

Change-Id: I5bb3187b9efbf2e4ff63e57994bc528756e2a981
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...


/openbmc/webui-vue/.eslintrc.js
/openbmc/webui-vue/babel.config.js
/openbmc/webui-vue/package-lock.json
/openbmc/webui-vue/package.json
/openbmc/webui-vue/postcss.config.js
App.vue
assets/styles/bmc/custom/_buttons.scss
assets/styles/bmc/custom/_dropdown.scss
assets/styles/bmc/custom/_tables.scss
components/AppHeader/AppHeader.vue
components/AppNavigation/AppNavigation.vue
components/Global/ButtonBackToTop.vue
components/Global/FormFile.vue
components/Global/InfoTooltip.vue
components/Global/InputPasswordToggle.vue
components/Global/LoadingBar.vue
components/Global/PageContainer.vue
components/Global/PageSection.vue
components/Global/PageTitle.vue
components/Global/Search.vue
components/Global/StatusIcon.vue
components/Global/TableDateFilter.vue
components/Global/TableFilter.vue
components/Global/TableToolbar.vue
components/Mixins/BVPaginationMixin.js
components/Mixins/TableRowExpandMixin.js
env/assets/styles/_default.scss
eventBus.js
i18n.js
layouts/AppLayout.vue
layouts/LoginLayout.vue
main.js
router/routes.js
store/api.js
store/index.js
views/ChangePassword/ChangePassword.vue
views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
views/Login/Login.vue
views/Logs/Dumps/Dumps.vue
views/Logs/Dumps/DumpsForm.vue
views/Logs/Dumps/DumpsModalConfirmation.vue
views/Logs/EventLogs/EventLogs.vue
views/Logs/PostCodeLogs/PostCodeLogs.vue
views/Operations/FactoryReset/FactoryReset.vue
views/Operations/Firmware/FirmwareCardsHost.vue
views/Operations/Firmware/FirmwareFormUpdate.vue
views/Operations/Kvm/KvmConsole.vue
views/Operations/RebootBmc/RebootBmc.vue
views/Operations/SerialOverLan/SerialOverLanConsole.vue
views/Operations/ServerPowerOperations/ServerPowerOperations.vue
views/Operations/VirtualMedia/ModalConfigureConnection.vue
views/Overview/OverviewCard.vue
views/Overview/OverviewEvents.vue
views/Overview/OverviewQuickLinks.vue
views/ProfileSettings/ProfileSettings.vue
views/ResourceManagement/Power.vue
views/SecurityAndAccess/Certificates/Certificates.vue
views/SecurityAndAccess/Certificates/CsrCountryCodes.js
views/SecurityAndAccess/Certificates/ModalGenerateCsr.vue
views/SecurityAndAccess/Certificates/ModalUploadCertificate.vue
views/SecurityAndAccess/Ldap/Ldap.vue
views/SecurityAndAccess/Ldap/ModalAddRoleGroup.vue
views/SecurityAndAccess/Policies/Policies.vue
views/SecurityAndAccess/UserManagement/ModalSettings.vue
views/SecurityAndAccess/UserManagement/ModalUser.vue
views/SecurityAndAccess/UserManagement/UserManagement.vue
views/Settings/DateTime/DateTime.vue
views/Settings/Network/ModalDns.vue
views/Settings/Network/ModalHostname.vue
views/Settings/Network/ModalIpv4.vue
views/Settings/Network/ModalMacAddress.vue
views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue
views/Settings/SnmpAlerts/ModalAddDestination.vue
/openbmc/webui-vue/tests/unit/AppHeader.spec.js
/openbmc/webui-vue/tests/unit/AppNavigation.spec.js
/openbmc/webui-vue/tests/unit/Global/InfoTooltip.spec.js
/openbmc/webui-vue/tests/unit/Global/InputPasswordToggle.spec.js
/openbmc/webui-vue/tests/unit/Global/LoadingBar.spec.js
/openbmc/webui-vue/tests/unit/Global/PageContainer.spec.js
/openbmc/webui-vue/tests/unit/Global/PageSection.spec.js
/openbmc/webui-vue/tests/unit/Global/PageTitle.spec.js
/openbmc/webui-vue/tests/unit/Global/Search.spec.js
/openbmc/webui-vue/tests/unit/Global/StatusIcon.spec.js
/openbmc/webui-vue/tests/unit/Global/TableCellCount.spec.js
/openbmc/webui-vue/tests/unit/Global/TableToolbar.spec.js
/openbmc/webui-vue/tests/unit/Global/__snapshots__/PageSection.spec.js.snap
/openbmc/webui-vue/vue.config.js
4130397530-Sep-2024 Nikhil Ashoka <a.nikhil@ibm.com>

Updated Power restore policy URI

- Previously, we used to get the values for power restore policy page
from“JsonSchemas/ComputerSystem/ComputerSystem.json”. Now we have
removed the hardcoded API

Updated Power restore policy URI

- Previously, we used to get the values for power restore policy page
from“JsonSchemas/ComputerSystem/ComputerSystem.json”. Now we have
removed the hardcoded API call and are fetching the values from
the JsonSchemas/ComputerSystem’s URI because we would have versioned
ComputerSystem.json in the redfish response.

Change-Id: I1a25cbbb3dfc536485a6f71a359ae32c6eadf5f7
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>

show more ...

51feb35327-Sep-2024 Sean Zhang <xiazhang@nvidia.com>

Fix event entry download

Event entry should be downloaded with specific http header of "Accept:
application/octet-stream" or "*/*", but the default http header is set
to "Accept: application/json",

Fix event entry download

Event entry should be downloaded with specific http header of "Accept:
application/octet-stream" or "*/*", but the default http header is set
to "Accept: application/json", so need to specify the header for event
downloading.

Refer: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/40136

Tested:
Event entry data can be downloaded with the fix.

Change-Id: Ia45123340da79a54fc4229470e6822206b8df808
Signed-off-by: Sean Zhang <xiazhang@nvidia.com>

show more ...

f4e7973917-Sep-2024 Nikhil Ashoka <a.nikhil@ibm.com>

Updated Dumps card in overview page

- The Dumps count in the overview page is not displaying the count of
all
the entries. Updated to display count of all entries.
- The registration of Dumps stor

Updated Dumps card in overview page

- The Dumps count in the overview page is not displaying the count of
all
the entries. Updated to display count of all entries.
- The registration of Dumps store is in multiple locations,
store -> index.js and env -> store -> ibm.js.
Causing error in IBM machines because of duplicate
 registration.
Removed from env folder.

Change-Id: Idc57a85db090d1b1d3211c01e658b181a7fc1177
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>

show more ...

ccf5c5c812-Sep-2024 jason westover <jwestover@nvidia.com>

Add default Target to MultipartHttpPush

When no targets are provided, webui will now default to the BMC:
i.e. "/redfish/v1/Managers/bmc"

The current version of bmcweb requires the Targets parameter

Add default Target to MultipartHttpPush

When no targets are provided, webui will now default to the BMC:
i.e. "/redfish/v1/Managers/bmc"

The current version of bmcweb requires the Targets parameter.
bmcweb will be updated for multipart to match the behavior of
simpleupdate:
if Targets is empty or missing, default to the BMC.

Also, the fwupdate page will be updated soon to allow the
selection of Targets from the FirmwareInventory list.

This should be a temp webui fix until we are comfortable with
the upcoming changes to bmcweb.

Change-Id: I630dcb40068b98aad8e1d276d17fe9af4793e788
Signed-off-by: jason westover <jwestover@nvidia.com>

show more ...

e2c716a928-Jul-2024 Leo Xu <yongquanx@nvidia.com>

Add support for MultipartHttpPushUri in fw push

According to the Redfish Firmware Update Whitepaper [1]
due to the vendor-specific details of this operation,
HttpPushUri has been deprecated in f

Add support for MultipartHttpPushUri in fw push

According to the Redfish Firmware Update Whitepaper [1]
due to the vendor-specific details of this operation,
HttpPushUri has been deprecated in favor of multipartHTTP push
updates.

Availability of update methods is determined from the UpdateService
response.

If MultipartHttpPushUri is found it will be preferred over HttpPushUri

Tested:
-Firmware update by performed via MultipartHttpPushUri

[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP2062_1.0.1.pdf

Change-Id: I184a889514d5f9f9598f35b2281404335bc0bc82
Signed-off-by: Leo Xu <yongquanx@nvidia.com>

show more ...

db2940a825-Jul-2024 Farah Rasheed <Farah.Rasheed1@dell.com>

Add status state info to inventory tables

Add status state information to the inventory tables
for fans and power supplies.

Also updates sortCompare to be able to sort by the
state.

Change-Id: Ic8

Add status state info to inventory tables

Add status state information to the inventory tables
for fans and power supplies.

Also updates sortCompare to be able to sort by the
state.

Change-Id: Ic830dd0867daee0bf6052a5d1cff5592b98fc009
Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>

show more ...

09a3b9e003-Jul-2024 Paul Fertser <fercerpav@gmail.com>

Use auth token when not communicating with bmcweb

Redfish backends other than OpenBMC bmcweb expect clients to
authenticate using X-Auth-Token HTTP header as that's the only standard
authentication

Use auth token when not communicating with bmcweb

Redfish backends other than OpenBMC bmcweb expect clients to
authenticate using X-Auth-Token HTTP header as that's the only standard
authentication method for Redfish sessions.

This code falls back to using the token in case Session creation didn't
result in obtaining an XSRF cookie (as should normally happen with
bmcweb).

Limitations: all WebSocket-based functionality can not work (JS-based
NBD Virtual Media, IP KVM, SOL), page reload drops the session and
requires to log in again.

Tested: logging in, observing Overview and successfully logging out of
an AMI MegaRAC BMC. Logging in and navigating around a bmcweb-running
system which doesn't have the code to provide cookies for Session POST
request (everything works as usual sans WS-based features).

Change-Id: I81dc881193440d8d252dcd283b99915bd08c0c5e
Signed-off-by: Paul Fertser <fercerpav@gmail.com>

show more ...

b2acbcaa08-Jul-2024 Farah Rasheed <Farah.Rasheed1@dell.com>

Add a confirmation modal for disabling users

Add a confirmation modal in the user management table when users
are disabled.

Change-Id: I06bb1c96abdc7fa895aec2fe2025e9039577ae1d
Signed-off-by: Farah

Add a confirmation modal for disabling users

Add a confirmation modal in the user management table when users
are disabled.

Change-Id: I06bb1c96abdc7fa895aec2fe2025e9039577ae1d
Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>

show more ...

6de0341405-Jul-2024 Paul Fertser <fercerpav@gmail.com>

Handle expired passwords Redfish standard way

A password can expire at any moment during session lifetime and bmcweb
starts returning 403 Forbidden errors to the requests made after that.
The respon

Handle expired passwords Redfish standard way

A password can expire at any moment during session lifetime and bmcweb
starts returning 403 Forbidden errors to the requests made after that.
The response contains clear indication of the condition in the standard
`@Message.ExtendedInfo` attribute which is an array of Message objects.

Previously the code was trying to detect this condition by querying
AccountService after logging in but this approach doesn't work when
password expires mid-session. Also it was limited to BMC-managed
accounts and used hardcoded account URIs in violation of Redfish spec.

This patch adds to the interceptor of 403 error so that the user is
automatically redirected to the password change page as soon as the
condition is detected.

The same message is also present in the session creation POST response
201 if the password expired before the log in attempt, in this case the
session is created as usual but the user is automatically redirected to
password change page before any further requests are made.

Tested: logging in, navigating, logging out with non-expired password.
Logging in, navigating, then running `passwd -e <accountname>` via ssh
leads to functional password change page on the next request and then
navigating proceeds normally, and logging out too. If password is
expired before logging in the user gets redirected to the password
change page automatically after logging in.

Fixes: https://github.com/openbmc/webui-vue/issues/118
Change-Id: I03f5ee2526a4bb1d35d3bbea1142fea077d6bfed
Signed-off-by: Paul Fertser <fercerpav@gmail.com>

show more ...

12345678910>>...27