Looking for Info on adding a custom board to Cbuildbot to build Chromium OS

37 views
Skip to first unread message

K Bhasker

unread,
Jan 3, 2017, 5:41:45 AM1/3/17
to Chromium OS dev
Hi


I want to add a custom board to Cbuildbot and build Chromium OS for that board using Cbuildbot with below configurations.

    a. Without any changes (scheduler based)
    b. With local changes (user triggered)
    c. With one gerrit CL (gerrit-flag triggered (similar to PreCQ))
    d. With multiple gerrit CLs (scheduler based)
    e. Trigger autotest tests

Could you please provide if any documentation available which guides on how to add a custom board to Cbuildbot to build that board.

Thanks,
Bhasker

Aviv Keshet

unread,
Jan 3, 2017, 5:03:46 PM1/3/17
to K Bhasker, Chromium OS dev
On Tue, Jan 3, 2017 at 2:41 AM, K Bhasker <kbhask...@gmail.com> wrote:
Hi


I want to add a custom board to Cbuildbot and build Chromium OS for that board using Cbuildbot with below configurations.

To add a board to cbuildbot, you would want to edit chromite/cbuildbot/chromeos_config.py. That's where all the config creating code happens. There are a lot of examples to follow from there. Is there an overlay that corresponds to the board that you want configs for?

 

    a. Without any changes (scheduler based)
    b. With local changes (user triggered)

There are both a question of buildbot config, not cbuildbot. We have a buildbot instance for configuration of type a and b here, but they are both only accessible internally. Are you running your own buildbot instance?
 
    c. With one gerrit CL (gerrit-flag triggered (similar to PreCQ))
    d. With multiple gerrit CLs (scheduler based)

Gerrit CLs to what repo? If you're talking about repo-specific pre-cq configuration, you can see https://www.chromium.org/chromium-os/build/bypassing-tests-on-a-per-project-basis
 
    e. Trigger autotest tests

Are you talking about VMTests, or HWTests against actual devices? If the latter, that would require having these devices deployed to our lab.
 

Could you please provide if any documentation available which guides on how to add a custom board to Cbuildbot to build that board.

Thanks,
Bhasker

--
--
Chromium OS Developers mailing list: chromiu...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-os-dev?hl=en


K Bhasker

unread,
Jan 6, 2017, 1:26:55 PM1/6/17
to Chromium OS dev, kbhask...@gmail.com
Comments inline.

On Wednesday, January 4, 2017 at 3:33:46 AM UTC+5:30, Aviv Keshet wrote:


On Tue, Jan 3, 2017 at 2:41 AM, K Bhasker <kbhask...@gmail.com> wrote:
Hi


I want to add a custom board to Cbuildbot and build Chromium OS for that board using Cbuildbot with below configurations.

To add a board to cbuildbot, you would want to edit chromite/cbuildbot/chromeos_config.py. That's where all the config creating code happens. There are a lot of examples to follow from there. Is there an overlay that corresponds to the board that you want configs for?
 
      Thanks for sharing the details. Yes, we have a private overlay for our board. 

    a. Without any changes (scheduler based)
    b. With local changes (user triggered)

There are both a question of buildbot config, not cbuildbot. We have a buildbot instance for configuration of type a and b here, but they are both only accessible internally. Are you running your own buildbot instance?
       
            I agree, and i am aware that type a and b buildbot setup is present internally. And i want to replicate/setup similar buildbot at my end. Yes, i am running my own buildbot      instance.          
  
    c. With one gerrit CL (gerrit-flag triggered (similar to PreCQ))
    d. With multiple gerrit CLs (scheduler based)

Gerrit CLs to what repo? If you're talking about repo-specific pre-cq configuration, you can see https://www.chromium.org/chromium-os/build/bypassing-tests-on-a-per-project-basis
 
           Gerrit CL's for various repo's which are may be public or not, and we want to use our own pre-CQ configuration.
 
    e. Trigger autotest tests

Are you talking about VMTests, or HWTests against actual devices? If the latter, that would require having these devices deployed to our lab.
 
           No not about VMTests, HWTests against actual devices, and we want to perform testing in our own lab. 

Aviv Keshet

unread,
Jan 6, 2017, 2:16:05 PM1/6/17
to K Bhasker, Chromium OS dev
On Fri, Jan 6, 2017 at 10:26 AM, K Bhasker <kbhask...@gmail.com> wrote:
Comments inline.

On Wednesday, January 4, 2017 at 3:33:46 AM UTC+5:30, Aviv Keshet wrote:


On Tue, Jan 3, 2017 at 2:41 AM, K Bhasker <kbhask...@gmail.com> wrote:
Hi


I want to add a custom board to Cbuildbot and build Chromium OS for that board using Cbuildbot with below configurations.

To add a board to cbuildbot, you would want to edit chromite/cbuildbot/chromeos_config.py. That's where all the config creating code happens. There are a lot of examples to follow from there. Is there an overlay that corresponds to the board that you want configs for?
 
      Thanks for sharing the details. Yes, we have a private overlay for our board. 

    a. Without any changes (scheduler based)
    b. With local changes (user triggered)

There are both a question of buildbot config, not cbuildbot. We have a buildbot instance for configuration of type a and b here, but they are both only accessible internally. Are you running your own buildbot instance?
       
            I agree, and i am aware that type a and b buildbot setup is present internally. And i want to replicate/setup similar buildbot at my end. Yes, i am running my own buildbot      instance.          
  
    c. With one gerrit CL (gerrit-flag triggered (similar to PreCQ))
    d. With multiple gerrit CLs (scheduler based)

Gerrit CLs to what repo? If you're talking about repo-specific pre-cq configuration, you can see https://www.chromium.org/chromium-os/build/bypassing-tests-on-a-per-project-basis
 
           Gerrit CL's for various repo's which are may be public or not, and we want to use our own pre-CQ configuration.

We have a pre-cq master that manages our pre-cq, and talks to the chromium-review and chrome-internal-review gerrit instances (and only those). Are you talking about repos that are hosted there, or elsewhere? If elsewhere, you would need to replicate our pre-cq infrastructure, which would involve:
  • Having your own pre-cq-launcher builder.
  • Having your own cidb instance, for communication between pre-cq-launcher and its slaves.
  • Having your own trybot waterfall.
All of those are doable in theory, but would require some site-specific chromite/cbuildbot configuration.
 
 
    e. Trigger autotest tests

Are you talking about VMTests, or HWTests against actual devices? If the latter, that would require having these devices deployed to our lab.
 
           No not about VMTests, HWTests against actual devices, and we want to perform testing in our own lab. 

Currently, jobs in our waterfall request HWTest by making a swarming-based run_suite RPC call to our lab. You can see the code in chromite/cbuildbot/stages/test_stages.py:HWTestStage.
If you wanted builders to launch tests against your lab, you would need to modify this stage to also be able to make rpcs to your lab instead. (are you running your own autotest instance somewhere?)
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages