Age | Commit message (Collapse) | Author | Files | Lines |
|
- 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>
Signed-off-by: Surya Venkatesan <suryav@ami.com>
|
|
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>
|
|
- 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>
|
|
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>
|
|
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>
Signed-off-by: Surya Venkatesan <suryav@ami.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Renuka is no longer working on the project. Renuka thank you for all
your work!
Change-Id: If5cf2f65cc166c5ebc8ca80f1ceb6944b3cdf966
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Change-Id: Ic4de518f6b9016b90c3deaaa7d303dc97c6af208
Signed-off-by: jason westover <jwestover@nvidia.com>
|
|
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>
Signed-off-by: Surya Venkatesan <suryav@ami.com>
|
|
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>
|
|
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>
Signed-off-by: Surya Venkatesan <suryav@ami.com>
|
|
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>
|
|
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>
|
|
For event entry download, the href not work since the event entry
download only work with header of "Accept: application/octet-stream" or
the default "*/*", change to click function to make it work.
Refer: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/40136
Change-Id: I11051e913bfd71ef081bed93ffcbeeb1edd8c730
Signed-off-by: Sean Zhang <xiazhang@nvidia.com>
|
|
To be able to talk to a Redfish-compliant implementation webui should
switch from old non-standard login and logout endpoints to creating a
Session via an appropriate POST request and to DELETE it on logout. This
also gives us standard Session object with all the relevant parameters
which allows the frontend to know what session it's using, what
permissions it has etc.
This works against bmcweb which checks for the presence of
webui-vue-specific "X-Requested-With" header in the request and provides
cookies in addition to the Redfish authentication token in the header.
Tested: logging in, logging out, navigating the pages, reloading the
page doesn't require logging in (if the session isn't expired),
WebSocket connections work.
Change-Id: I9d6159850b109a658b8f980637653e7e4576058b
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
- Removed TFTP server firmware update ability in the UI.
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Signed-off-by: Surya Venkatesan <suryav@ami.com>
Change-Id: Icbeddc7a3faa262f12e85268206ae70850f37905
|
|
Vue3 has deprecated "hash" and recommends moving to contenthash. Also
remove source maps when not in development mode, so the build fits on
the bmc again.
Change-Id: I55b480d9b722c22b3670b19ec699a76fce07d1a5
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
Ipv6 got added. Make the updates to make it build for vue3.
Change-Id: Ifaa4b8e46200a8431c5d9ca9b8e3e279cc868f26
Signed-off-by: Ed Tanous <etanous@nvidia.com>
|
|
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>
|
|
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>
|
|
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>
|
|
In Dump.vue the "store" function getBmcDumpEntries is used but this
should be getAllDumps. This because Dump.vue wants to get all the dump
entries and not just the BCM entries.
Also the output format of getBmcDumpEntries is not what Dump.vue expects
causing that WebUI does not display any dump entry even when BCM dump
entries exists.
Note: The "dumps" path does not exist in the default
src/router/routes.js but (currently) only in src/env/router.ibm.js
Change-Id: I0c211126e1f1d0394455ea7e7ff627814674e1fa
Signed-off-by: Kees Trommel <kees.trommel@aimvalley.com>
|
|
Apply 'word-break: break-all' style for the group name field in the
Edit role group modal to ensure long group names wrap properly within
their container.
The change improves the readability and layout consistency of the
group name display in the modal even if it contains long text.
Fixes #111
Change-Id: Ia424fadc1630bbf28726a7064ff9b14764877d2b
Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>
|
|
In the FormFile component, break a long file name into
multiple lines using the word-break CSS property. This
ensures that long file names are properly displayed
within their container without causing overflow issues.
Fixes #121
The word-break property will allow the text to wrap onto
the next line at any character, maintaining the layout
integrity and improving the user interface.
Change-Id: Id534dd4e8f7737a60483272f2fdd70deb7a8a002
Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>
|
|
Add 'word-break: break-all' CSS property to ensure long
hostnames wrap properly within their container. This
prevents overflow issues that occur with long hostnames
without spaces. Fixes #111
The change improves the readability and layout
consistency of the network information display in the
NetworkGlobalSettings view.
Change-Id: I142d18b9507f6ae0a90778e5a338b015507c9d79
Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>
|
|
Mark `.png` and `.woff` files as binary to prevent line ending
conversions.
Change-Id: Ic9c46d4d62d29aa529d45f3487dcd62f78554bc3
Signed-off-by: Farah Rasheed <Farah.Rasheed1@dell.com>
|
|
Remove getLastBmcRebootTime after post BMC reboot action since BMC
connection will be lost after reboot. The last BMC reboot time will be
got after reboot BMC page loading, and after BMC reboot, user need
reload the WEB UI, so there is also no need to send Redfish request to
get the last BMC reboot time just after the post the BMC reboot action.
Change-Id: Ic5d0cbca23a61610cc387a4046b85e9c20c255ea
Signed-off-by: Sean Zhang <xiazhang@nvidia.com>
|
|
Add IPv6 setting in network setting page.
- Add IPv6 domain name, DNS servers, NTP servers enable/disable
- Add DHCPv6 enable/disable
- Add IPv6 default gateway
- Add IPv6 addresses
- Add IPv6 static addresses
- Add IPv6 static addresses adding and deleting
Tested:
- IPv6 domain name, DNS servers, NTP servers enable/disable function
- DHCPv6 enable/disable function
- Verified the IPv6 default gateway
- IPv6 addresses adding and deleting
- Verified the IPv6 addresses in IPv6 table
Change-Id: I9eebf6ef5f7de748f79779d8168b8dcfcdda2495
Signed-off-by: Sean Zhang <xiazhang@nvidia.com>
|
|
Currently, the Redfish request used fixed URIs, modify the code to use
the BMC and System paths got from response of API calls.
For CertificateStore, since it was using the URL for constant variable
assignment, changed the constant CERTIFICATE_TYPES to method call.
Change-Id: I330b7272083e3e6993aae5705aae170b8e9a4659
Signed-off-by: Sean Zhang <xiazhang@nvidia.com>
|
|
BMCWeb is dropping the support for patch for ApplyOptions, hence remove
the setApplyTimeImmediate and its corresponding usage from webui. The
related patch from bmcweb is as under -
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/72150
Change-Id: I4ef64485103db843e1280bc5b8bd8be63813c368
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
|
|
rm package-lock.json. Then regenerate package-lock.json using the yocto
version of npm, nodejs_20.11.1. [1]
devtool modify -n webui-vue <local webui-vue repo>
Then did a build.
This adds the integrity / resolved. It is based on a connectrpc
issue[2].
Prefer this solution over 71971[3] due to this using standard NPM.
[1]: https://github.com/openbmc/openbmc/blob/master/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
[2]: https://github.com/connectrpc/connect-es/issues/719#issuecomment-1635874082
[3]: https://gerrit.openbmc.org/c/openbmc/webui-vue/+/71971
Tested: A quick sanity test on the GUI works.
Change-Id: I13c098a7d07b2b8fdf3d82c2eaad3f35167757ae
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
This reverts commit bf37b317496c80dc9a87f49356efdab8a3b50caa.
The current version of the stack doesn't prevent logging in and all
operations without overriding "Connection:" header.
This overriding is making it impossible to test any WebSocket-based
functionality (IP KVM, SOL, Virtual Media).
Tested: logging in, navigating the interface, using IP KVM and SOL
console.
Fixes: https://github.com/openbmc/webui-vue/issues/94
Change-Id: I6174c75e35784ff370f6adf7841c98ae78a26ceb
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
- We were calling a method that is not present in
@filtered. Fixed this by using the method that is
added for this purpose and not used.
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Change-Id: I26b4b7d9be00c79c17dba382c0df6a0f02e1cd89
|
|
When in Dev server mode, we the webpack dev server isn't capable of
understanding wildcards, and that index.html, and index.<hash>.html are
the same thing.
Disable the index file hashing when in dev mode.
Tested:
Launched dev server without bmc present. Observed UI could be loaded
correctly.
Change-Id: Ie2d3bfe4af0117681cec8c92f93d7e278b2071f2
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
At https://github.com/openbmc/webui-vue/projects/1 GitHub warns me:
"Projects (classic) will be sunset on August 23, 2024".
I don't see a benefit here GitHub issues can already be filtered.
Change-Id: I3debd3ff7e52bcd408ae0917f52a35539a74a9ef
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
A new version of prettier is flagging this. Fix the link.
Change-Id: Ibb376bed7472b697c59bcaee75e958a969a72e61
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
By allowing root user privilege changes to Operator or Read Only,
after login with root user seeing privilege access issues in some
pages and not possible to change administrator again.
Allowed root user to change password alone and disabled
the privilege changes
Change-Id: I2be93060fb30e1f08dc2ea20a30fb998dc83ee0f
Signed-off-by: aravinths1 <aravinths@ami.com>
|
|
After scrolling down a page and navigating from that page to
other pages, the page still shows the bottom of the page and does not
display the top of the page.
Scroll behavior added in the router, So when navigating from one page
to another page the top of the page will always display.
Change-Id: I883e8a9f6ae3f98846996883cac0961b4c24c62b
Signed-off-by: aravinths1 <aravinths@ami.com>
|
|
First, remove the preload plugin installed by default. Given that the
login page requires the complete javascript package to be loaded before
the page can be rendered, and doing the rendering inside of bmcweb
before javascript is loaded[1] doesn't seem to be desired by the
community, preloading it does us essentially no good. The DOM itself is
tiny.
This fixes a split second flash that's seen on refresh, where the DOM is
loaded, but the javascript has not, so there's no content to render.
Second, modify the html loader plugin to produce the hash of the file at
output, thus allowing the index file to be cached, and allowing the etag
machinery[2] to work.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/35456
[2] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/70644
Tested: After this patch, nearly all resources on refresh return 304,
not modified from bmcweb. This significantly reduces the requirements
for TLS encryption on the BMC.
Change-Id: I7189c6024cacba099705ff6d27e4567bf88f3df4
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
- Added success toast notification messages for identify
LEDs present at Inventory and LEDs page and Overview.
- Import of Toast was not present in Overview's Inventory
card and DIMM slot table, fixed it.
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Change-Id: If9ad84e66f6f15616cb8af51b1e84d8d06b1afd0
|
|
- The contents in the Power restore policies were not listed
in a new line for large or extra large screens, Fixed
this by using stacked prop.
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Change-Id: I30ec1206a929137fc6635d602944cd80d2c2805f
|
|
- Unable to generate Certificate Signing Request (CSR) when filling
optional field-Challenge password values on Certificate page.
- Hence, removed the Challenge password option from the Generate
CSR panel.
Change-Id: I862f024de84f34738be5e5cd22701b63c2309152
Signed-off-by: Vedangi Mittal <vedangimittal3004@gmail.com>
|
|
For accounts authenticated remotely (e.g. with LDAP or RADIUS) the API
endpoint (handled by bmcweb) can not provide any information about
RoleId currently, reporting 404 instead. This confuses the frontend and
it doesn't allow to navigate at all.
Fix this by lifting all frontend-side restrictions by assuming
'Administrator' role in this case. Since the backend verifies validity
of each and every request anyway this doesn't affect security anyhow.
Tested: logging in, out and incorrectly using local BMC and remote LDAP
users, reloading the page with an active session. In all cases frontend
behaved as expected, storing assumed RoleId after getting 404 not found
reply and using it for unrestricted routing decisions.
Change-Id: If17d06bf0b8a372acd1980f6777227e25d9c78d8
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Bmcweb supports the If-None-Match and etag headers on responses. While
for static files, we can do a direct set, for responses, there's no way
to cache values.
Add caching support by adding what seems to be a well supported axios
package. Note the intent is that the cache expires immediately, such
that the bmc will always be polled for results, and return 304 when not
modified. Additionally, we currently cache these values in the session
context, such that they can be reused on refresh.
Tested: webui loads properly. Upon navigating to a logs page, and back,
the network console shows the bmc returning nearly all redfish responses
with 304, not modified.
Change-Id: I2e8067a88a0352226db9f987d1508ab5bf266b92
Signed-off-by: Ed Tanous <ed@tanous.net>
|