Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BuildStream client-side implementation of remote execution #454

Closed
4 tasks done
BuildStream-Migration-Bot opened this issue Feb 3, 2021 · 150 comments
Closed
4 tasks done
Labels
remote execution Related to remote execution

Comments

@BuildStream-Migration-Bot

See original issue on GitLab
In GitLab by [Gitlab user @jmacarthur] on Jul 3, 2018, 15:09

Background

A continuation of #417. Add the necessary client-side code for BuildStream to use remote execution.

Task description

  • Add a replacement Sandbox-type object which marshalls build input roots from the local device and sends them to the artifact cache
  • Make the new Sandbox-type object pack up and send commands to the artifact cache and signal to a BuildGrid server that a command is waiting.
  • Pull resulting output directories from the artifact server.
  • Add keys to the project configuration to specify the BuildGrid server and instance

Acceptance Criteria

Demonstrate use of remote execution to build Freedesktop-SDK and any other projects we see fit, with the same results as building locally.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 3, 2018, 15:10

marked this issue as related to #417

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 3, 2018, 15:10

marked this issue as related to #387

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 3, 2018, 15:10

changed the description

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 3, 2018, 15:12

changed the description

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 3, 2018, 15:14

changed the description

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 5, 2018, 17:16

marked the task Pull resulting output directories from the artifact server. as completed

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 5, 2018, 17:20

The biggest question on this at the moment is how we configure it.

It made sense for the remote execution client to take the form of a Sandbox class alongside sandboxwrap and sandboxchroot. However, I don't think it makes sense to expose configuration this way. I would rather have another key in project config called 'remote-execution' at the top level alongside 'artifacts'. We could potentially move all of the 'artifact' configuration inside another 'network' key but that means even more changes to the configuration format.

We then may also need some more substantial changes to the element and sandbox configuration code to pass configuration information other than the 'sandbox' key onto _sandboxremote.py.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Jul 13, 2018, 11:10

Also needs updating to V2 of the remote execution API, which will require a simultaneous, similar update to BuildGrid.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @tristanvb] on Aug 7, 2018, 06:07

marked this issue as related to #412

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @tristanvb] on Aug 7, 2018, 06:07

marked this issue as related to #411

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @sstriker] on Aug 8, 2018, 17:36

Add keys to the project configuration to specify the BuildGrid server

We need to be able to configure the Remote Execution endpoint(s), that is, Execution Service and CAS independently of the ArtifactCache endpoint. That way BuildStream should be able to leverage a Remote Execution service even without it providing an ArtifactCache. Note that this is a similar use case as where builds are remotely executed, but there is no-one with push rights to a configured ArtifactCache. In this scenario there would still be a benefit from the Execution service (through its ActionCache).

With BuildGrid, BuildFarm, BuildBarn and now Google's Remote Build Execution service, we should ensure that we can support more than a single implementation.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Aug 9, 2018, 16:50

mentioned in merge request !626

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Aug 20, 2018, 08:49

marked the task Add keys to the project configuration to specify the BuildGrid server as completed

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Aug 20, 2018, 08:50

Configuration options added (and raised as a proposal on the mailing list). Needs some cleaning of the commit messages.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Aug 21, 2018, 17:47

Commits cleaned up. I've reduced the configuration options to a minimum because they were taking a long time to get right. This is now ready for review.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Aug 24, 2018, 17:03

changed the description

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Aug 24, 2018, 17:07

Only comment so far is that we should include a configuration variable for the instance name, currently hardcoded to 'default'. This should be fairly easy to do but I don't have time to implement and test it now.

The other thing missing are tests; we could do a very simple test which verifies that the configuration variables work, but other than that testing is going to require a lot of work. We need to set up an artifact cache, buildgrid and buildbox on a machine as well as Buildstream - ideally, with at least Buildgrid and Buildstream on different machines.

I'll be back on the 10th September 2018. Please feel free to take over !626 while I'm on holiday if you like.

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit 7e1f9bb31b609d27f6eb10728ea0c55f67b88270

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit db1b357b201908be89a7516c631d98ddb25373f5

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit ee47f659e5992c05282b509d287c606f3c4988a1

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit 28bd46d6fe5da0777290cddfa286f1053eb28d8d

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit 9bd3a6257d3a858e680a353f55ba28f7018b5850

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit 32773bf704b9bed20ce35967589a532a4d5cb217

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit 8a033d8516face9beb0abf704adfdab30f4c47e5

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit 2a96530e71190d97ea29aac0af9611eee54a2127

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit ac116aede9a4a2802fb78271989831bef2111e11

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 10:58

mentioned in commit e7b26e076dfee64073708ccea13dc5c063d6ec08

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 4, 2018, 12:09

mentioned in commit 1e543f123d69ccd64b93c93661059bcf4c7c2435

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 6, 2018, 18:19

mentioned in commit 27f99507d297fe782e0184abfaee052f8b0696e1

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 6, 2018, 18:19

mentioned in commit 9a17aeafaf794aecc9c47fb0b0c400c21e9d6d6c

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 13:47

mentioned in commit 2726b59c4862038d40473545c8fda5fa4cef68bb

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 13:47

mentioned in commit 924b872d8c3b145d30b4ccfb63fa4a458e2bd5f3

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit c0ef710

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit da53c00

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 116f80d

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit b0f4654

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 89b29b8

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 43651af

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit c73896b

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 909b3be

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 71e2b54

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 05956c7

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 50bf313

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 7306a95

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit e7659c2

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 556f2ab

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit d4c515d

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 853e0af

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 9ef5316

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 936bb93

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @martinblanchard] on Sep 7, 2018, 14:24

mentioned in commit 923d443

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @LaurenceUrhegyi] on Sep 11, 2018, 19:36

marked this issue as related to BuildGrid/buildgrid#52

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @LaurenceUrhegyi] on Sep 11, 2018, 19:38

[Gitlab user @jmacarthur] regarding testing, I have linked to a related issue over at BuildGrid, which should capture all the details of the end to end testing taking place as a cluster of machines is set up - https://gitlab.com/BuildGrid/buildgrid/issues/52

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @juergbi] on Oct 1, 2018, 17:19

mentioned in commit c0a9353aa1beffcc50ef77a5ab9eade78c86084a

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @tristanvb] on Oct 3, 2018, 08:35

mentioned in commit 9568824

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Oct 3, 2018, 09:30

marked the task Add keys to the project configuration to specify the BuildGrid server and instance as completed

@BuildStream-Migration-Bot
Copy link
Author

In GitLab by [Gitlab user @jmacarthur] on Oct 3, 2018, 09:30

closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
remote execution Related to remote execution
Projects
None yet
Development

No branches or pull requests

1 participant