tree: 7c6b6f715473549756c34b685c7a0037405b77b2 [path history] [tgz]
  1. app/
  2. cmd/
  3. test/
  4. auth.go
  5. conn_server.go
  6. constants.go
  7. Dockerfile
  8. ghost.go
  9. go.mod
  10. go.sum
  11. Makefile
  12. overlord.go
  13. README.md
  14. rpc.go
  15. setup.sh
  16. sysutils_darwin.go
  17. sysutils_linux.go
  18. sysutils_posix.go
  19. sysutils_test.go
  20. utils.go
  21. utils_test.go
go/src/overlord/README.md

Overlord Deployment Guide

Objective

The goal of this document is to provide deployment guidance to the Overlord factory monitor system.

Deployment

Prerequisites

You need a computer that can run docker and python3.6+. We recommend using Ubuntu 18.04+.

Add current user to the “docker” group, then you can run docker command without sudo.

sudo usermod -aG docker ${USER}

Intstall the following packages:

pip3 install jsonrpclib-pelix ws4py

Get the deployment script

The Overlord source code resides in the chromiumos factory repository. You can clone the factory git repo without the entire chromiumos source tree:

$ git clone https://chromium.googlesource.com/chromiumos/platform/factory

Then you can find the deployment script setup/cros_docker.sh.

Set up Overlord

$ cd factory/setup
$ ./cros_docker.sh overlord setup

You need to provide the following info at this step:

  1. Account / password
    • This is Overlord's user account.
  2. IP
    • Overlord's IP

After the setup, the setup script will print some instructions for you to set up the browser certificate. But this step is optional.

Run Overlord

$ ./cros_docker.sh overlord run

You can access the Overlord server at https://${IP}:9000.

Dashboard feature

This feature integrates the DUT's testing framework into Overlord server. Long story short:

  1. DUT can connect to Overlord and report their test status.
  2. Users can view the test status in Overlord dashboard UI.

Please refer to the user manual guide for more details.


Others

Ghost Clients

The clients are called ghost in the Overlord framework. There are currently two implementations, one implemented in python and the other implemented in go. The python version can be found under the factory source repository: py/tools/ghost.py; while the go version is under go/src/overlord/ghost.go which is built along side with the overlordd binary under go/bin.

How to upgrade ghost client

The recommended way is to upgrade the toolkit with upgraded ghost client through shopfloor. This prevents most of the compatibility issues.

Internal Docs

  1. Overlord Design Doc
  2. Dashboard Design Doc