Get the Serial over LAN console working

This commit hooks up hterm to a websocket that the BMC's REST server
exposes as an access to the host serial console. Writes to the terminal
are sent over the websocket and reads from the websocket are written to
the terminal.

The websocket is open only when the console page in the GUI is loaded.

Tested:
- The host console can be accessed as expected from the GUI page.
- The "Open in new tab" is still unimplemented. I'll code that up in a
  subsequent commit.
- One issue that I've noticed is if you have the console open before the
  host is powered on, and then you power on the host, at the time the
  petitboot config menu shows, the text in the terminal stops scrolling
  and starts wrapping. The work-around is to refresh the page. This
  doesn't happen for example if you access the console after the host
  has powered on, or at any other time for that matter. I think this is
  an hterm.js issue. I'm still investigating.
- The console looks desirably performant. The REST server's performance
  to serve other routes is not impacted when the /console websocket is
  open.

Change-Id: I35fa39d7f63094552061b097c46be0fda79ed14f
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
1 file changed
tree: 5db5115735fabf3d42d49b991ecb670b6fadff53
  1. app/
  2. gulp_tasks/
  3. .babelrc
  4. .gitignore
  5. bower.json
  6. gulp-options.js
  7. gulpfile.js
  8. karma.conf.js
  9. LICENSE
  10. MAINTAINERS
  11. package.json
  12. postcss.config.js
  13. README.md
  14. sonar-project.properties
  15. webpack.config.js
README.md

openbmc

UX Design repo for OpenBMC

OpenBMC

TODO: Write a project description

Requirement

nodejs npm

Installation

npm install

Running

npm run-script server

This will run it locally in http://localhost:8080.

Example Usage with OpenBMC

  1. Browse to https://<bmc-ip> and bypass the secure warning. You will see a JSON response with Login required message.
  2. In the same session, navigate to http://localhost:8080. Enter the BMC IP, Username and Password (defaults: root/0penBmc).

Now you are logged in.