Fix "Clear Oem Logs" functionality in System Logs

Issue Symptom:
1. "Clear Oem Logs" button didn't show on webui when type select to "Oem".
2. "Clear Oem Logs" button was showed on then pressed with fix, but the function didn't work correctly.
   Event logs were deleted instead of Oem logs.

Root cause:
1. getSystemLogs() always get Event logs by default no matter type be selected to "Oem".
2. clearSystemLogs() always clear Event logs by default no matter type be selected to "Oem".

Solution:
1. According "recordType" to get Oem logs from uri:
   '/redfish/v1/Systems/' + DataService.systemName + '/LogServices/Crashdump/Entries'
2. According "selectedRecordType" to clear Oem logs by action: uri = '/redfish/v1/Systems/' +
   DataService.systemName + '/LogServices/Crashdump/Actions/LogService.ClearLog'

Modified files:
webui/app/common/services/api-utils.js
webui/app/server-health/controllers/syslog-controller.html
webui/app/server-health/controllers/syslog-controller.js

Tested by:
1. In WebUI/Server health/System Logs, select system log type as "Oem", then click "Clear Oem Logs" button.
   The Oem logs (CPU Crashdump log) all were deleted.
2. Select system log type as "Event", then click "Clear Event Logs" button.
   The System Event Log all were deleted.

Signed-off-by: Tim Lee <timlee660101@gmail.com>
Change-Id: I2a3d42a61f53df84b88585cf7c65a10688eaef05
3 files changed
tree: 1c2154202ef3f8e8dc309274280920aaf1b194a9
  1. app/
  2. .clang-format
  3. .gitignore
  4. config.json
  5. format-code.sh
  6. karma.conf.js
  7. LICENSE
  8. MAINTAINERS
  9. package-lock.json
  10. package.json
  11. postcss.config.js
  12. README.md
  13. sonar-project.properties
  14. webpack.config.js
README.md

OpenBMC Web User Interface

The OpenBMC WebUI is a Web-based user interface for the OpenBMC firmware stack. The WebUI uses AngularJS. Features include:

  • View system overview data such as model information and serial number
  • View and manage event logs
  • Inventory data
  • Sensor data
  • Power On/Off server operations
  • Reboot BMC
  • SOL console
  • Remote KVM
  • Virtual media
  • Date and time settings
  • IPv4 network settings
  • Manage and update BMC and Host firmware
  • LDAP
  • SSL certificates
  • Local user management

Requirements

nodejs (>= 4.2.6) npm (>= 6.0.1)

Note The default installation of your Linux distro may not come with the required versions above. See the following for more information on updating:

https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-node https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm

Installation

npm install

Note This must be run from within the phosphor-webui git repository.

Running locally

npm run-script server

This will start a server instance and begin listening for connections at http://localhost:8080. This development server provides live reloading on code changes. NOTE: Browsing to https://<BMC> and accepting the self-signed certificate might be required to prevent your browser from blocking traffic to the BMC.

Logging in

Enter the BMC Host or BMC IP address, username, and password. The default username and password are root/0penBmc.

Note that some OpenBMC implementations use bmcweb for its backend. For security reasons, bmcweb will need to be recompiled and loaded onto the target BMC Host before the above redirect command will work. The option to turn on within bmcweb is BMCWEB_INSECURE_DISABLE_XSS_PREVENTION. In order to test locally, you will also need to disable CSRF by turning on BMCWEB_INSECURE_DISABLE_CSRF_PREVENTION.