Skip to content

maciejaszek/boruta

 
 

Repository files navigation

Boruta

Overview

Boruta is part of SLAV stack. It is used to manage a device farm. Each device in farm is expected to be connected to a supervisor (MuxPi board) which runs Dryad - an agent communicating with Boruta server. Device Under Test with a supervisor running Dryad is called worker. To denote connected DUT, each worker has a set of capabilites.

Boruta performs following:

  • maintains list of registered workers, each with capabilities of connected DUTs and current status.
  • manages requests for DUT access with attention to:
    • priorities
    • time scheduling
    • requested capabilities (e.g. hardware interfaces)
  • creates tunnel to acquired worker

All of the above information can be accessed via HTTP API.

Deployment

Docker

  1. Prerequisites:
  2. Clone Boruta and go to that directory:

    $ git clone https://github.com/SamsungSLAV/boruta.git & cd boruta
  3. Now just invoke make and enjoy your binaries in the bin directory:

    $ make

    Note

    Keep in mind that dockerized Boruta build downloads clean source from current master, rather than use from local sources.

Local

  1. Prerequisites:
  2. Go get it:

    $ go get github.com/SamsungSLAV/boruta
  3. Go to repository directory:

    $ cd $GOPATH/src/github.com/SamsungSLAV/boruta
  4. Download dependencies:

    $ go get ./...
  5. And finally build Boruta server and Dryad agent:

    $ go build -o boruta cmd/boruta/boruta.go
    $ GOARCH=arm GOARM=7 GOOS=linux go build -o dryad_armv7 cmd/dryad/dryad.go

Using Boruta

  1. Run the server with -h flag:

    $ ./boruta -h

    to receive full list of parameters.

  2. Start Boruta server substituting your addresses and ports:

    $ ./boruta -api-addr=127.0.0.1:8487 -rpc-addr=192.168.0.1:7175
  3. Connect to your MuxPi and create directory for Dryad agent settings on the MuxPi:

    $ mkdir -p /etc/boruta/
  4. Start Dryad agent on MuxPi. It should create dryad.conf file in the directory specifed earlier.

    Adjust the file with your deployment specifics such as:

    • Boruta server address
    • sdcard location (/dev/sda on MuxPi)
    • DUT capabilities
    • User groups.

    For the user to be able to connect to the DUT following groups should be added:

    groups = ["disk", "dialout", "stm", "uucp"]
  5. Start Dryad agent with filled config. Worker should register in the Boruta.
  6. Use your freshly configured worker!

Contact information

Name E-mail
Maciej Wereski m.wereski@partner.samsung.com
Łukasz Wojciechowski l.wojciechow@partner.samsung.com

License

Boruta is distributed under Apache 2.0 License

About

Boruta is part of SLAV stack. It is used to manage a device farm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.7%
  • Other 0.3%