Commit graph

7499 commits

Author SHA1 Message Date
Paul Holzinger
4e8ad039ce
remove unneeded return value from c.Networks()
We do not need to return a extra bool.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:38 +01:00
Valentin Rothberg
81a0a79844 compat build: adhere to q/quiet
Fixes: #12566
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-13 09:52:24 +01:00
Miloslav Trmač
5bbcfaf4aa Make XRegistryAuthHeader and XRegistryConfigHeader private
... now that they have no public users.

Also remove the HeaderAuthName type, we don't need the type-safety
so much for private constants, and using plain strings results in
less visual noise.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:27 +01:00
Miloslav Trmač
3cfefa1248 Remove the authfile parameter of MakeXRegistryAuthHeader
Having a parameter that modifies the provides types.SystemContext
seems rather unexpected and risky to have around - and the only
user of that is actually a no-op, others only provide a nil
SystemContext; so, remove that option and simplify (well, somewhat;
many callers now have extra &types.SystemContext{AuthFilePath}
boilerplate; at least that's consistent with that code carrying
a TODO to create a larger-scope SystemContext).

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:27 +01:00
Miloslav Trmač
d79414c54f Simplify the header decision in pkg/bindings/images.Build a bit
... now that two of the three cases are the same.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:26 +01:00
Miloslav Trmač
f9be326274 Remove the authfile parameter of MakeXRegistryConfigHeader
Having a parameter that modifies the provides types.SystemContext
seems rather unexpected and risky to have around - and the only
user of that is actually a no-op; so, remove that option and simplify.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:26 +01:00
Miloslav Trmač
935dcbb008 Remove no-longer-useful name variables
which used to contain more context, but now are just
a pointless copy.

Should not change (test) behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:25 +01:00
Miloslav Trmač
0e29b89753 Consolidate creation of SystemContext with auth.json into a helper
Should not change (test) behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:25 +01:00
Miloslav Trmač
fe1230ef70 Remove pkg/auth.Header
It is no longer used.

Split the existing tests into MakeXRegistryConfigHeader
and MakeXRegistryAuthHeader variants. For now we don't modify
the implementations at all, to make review simpler; cleanups
will follow.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:24 +01:00
Miloslav Trmač
3725a34cbf Call MakeXRegistryAuthHeader instead of Header(..., XRegistryAuthHeader)
All callers hard-code a header value, so this is actually shorter.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:24 +01:00
Miloslav Trmač
78dd797520 Turn headerAuth into MakeXRegistryAuthHeader
... which can be called independently.

For now, there are no new callers, to test that the behavior
has not changed.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:23 +01:00
Miloslav Trmač
d073b1275d Call MakeXRegistryConfigHeader instead of Header(..., XRegistryConfigHeader)
All callers hard-code a header value, so this is actually shorter.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:23 +01:00
Miloslav Trmač
8155fb5658 Turn headerConfig into MakeXRegistryConfigHeader
... which can be called independently.

For now, there are no new callers, to test that the behavior
has not changed.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:22 +01:00
Miloslav Trmač
29f4088713 Move the auth file creation to GetCredentials
This shares the code, and makes getConfigCredentials
and getAuthCredentials side-effect free and possibly easier to test.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:22 +01:00
Miloslav Trmač
9d56ebb611 Consolidate the error handling path in GetCredentials
We'll share even more code here in the future.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:21 +01:00
Miloslav Trmač
da86a23285 Only look up HTTP header values once in GetCredentials
... and have GetCredentials pass the values down to
getConfigCredentials and getAuthCredentials.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:21 +01:00
Miloslav Trmač
1589d70bcb Use Header.Values in GetCredentials.has
It's possibly a bit more expensive, but semantically safer
because it does header normalization.

And we'll regain the cost by not looking up the value repeatedly.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:20 +01:00
Miloslav Trmač
2946e83493 Beautify GetCredentials.has a bit
Use separate lines, and use the provided .String() API.

Should not change behaivor.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:20 +01:00
Miloslav Trmač
1ecc6ba728 Pass a header value directly to parseSingleAuthHeader and parseMultiAuthHeader
Both have a single caller, so there's no point in looking up
the header value twice.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:19 +01:00
Miloslav Trmač
6f1a26b04f Simplify parseSingleAuthHeader
In the "no input" case, return a constant instead of
continuing with the decode/convert path, converting empty data.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:19 +01:00
Miloslav Trmač
7674f2f76b Simplify the interface of parseSingleAuthHeader
Don't create a single-element map only for the only caller
to laboriously extract an element of that map; just return
a single entry.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:18 +01:00
Miloslav Trmač
2aeb690d37 Don't return a header name from auth.GetCredentials
Almost every caller is using it only to wrap an error
in exactly the same way, so move that error context into GetCredentials
and simplify the users.

(The one other caller, build, was even wrapping the error incorrectly
talking about query parameters; so let it use the same text as the others.)

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:18 +01:00
Miloslav Trmač
491951d66e Fix normalizeAuthFileKey to use the correct semantics
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:17 +01:00
Miloslav Trmač
1b6bf97130 Rename normalize and a few variables
... to refer to auth file keys instead of servers and the like.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:17 +01:00
Miloslav Trmač
d29a4a6d17 Add TestHeaderGetCredentialsRoundtrip
... as an end-to-end unit test of the header creation/parsing
code.

Leave the docker.io and docker.io/vendor test cases commented out,
because they are currently failing.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:15 +01:00
Miloslav Trmač
ad7e5e34f2 Add tests for auth.Header
Just a single function that handles all of Header,
headerConfig and headerAuth; we will split that later.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:16:14 +01:00
Miloslav Trmač
5a5aa6009f Improve TestAuthConfigsToAuthFile
Remove the created temporary file.

Use more appropriate assertion calls.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:09:55 +01:00
Miloslav Trmač
ff003928b2 Add unit tests for singleAuthHeader
Also rename it to parseSingleAuthHeader

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:09:55 +01:00
Miloslav Trmač
b162d8868c Add unit tests for multiAuthHeader
Also rename it to parseMultiAuthHeader.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-10 18:09:55 +01:00
Marc Nguyen
1d781ccbea
[NO NEW TESTS NEEDED] rootless: declare TEMP_FAILURE_RETRY before usage (Fixes: #12563)
Signed-off-by: Nguyen Marc <nguyen_marc@live.fr>
2021-12-10 14:20:35 +01:00
Daniel J Walsh
593d0907c5
--hostname should be set when using --pod new:foobar
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2030599

When you create pod, it shares the UTS namespace with Containers.
Currently the --hostname is not passed to the pod created when
you create a container and pod in the same command.

Also fix error message on supported --share flags

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-12-09 13:09:02 -05:00
OpenShift Merge Robot
4a52a457d1
Merge pull request #12545 from vrothberg/fix-12477
generate systemd: support entrypoint JSON strings
2021-12-09 08:41:29 +00:00
OpenShift Merge Robot
02eaebda46
Merge pull request #12541 from flouthoc/remote_blank_entrypoint
specgen: honor empty args for entrypoint specified as `--entrypoint ""`
2021-12-08 16:50:20 +00:00
Aditya Rajan
b526a0ccdc
specgen: honor empty args for entrypoint
Users should be able to override containers entrypoint using
`--entrypoint ""` following works fine for podman but not for podman
remote.

Specgen ignores empty argument for entrypoint so make specgen honor
empty arguments.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-12-08 20:26:36 +05:30
Valentin Rothberg
2d517b687b generate systemd: support entrypoint JSON strings
Make sure to preserve the quoting of entrypoint JSON strings.

Fixes: #12477
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-08 15:51:23 +01:00
Valentin Rothberg
d7f6f4e881 remove runlabel test for global opts
GLOBAL_OPTS haven't been supported for at least two major versions of
Podman.  The runlabel code is extremely fragile and I think it should
be rewritten before adding new features.

Fixes: #12436
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-08 11:37:13 +01:00
Daniel J Walsh
2130d18539
Update vendor or containers/common moving pkg/cgroups there
[NO NEW TESTS NEEDED] This is just moving pkg/cgroups out so
existing tests should be fine.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-12-07 06:17:11 -05:00
OpenShift Merge Robot
a93fa5e0c9
Merge pull request #12466 from dispensable/respect_pod_yaml_spec_hostname_when_play
Hostname in `spec.hostname` should be passed to infra ctr init opt
2021-12-03 19:20:45 +01:00
OpenShift Merge Robot
dd109daa45
Merge pull request #12440 from umohnani8/cm
Add support for configmap volumes to play kube
2021-12-03 14:54:47 +01:00
OpenShift Merge Robot
f0f148c494
Merge pull request #12484 from machacekondra/restartSec
Add restart-sec option to systemd generate command
2021-12-03 14:50:47 +01:00
OpenShift Merge Robot
0c6f1c4fb1
Merge pull request #12486 from giuseppe/use-configured-compression-format
cmd, push: use the configured compression format
2021-12-03 14:16:52 +01:00
Ondra Machacek
c9ad1da51c Add restart-sec option to systemd generate
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2021-12-03 12:11:28 +01:00
OpenShift Merge Robot
f3a02304c2
Merge pull request #12483 from vrothberg/fix-12468
compat API: push: report size of manifest
2021-12-02 22:08:50 +01:00
Urvashi Mohnani
7d331d35dd Add support for configmap volumes to play kube
If the k8s yaml has volumes from a configmap, play kube
will now create a volume based on the data from the
configmap and volume source and set it to the right path
in the container accordingly.
Add tests for this and update some test for ENV from configmap.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-12-02 14:48:04 -05:00
Giuseppe Scrivano
bd9f8815e1
cmd, push: use the configured compression format
[NO NEW TESTS NEEDED] I am just changing the default value

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-12-02 20:29:12 +01:00
OpenShift Merge Robot
b203e6d0f0
Merge pull request #12365 from mtrmac/random
Don't use a global RNG, and avoid conflicts, when generating NodePorts
2021-12-02 20:00:48 +01:00
OpenShift Merge Robot
ee39281c35
Merge pull request #12480 from vrothberg/fix-12453
compat: images/json
2021-12-02 16:12:47 +01:00
Daniel J Walsh
8d6d9df407 compat API: push: report size of manifest
We don't yet have a local registry running in the APIv2 tests.
Tested manually.

[NO NEW TESTS NEEDED]

Fixes: https://github.com/containers/podman/issues/12468

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-02 15:34:03 +01:00
OpenShift Merge Robot
b41026aec7
Merge pull request #12469 from Luap99/ns-teardown-flake
Fix possible rootless netns cleanup race
2021-12-02 14:40:48 +01:00
Valentin Rothberg
2683ecbbcd compat: images/json
Do not list manifest lists.  Docker doesn't either.

Fixes: #12453
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-02 14:29:17 +01:00