Commit Graph

1312 Commits (48655e27d754c5f228b2cf806ee776f5a98d2ee7)

Author SHA1 Message Date
Tõnis Tiigi f4694ee01b
Merge pull request #488 from yui-knk/stop_create_ArgCommand
Use simple `keyValuePair` to `dispatchOpt.metaArgs` and `dispatchState.buildArgs`
2018-07-10 08:02:21 -07:00
Tõnis Tiigi f54f3bc57f
Merge pull request #497 from ijc/test-remove-iidfile-earlier
hack/test: remove `$iidfile` earlier
2018-07-10 08:00:30 -07:00
Ian Campbell 0cf39e59ec hack/test: remove `$iidfile` earlier
We don't need it once we have assigned to `$iid`, so remove it otherwise it can
be leaked if any of the `docker run` lines fails (since we immediately exit due
to `set -e`).

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-07-10 13:59:39 +01:00
Akihiro Suda dca7bdcd4c
Merge pull request #495 from tonistiigi/unique-local
llb: set unique ID to local sources without session
2018-07-10 20:34:04 +09:00
Yuichiro Kaneko c641b43e4a Use simple `KeyValuePairOptional` to `dispatchOpt.metaArgs` and `dispatchState.buildArgs`
`KeyValuePairOptional` is enough in this case. We can avoid create `ArgCommand` out of Parser
 by replacing them with `KeyValuePairOptional`.

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-07-10 19:24:43 +09:00
Tibor Vass 79a246dd30
Merge pull request #466 from tonistiigi/caps
implement versioning for gateway frontend
2018-07-09 16:47:15 -07:00
Tonis Tiigi d5c9d39128 apicaps: set exportedproduct from binary
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:39 -07:00
Tonis Tiigi c8fa75ffc1 dockerfile: read default build platform from workers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:39 -07:00
Tonis Tiigi 946a12eb42 gateway: expose worker information
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:39 -07:00
Tonis Tiigi 90d164ced5 gateway: inital caps detection support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:38 -07:00
Tonis Tiigi ae1127be14 frontend: define default caps
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:38 -07:00
Tonis Tiigi db5b0f1b9a api: add caps support for versioning
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:34 -07:00
Tonis Tiigi 40e270a2e6 llb: set unique ID to local sources without session
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:27:12 -07:00
Tonis Tiigi 3fa70c6b25 client: simplify parallel sources test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:27:08 -07:00
Ian Campbell 0dd25df7e2 client: add test case for multiple parallel builds.
It appears that multiple parallel builds suffer some cross talk between their
mount/snapshots e.g. this new case currently fails because iterations see files
in `/src/` which correspond to other iterations (i.e. iteration 1 might see a
file called "test2.txt"). The `ls -i` and `stat` output also confirms that
where tests see the same filename they are also apparently seeing the same
inode.

Note that each solve uses a `SolverOpt.SharedKey` of the (unique) source
directory so there should be no clashes. Use of `llb.sharedKeyHint()` is
avoided since using a unique one of these hides the issue (AIUI uniqueness of
`sharedKeyHint` is only required with a session, not between them).

The shell fragment within the test is a bit crazy, it tries to output as much
info about what it saw vs what was expected to aid debugging.

I have also been seeing cases in my own code where `cacheContext.checksum`
fails the `not found` test at the top, which seems like either the wrong thing
is mounted or it has gone away or otherwise been mutated unexpectedly. I had
been hoping that this test case would also reproduce this, but so far it has
not.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-07-09 15:44:28 -07:00
Akihiro Suda 4e6f270472
Merge pull request #493 from tonistiigi/vendor-containerd-2
vendor: update containerd to b4163374
2018-07-07 12:10:53 +09:00
Tonis Tiigi 4e76ea20f2 vendor: update containerd to b4163374
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-06 14:18:33 -07:00
Tõnis Tiigi 77e4fcd0ec
Merge pull request #491 from frezbo/feature/fix-datatype-mismatch
Fixing mismatch
2018-07-06 11:53:14 -07:00
Tõnis Tiigi 5b45a79b73
Merge pull request #489 from AkihiroSuda/rename-containerd-1.0
integration: rename "/opt/containerd-1.0/bin/containerd" worker to "containerd-1.0"
2018-07-06 10:52:47 -07:00
Noel Georgi 8753e76a4d
Fixing mismatch
Signed-off-by: Noel Georgi <18496730+frezbo@users.noreply.github.com>
2018-07-06 17:48:17 +05:30
Akihiro Suda 864fa7465e integration: rename "/opt/containerd-1.0/bin/containerd" worker to "containerd-1.0"
Having '/' in a worker name is confusing.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-06 15:32:02 +09:00
Tõnis Tiigi cda0a64eca
Merge pull request #486 from AkihiroSuda/update-rootless
rootless: refactor libcontainer_specconv & add integration tests
2018-07-05 11:26:26 -07:00
Tõnis Tiigi c111113a2f
Merge pull request #278 from AkihiroSuda/cache-transferable
decouple remotecache from Docker registry
2018-07-05 11:18:50 -07:00
Vincent Demeester b87bad7ed8
Merge pull request #487 from yui-knk/fix_assertion
Fix orders of `require.Equal` argument to "expected, actual"
2018-07-05 09:16:26 +02:00
Yuichiro Kaneko b5c66082a1 Fix orders of `require.Equal` argument to "expected, actual"
Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-07-04 21:59:37 +09:00
Akihiro Suda 580dbe08b9 rootless: add integration tests
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 19:27:54 +09:00
Akihiro Suda eebb7428f5 rootless: update docs/rootless.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 19:27:54 +09:00
Akihiro Suda 72327724c0 rootless: refactor libcontainer_specconv
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 19:27:54 +09:00
Akihiro Suda 80d2f820f9 decopule cache/remotecache from registry
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 17:38:09 +09:00
Akihiro Suda 7bddb1d268 rootless: update Dockerfile
* AkihiroSuda/rootlesskit -> rootless-containers/rootlesskit
* /home/user/.local/run -> /run/user/1000

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 16:11:52 +09:00
Tõnis Tiigi bbcd8adce0
Merge pull request #484 from tonistiigi/status-dupe-fix
pull: do not send duplicate status for completed jobs
2018-07-03 15:27:22 -07:00
Tõnis Tiigi 9acf51e491
Merge pull request #485 from tonistiigi/progressui-fix
progressui: fix log line separation bug
2018-07-03 14:58:01 -07:00
Tonis Tiigi 07d8189603 progressui: fix log line separation bug
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-03 14:43:26 -07:00
Tonis Tiigi e1471c5682 pull: do not send duplicate status for completed jobs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-03 12:14:09 -07:00
Tõnis Tiigi 0f20a37814
Merge pull request #483 from yui-knk/copy_command_http
Return an error when copying from url
2018-07-03 09:38:11 -07:00
Tõnis Tiigi 2e7a680019
Merge pull request #482 from ijc/quote-dot-label
buildctl: quote quotes in dot dump of llb
2018-07-03 09:36:54 -07:00
Yuichiro Kaneko 30c27cd6bf Return an error when copying from url
Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-07-03 20:28:08 +09:00
Ian Campbell cc3f1137b1 buildctl: quote quotes in dot dump of llb
The command, used as the dot label, can contain quotes which need escaping when
used within the quoted string.

Formatting with `%q` rather than `\"%s\"` does this for us.

I don't believe digests or the shapes can ever contain quotes (or other unusual
characters) but switch them to `%q` as well for consistency.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-07-03 12:07:27 +01:00
Tõnis Tiigi 70741f242d
Merge pull request #481 from yui-knk/fix_add_command_doc
Update documents of `AddCommand`
2018-07-02 21:50:59 -07:00
Yuichiro Kaneko ec798d6b09 Update documents of `AddCommand`
`ADD` does not support git.

Ref: https://github.com/moby/moby/issues/14704#issuecomment-298134333

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-07-03 09:25:30 +09:00
Tõnis Tiigi 80675875ca
Merge pull request #478 from yui-knk/dispatchStates_type
Introduce `dispatchStates` type
2018-07-02 17:17:09 -07:00
Yuichiro Kaneko b8bf5d0da9 Refactoring `toCommand` and `detectRunMount` to only depend to `dispatchStates`
Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-07-03 07:38:34 +09:00
Yuichiro Kaneko 0d5c12363a Introduce `dispatchStates` type
`dispatchStates` manages a collection of `dispatchState`.
By `dispatchStates`, we can aggregate how to find `dispatchState`
in one place and `dispatchStatesByName` local variable in `Dockerfile2LLB`
can be removed.

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-07-03 07:36:07 +09:00
Tõnis Tiigi 378bb27b86
Merge pull request #474 from AntaresS/re-enable-debug-log
Re-enable debug log
2018-07-02 11:38:54 -07:00
Anda Xu f00c1bc2cb re-enable debug messages
Signed-off-by: Anda Xu <anda.xu@docker.com>
2018-07-02 11:05:56 -07:00
Tõnis Tiigi 28bb405601
Merge pull request #479 from AkihiroSuda/fix-rootless
Fix rootless
2018-07-02 09:50:36 -07:00
Akihiro Suda f9eeae6f48 rootless: remove MapSubUIDGID flag that is ignored when already in userns
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-02 19:11:30 +09:00
Akihiro Suda 8ef8a7c632 rootless: bail if euid != 0
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-02 15:47:57 +09:00
Akihiro Suda 27b6ab4940 rootless: fix default path configuration
if buildkitd is being executed as the mapepd-root ($USER==root)
in a rootless container, we need to enable the rootless mode but
we don't want to honor $HOME.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-02 15:47:57 +09:00
Akihiro Suda a6f711d088
Merge pull request #471 from tonistiigi/update-readme-dockerfile
readme: update dockerfile image
2018-07-02 11:01:53 +09:00