openbmc / phosphor-webui Goto Github PK
View Code? Open in Web Editor NEWWeb-based user interface for managing OpenBMC systems
License: Apache License 2.0
Web-based user interface for managing OpenBMC systems
License: Apache License 2.0
[w54]# cat /etc/os-release
ID="openbmc-phosphor"
NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro)"
VERSION="v2.3-163"
VERSION_ID="v2.3-163-g8f3fc97"
PRETTY_NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) v2.3-163"
BUILD_ID="v2.3"
Using latest chrome on my macbook.
Using the SOL console in the GUI, I see the hostboot isteps fine, then most of petitboot, then it suddenly just stops, here's the last of what I get.
[ 69.352195504,5] PHB#0004:01:00.4 [EP ] 10b5 87d0 R:ca C:088000 (system-peripheral)
[ 69.352243104,5] PHB#0005:00:00.0 [ROOT] 1014 04c1 R:00 C:060400 B:01..01
[ 69.352288786,5] PHB#0005:01:00.0 [EP ] 14e4 1657 R:01 C:020000 ( ethernet)
[ 69.352340102,5] PHB#0005:01:00.1 [EP ] 14e4 1657 R:01 C:020000 ( ethernet)
[ 69.352390040,5] PHB#0006:00:00.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352440204,5] PHB#0006:00:00.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352482785,5] PHB#0006:00:01.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352527499,5] PHB#0006:00:01.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352571771,5] PHB#0006:00:02.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352620737,5] PHB#0006:00:02.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352668622,5] PHB#0007:00:00.0 [EP ] 1014 04ea R:01 C:060400 ( pci)
[ 69.352717447,5] PHB#0007:00:00.1 [EP ] 1014 04ea R:01 C:060400 ( pci)
Hitting enter does nothing, but if I hit the "Refresh" button in the upper right and then hit enter in the console then I'll get my OS login:
w54l login:
Red Hat Enterprise Linux Server 7.4 (Maipo)
Kernel 4.14.0-49.el7a.ppc64le on an ppc64le
Style Guide is here:
https://ibm.invisionapp.com/share/EBNYECMH3Y2#/screens
After the commit 569ccf6 the overview
page looks like this:
As I find out, it happens because in my case the value of Date().toString()
contains national characters in the time zone.
new Date().toString()
"Thu Nov 15 2018 14:54:55 GMT+0300 (Москва, стандартное время)"
The events log page have the same behavior.
AngularUtils is no longer maintained.
Move to a more standard pagination and remove AngularUtils.
Implement additional capabilities that are missing from current GUI (e.g. add/remove IPV4 addresses, read-only view of addresses obtained from DHCP)
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318937_Network_Assign_new_static_IP
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318936_Network_Assign_Existing_static_IP
Initial setup of Static IP address:
Secondary confirmation pop-up message will appear upon selecting to save settings.
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318924_Network_Save_Settings_Successful
Successful/Failed toast messages will appear on the top right corner of the page
Notifications will inform user is settings saved successfully or failed (GUI will not save input fields with errors)
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318934_Network_DHCP_After_Saving
Initial setup of Obtaining IP addresses via DHCP server:
IP addresses will not be made available until user selects to save settings.
Blue is used to imply clickable links..
The IBM design team made this recommendation:
Visual treatment of the “Functional firmware version” implies a
clickable state when in actuality it is not. This is in opposition to the
same blue color treatment used in the UI as a call to action.
• Recommendation: Use the color #666666 for the firmware version text.
The web application should not autocomplete username and password fields. It may apply to other fields. See https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
System Admins need to manage the connection to the SNMP server/s -- add, edit, remove, test connection.
After attempting to login in I get kicked back out to the login page. I see lots of 200 calls but hit two 404s when attempting to collect inventory on a part that does not exist yet. I believe the
xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc/ethernet
does not exist until the system has booted. Honestly that in itself seems like a bug since it is the inventory pat of the BMC itself, however the web code cant simply exit out. It needs to gracefully handle missing parts. How else could we update the firmware for a web bug in the field.
xxx - - [30/Sep/2017:00:04:46 +0000] "GET /xyz/openbmc_project/led/groups/enclosure_identify HTTP/1.1" 200 80 "https://xxx/web/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"
xxx - - [30/Sep/2017:00:04:47 +0000] "GET /xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc/ethernet HTTP/1.1" 404 240 "https://xxx/web/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"
xxx - - [30/Sep/2017:00:04:47 +0000] "GET /xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc HTTP/1.1" 404 231 "https://xxx/web/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"
When there is no event log available these 3 changes need to be made in the current design-
Here is a screenshot
Virtual Media - InVision Mockups
System Admins need to start a Virtual Media session by selecting a file from the appropriate device and, once the file has been 'uploaded', start the session.
LDAP Settings - InVision Mockups for testing 11-2018
System Admins need to add and remove Role Groups of users (as defined by the LDAP server) who can access the BMC through the LDAP server, and modify their privileges.
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318937_Network_Assign_new_static_IP
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318936_Network_Assign_Existing_static_IP
Initial setup of Static IP address:
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318928_Network_Save_Settings
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318924_Network_Save_Settings_Successful
A user can manage their certificates (CA certificates, client certificates, and server certificates). Users should be able to see the uploaded file (and upload a new one if wanted), the start date, and expiration date.
Log In Notifications - InVision Mockups
System Admins should be able to understand issues that occur while attempting to log into the BMC web ui.
Some nodes under /xyz/openbmc_project/inventory/system/chassis/
have subtrees.
For example, there are:
/xyz/openbmc_project/inventory/system/chassis/bmc
and/xyz/openbmc_project/inventory/system/chassis/bmc/activation
The latter one is a part of bmc
information (a link to active software definition), but in WebUI it is displayed as a separate component under Hardware
section:
I believe, such entries must be put under their respective parent nodes somehow.
Hi:
I use web sol in phosphor-webui to manipulate UEFI setting on a remote PC and find out that some content is invisible.
After configuring height attribute in serial-lan__terminal @ app/server-control/styles/remote-console.scss, the whole UEFI setting content is displayed.
The height value is modified from 400px to 600px.
Is it okay to make the iframe to cover the whole remote screen content? Or other attribute for this?
Thank you.
Our test team reported this:
Host time is not getting set via GUI with SPLIT as time owner and NTP mode. This issue is specific to GUI as via REST we are not seeing the problem.
Step to recreate
According to https://github.com/openbmc/phosphor-time-manager/blob/master/README.md, setting the host time while in NTP mode is allowed
“Server Health” tab should not be highlighted when page is currently on “Server Overview”. This is disorienting to user.
Default state: Dark blue background #1B2834, light grey for icon and text #E0E0E0
Selected state: White background #FFFFFF, Dark blue for icon and text #1B2834
Hover state: Grey background #DCDEE0, light blue for icon and text #3C6DF0
FYI -- (work in progress) Translation of error messages will need to be vetted.
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318933_Network_Error_States_Before_Saving
Error instances BEFORE saving settings:
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318931_Network_Leaving_Before_Saving
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318930_Network_Save_With_Errors
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318323558_Network_Errors_To_Fix
Error instances trying to save settings with persisting errors
https://ibm.invisionapp.com/share/YSNTBXAJGUC#/318318926_Network_Error_Connection
Error instances AFTER saving settings
Currently, both "Power Consumption" and "Power Cap" fields in "Power information" section of the Server overview page are hard-coded to "000 W".
Visual treatment of the “In-memory firmware version” implies a clickable state when in actuality it is not. This is in opposition to the same blue color treatment used in the UI as a call to action.
Keep language consistent by referring to statement as “Functional firmware version:”
Recommendation: Use the color #666666 for the firmware version text, and change language to reflect “Functional firmware version:”.
LDAP Settings - InVision Mockups for testing 11-2018
System Admins need to manage the communication configuration for authentication between the BMC and LDAP servers.
System Admins need to understand which certificates are being used for authentication and should be able to quickly go to the appropriate panel to change them.
I tried the npm install command on a virtualbox ubuntu 16.04. Memory was 10466MB.
<--- JS stacktrace --->
Cannot get stack trace in GC.
FATAL ERROR: NewSpace::Rebalance Allocation failed - process out of memory
1: node::Abort() [npm]
2: 0x13c7b5c [npm]
3: v8::Utils::ReportOOMFailure(char const*, bool) [npm]
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [npm]
5: 0xaf9b8b [npm]
6: v8::internal::MarkCompactCollector::Evacuate() [npm]
7: v8::internal::MarkCompactCollector::CollectGarbage() [npm]
8: v8::internal::Heap::MarkCompact() [npm]
9: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [npm]
10: v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags) [npm]
11: v8::internal::Heap::FinalizeIncrementalMarkingIfComplete(v8::internal::GarbageCollectionReason) [npm]
12: v8::internal::IncrementalMarkingJob::Task::RunInternal() [npm]
13: v8::internal::CancelableTask::Run() [npm]
14: v8::platform::DefaultPlatform::PumpMessageLoop(v8::Isolate*, v8::platform::MessageLoopBehavior) [npm]
15: node::Start(uv_loop_s*, int, char const* const*, int, char const* const*) [npm]
16: node::Start(int, char**) [npm]
17: __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
18: _start [npm]
How much memory do I need?
Unable to understand context for all the temperature values when scrolling down the table.
This pattern would apply to other pages that include tables.
Recommendation: Table header stays fixed while user scrolls through table rows. Filter field and severity filter should also stay fixed due to its context to the table.
Our test team reported this problem.
Host time is not getting set via GUI with manual mode and HOST as time owner. With REST commands, we are not hitting this problem and so this is specific to GUI.
Step to recreate
As discussed in the following issues in other parts of openbmc project, on non-router systems there is no such concept as per-interface gateway:
openbmc/openbmc#2671
openbmc/phosphor-networkd#22
Hence, there is no need to have the associated fields in web-ui. They only confuse the users:
Management User Accounts - InVision Mockups
System Admin should be able to manage the users that can locally access the host/BMC in a way that is consistent with the rest of the GUI.
Date and Time Settings - InVision Mockups for testing 11-2018
System Admins need to manually set the date and time of the BMC and Server, or select an NTP server to set it automatically.
ophosphor-time-manager is the time manager service that implements D-Bus interface xyz/openbmc_project/Time/EpochTime.interface.yaml. The user can get or set the BMC's or HOST's time via this interface.
Unable to view the total number of available sensors. Viewing a value becomes important because it reinforces the number of results shown in the table when user chooses to filter.
This pattern is currently being used in the Events page-
Recommendation: Present number of sensors available in the table at the current time
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.