Cory Bennett
9d3f55c400
move ExitError from solver/errdefs to frontend/gateway/errdefs
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-12-07 01:09:59 +00:00
Sebastiaan van Stijn
67bcfe699a
copy containerd.UnknownExitStatus to local const
...
Copy this const to a local constant to prevent importing the containerd
client in the front-end.
For consistency, I also updated the executor code to use the same const,
although not strictly needed.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-18 00:11:09 +01:00
Edgar Lee
2d23d0cc43
Fix lint and unit tests for fileopsolver
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-11-13 22:05:13 -08:00
Edgar Lee
7ce58c31ba
Plumb op metadata to recreate failed ops with gateway exec
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-11-13 22:05:13 -08:00
Cory Bennett
ffd4ab232e
gateway exec: add platform and worker constraints to NewContainer api
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-28 03:54:49 +00:00
Cory Bennett
cb12a5642f
shutdown container process when context is done
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-17 06:53:25 +00:00
Akihiro Suda
78f3e86dc1
Merge pull request #1627 from coryb/gateway-exec-proto
...
update gateway to add ability to run and exec into containers
2020-10-04 20:11:45 +09:00
Ximo Guanter
da8ebc8a39
Make HTTP/2 authority pseudo-header spec-compliant
...
Signed-off-by: Ximo Guanter <ximo.guanter@gmail.com>
2020-10-03 22:58:21 +02:00
Cory Bennett
398593b61d
Simplify rpc exec exit error handling
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 21:35:51 +00:00
Cory Bennett
d1a14ae768
use grpc typed error for ExitMessage error
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 07:36:45 +00:00
Cory Bennett
ea3bc24b7c
Move SecurityMode to InitMessage from NewContainer message so it can be per process
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 05:36:33 +00:00
Tonis Tiigi
ebf0194d51
client: allow build callback to return nil result
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-09-16 19:36:16 -07:00
Cory Bennett
5fcf6dd426
update gateway exec mount tests to verity ssh and secret mounts
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-17 00:13:06 +00:00
Cory Bennett
3cc8aa0649
move ExecOps mounting logic into new package so logic can be reused from gateway exec
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-15 07:01:42 +00:00
Cory Bennett
dc3d45de87
make GrpcClient implement gateway.client.Client
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-13 20:41:18 +00:00
Cory Bennett
2a409e2140
fix case on error messages
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-11 20:31:37 +00:00
Cory Bennett
b97b1a58f7
add capability entry for gateway exec
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-03 05:59:00 +00:00
Cory Bennett
355e937e15
update gateway to add ability to run and exec into containers
...
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-08-31 21:13:59 +00:00
Tonis Tiigi
bd3354fea3
session: avoid deprecated grpc.Stream type
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-19 09:28:36 -07:00
Tonis Tiigi
57a88b0afb
lint: add misspell and unused
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-18 08:13:57 -07:00
Tonis Tiigi
8247b7b50b
integration: increase timeouts
...
Set the limit high enough to ensure failure in CI
signals a bug
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-17 19:30:40 -07:00
Tonis Tiigi
cc88b8f4f4
increase test context timeouts
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-06-06 15:48:55 -07:00
Tonis Tiigi
90288ab716
errdefs: update to new packages
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-24 11:25:44 -07:00
Tonis Tiigi
725f5e1207
grpc interceptors for errors
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-22 18:31:32 -07:00
Tonis Tiigi
2fc9aee26f
Revert "grpc: add error handling wrappers to client/server"
...
This reverts commit 3f77f0495b
.
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-22 18:31:27 -07:00
Tonis Tiigi
e4cc0866f5
gateway: fix error details passing through gateway
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:17 -07:00
Tonis Tiigi
3f77f0495b
grpc: add error handling wrappers to client/server
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:11 -07:00
Edgar Lee
5ec7bc7713
Change FrontendInputs in backend API definitions to *pb.Definition
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-02-24 14:38:01 -08:00
Edgar Lee
7e0f923181
Implement CapFrontendInput to pass llb.States to frontends
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-02-24 14:38:01 -08:00
Edgar Lee
635e7f0ce0
Change wire format from ref arrays to singular refs while maintaining backwards compatibility
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-02-21 13:58:28 -08:00
Edgar Lee
c83e8bf2a9
Add gateway apicap for CapReferenceOutput and move reference llb.Output to method ToOutput()
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:36:30 -08:00
Edgar Lee
f937656b1a
Verify platform is stored in state directly in defop test
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:02:40 -08:00
Edgar Lee
2edb431a0f
Allow previous solve results to be used in new solves
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:02:40 -08:00
Edgar Lee
d81832cf6c
Detect support for protobuf array ref on server on frontend return call
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-14 17:16:21 -08:00
Edgar Lee
359574093b
Add erroring on multi-result arrays
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2019-12-16 14:12:30 -08:00
Edgar Lee
7562a6638a
Fix empty string id in result ref
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2019-12-05 11:10:05 -08:00
Edgar Lee
b622a87c5d
Change result type to array of refs
...
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2019-11-19 14:00:32 -08:00
Tonis Tiigi
0f1c7d0412
session: use errors cause
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-06-06 21:15:21 -07:00
Tonis Tiigi
ae6c887689
grpcclient: set timeout for ping request
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-05-11 22:42:19 -07:00
Akihiro Suda
6e7617e889
support local cache exporter and importer
...
Export:
$ buildctl build ... --export-cache type=local,store=/path/to/output-dir
Import:
$ buildctl build ... --import-cache type=local,store=/path/to/input-dir
Impact on CLI:
* Old (deprecated but still effective): `--export-cache localhost:5000/myrepo:buildcache --export-cache-opt mode=max`
* New: `--export-cache type=registry,ref=localhost:5000/myrepo:buildcache,mode=max`
Impact on API:
* New fields are added to control.proto and gateway.proto. The daemon
internally translates old API calls to the new ones.
* While new API can be used for `registry` caches, the client continues
to use the legacy API for `registry` caches to ensure compatibility with
old daemons.
* To import `local` caches with a frontend, the frontend needs to support
a new frontend opt `cache-imports`.
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-01-19 02:38:26 +09:00
Ian Campbell
2ea0269ec4
gateway: check for `ReadDir` and `StatFile` caps on client side
...
This will produce a "requested feature is not supported" style error message
with some more specific details about the build server configuration rather
than a more generic gRPC "unsupported" error message.
Ensure that the tests pass the caps to `Marshal` so they see the new
functionality.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-05 15:20:50 +01:00
Ian Campbell
b4454a169f
implement `gateway.Reference.StatFile` method
...
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-03 12:16:45 +01:00
Ian Campbell
b30ee91a53
implement `gateway.Reference.ReadDir` method
...
The alternative is a helper container running e.g. find, capturing the output
to a scratch to be read back (with ref.ReadFile) and parsed.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-03 12:16:44 +01:00
Akihiro Suda
758a267235
s/CapMount/CapExecMount/g
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 15:03:36 +09:00
Tonis Tiigi
f6e104da5f
gateway: allow access to apicaps
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-21 15:33:41 -07:00
Ian Campbell
2a4ec0b192
gateway: call `Return` if call to `BuildFunc` returns an error.
...
Reorder the code slightly so that an error returned by the call to the
`BuildFunc` is picked up by the `defer`d error handling.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-09 11:19:42 +01:00
Ian Campbell
13f53d5753
gateway: tolerate `Solve` being called with no `creq.Definition`
...
Avoids panicing when accessing `creq.Definition.Metadata`.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-09 11:19:42 +01:00
Ian Campbell
5485309658
gateway: Return an `interface` from `grpcclient.New`.
...
Returning an interface rather than a private-struct from a public interface is
good practice.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-09 11:19:29 +01:00
Ian Campbell
682dce615a
gateway: support direct creation/running of a client.
...
Provide a `New` method and a new `Run` method on the `grpcClient` to allow
manual creation of a client in addition to the current ability to initialise
from the environment. Accordingly the existing `Run` method becomes
`RunFromEnvironment`.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-08 10:17:32 +01:00
Tonis Tiigi
4c44d2c6e4
dockerfile: custom names to vertexes
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-31 10:41:30 -07:00