Clone this repo:

Branches

  1. b6847a5 kuota: add database client and initialization by Addison Luh · 12 months ago main
  2. c6ce45e scheduke: fix SwarmingDimensions proto to be a map (not list) by Jard Loucks · 12 months ago
  3. a9b2204 scheduke: add Scheduling Server protos by Jard Loucks · 12 months ago
  4. f9e201f scheduke: dockerize scheduling_service by Jard Loucks · 1 year ago
  5. 7426286 scheduke: add stubbed shadow-mode BB client and pod store client by Jard Loucks · 1 year ago

Introduction

Scheduke is the build task scheduler for Chromium OS infrastructure.

Currently this repository contains the scheduling simulator code in simulator/ and scheduler/

Install

This project requires the following python packages:

  • yapf
  • sortedcontainers
  • fnvhash

Common issues

Missing yapf style

If you encounter an issue similar to this:

  File "*/yapf/yapflib/style.py", line 680, in _CreateStyleFromConfigParser
    base_style = _STYLE_NAME_TO_FACTORY[based_on]()
KeyError: 'yapf'

You'll need to update your yapf version to the latest, or at least 0.31 or later. Note that there might be another copy of yapf in depot_tools and the depot_tools should be updated as well.

Run the scheduling service locally

  • Set up sudoless docker if you haven‘t--it’s required for gcloud and docker to work together.

  • Build the image

    ./docker_build
    
  • Launch a container with the image

    ./docker_run
    
    • To send a request to the container
      curl localhost:8080/device_event
      
  • To open a shell into the image

    ./docker_debug