Commit graph

25966 commits

Author SHA1 Message Date
OpenShift Merge Robot
9e8194f64b
Merge pull request #17188 from vrothberg/hack-perf
[CI:DOCS] add hack/perf for comparing two container engines
2023-01-23 11:35:44 -05:00
Valentin Rothberg
4ed46c9847 add hack/perf for comparing two container engines
Add a set of scripts using hyperfine for comparing two container
engines.  I am currently using the scripts for comparing Podman
and Docker, and with older versions of Podman.

These scripts are not meant for production usage but to aid in tracking
down performance regressions and bottlenecks.

Run the scripts via `sudo sh $script.sh`.

Use the following environment variables to change the default behavior:
* `ENGINE_A` to set container engine A (default `/usr/bin/podman`)
* `ENGINE_B` to set container engine B (default `/usr/bin/docker`)
* `RUNS` to change the runs/repetitions of each benchmarks (default `100`)
* `NUM_CONTAINERS` to change the number of created containers for some benchmarks (e.g., `ps`) (default `100`)
* `IMAGE` to change the default container image (default `docker.io/library/alpine:latest`)

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-23 16:38:12 +01:00
Aditya R
b7ab889a7e
systems: retrofit dns options test to honor other search domains
Signed-off-by: Aditya R <arajan@redhat.com>
2023-01-23 19:15:35 +05:30
Valentin Rothberg
5925fe1a58 ps: do not create copy of container config
The user is only reading the config, so creating a copy turns out to be
extremely expensive.  With this change, listing containers is 1.39 times
faster than before.

[NO NEW TESTS NEEDED] as it is not a functional change.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-23 14:42:45 +01:00
danishprakash
08186d7dd7
kube-play: add support for HostIPC in pod.Spec
* play_kube_test: add tests

Signed-off-by: danishprakash <danish.prakash@suse.com>
2023-01-23 17:27:57 +05:30
OpenShift Merge Robot
0428730bd4
Merge pull request #17178 from mhjacks/main
[CI:DOCS] Change example target to default in doc
2023-01-23 04:13:03 -05:00
Aditya R
e2c44c3d49
libpod: set search domain independently of nameservers
Set search domain irrespective of nameservers.

Signed-off-by: Aditya R <arajan@redhat.com>
2023-01-22 12:48:58 +05:30
Aditya R
06241077cc
libpod,netavark: correctly populate /etc/resolv.conf with custom dns server
After https://github.com/containers/netavark/pull/452 `netavark` is
incharge of deciding `custom_dns_servers` if any so lets honor that and
libpod should not set these manually.

This also ensures docker parity
Podman populates container's `/etc/resolv.conf` with custom DNS servers ( specified via `--dns` or `dns_server` in containers.conf )
even when container is connected to a network where `dns_enabled` is `true`.

Current behavior does not matches with docker, hence following commit ensures that podman only populates custom DNS server when container is not connected to any network where DNS is enabled and for the cases where `dns_enabled` is `true`
the resolution for custom DNS server will happen via ( `aardvark-dns` or `dnsname` ).

Reference: https://docs.docker.com/config/containers/container-networking/#dns-services
Closes: containers#16172

Signed-off-by: Aditya R <arajan@redhat.com>
2023-01-22 12:48:55 +05:30
Aditya R
366e1686a0
podman: relay custom DNS servers to network stack
Aardvark-dns and netavark now accepts custom DNS servers for containers
via new config field `dns_servers`. New field allows containers to use
custom resolvers instead of host's default resolvers.

Following commit instruments libpod to pass these custom DNS servers set
via `--dns` or central config to the network stack.

Depends-on:
* Common: containers/common#1189
* Netavark: containers/netavark#452
* Aardvark-dns: containers/aardvark-dns#240

Signed-off-by: Aditya R <arajan@redhat.com>
2023-01-22 12:48:49 +05:30
Klaus Frank
2b650e37ce
(fix) mount_program is in storage.options.overlay
mount_program is in storage.options.overlay and not storage.options
(see example in storage.conf)

Signed-off-by: Klaus Frank <agowa338@users.noreply.github.com>
2023-01-22 04:13:04 +01:00
Martin Jackson
b29313811f Change example target to default in doc
Signed-off-by: Martin Jackson <martjack@redhat.com>
2023-01-20 12:37:41 -06:00
OpenShift Merge Robot
8252dcceb3
Merge pull request #17168 from danishprakash/add-host-pid
kube-play: add support for HostPID
2023-01-20 11:57:14 -05:00
OpenShift Merge Robot
4f4dce166c
Merge pull request #17175 from Luap99/default-invalid-netname
network create: do not allow `default` as name
2023-01-20 11:18:01 -05:00
OpenShift Merge Robot
9c79e3bbb0
Merge pull request #17124 from sstosh/e2e-rootless
e2e: use isRootless() instead of rootless.IsRootless()
2023-01-20 09:04:25 -05:00
OpenShift Merge Robot
f6a0ebf00d
Merge pull request #17172 from containers/dependabot/go_modules/github.com/docker/docker-20.10.23incompatible
build(deps): bump github.com/docker/docker from 20.10.22+incompatible to 20.10.23+incompatible
2023-01-20 09:01:51 -05:00
Paul Holzinger
86699954b1
network create: do not allow default as name
`default` is already used as network mode, i.e. podman run --network
default will choose the default mode not a network named `default`.

We already block names from other network modes, default was forgotten.

Fixes #17169

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-20 14:52:07 +01:00
danishprakash
3ae84fe0a3
kube-play: add support for HostPID in podSpec
* test/play_kube: add tests for hostPID

Signed-off-by: danishprakash <danish.prakash@suse.com>
2023-01-20 17:32:59 +05:30
dependabot[bot]
d0794ab9ea
build(deps): bump github.com/docker/docker
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 20.10.22+incompatible to 20.10.23+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v20.10.22...v20.10.23)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-20 12:02:32 +00:00
OpenShift Merge Robot
8f0a0f3ec3
Merge pull request #17086 from edsantiago/is_14653_fixed
Remove workarounds for 14653 (checkpoint test failures)
2023-01-20 04:23:34 -05:00
Ed Santiago
ca91cf416f Let's see if #14653 is fixed or not
Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-01-19 12:20:56 -07:00
OpenShift Merge Robot
db84b2ba0e
Merge pull request #17155 from rhatdan/VENDOR
vendor in latests containers/(storage, common, build, image)
2023-01-19 13:35:12 -05:00
OpenShift Merge Robot
7689e26c79
Merge pull request #16525 from Luap99/CI-update-image
update CI images to include pasta
2023-01-19 11:30:46 -05:00
OpenShift Merge Robot
29a90c3f8a
Merge pull request #17153 from edsantiago/preserve_server_logs
Cirrus: preserve podman-server logs
2023-01-19 10:57:45 -05:00
Daniel J Walsh
8f78865151
Add support for podman build --group-add
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-01-19 10:42:10 -05:00
Daniel J Walsh
f65d79f4c7
vendor in latests containers/(storage, common, build, image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-01-19 10:42:10 -05:00
OpenShift Merge Robot
ac1530b14e
Merge pull request #17162 from baude/cnideprecationnotes
[CI:DOCS] Add CNI deprecation notices to documentation
2023-01-19 10:33:35 -05:00
Paul Holzinger
7be8ff5644
unskip network update test
They should work with the new VM images.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:44:17 +01:00
Paul Holzinger
b5bfc26542
do not install swagger by default
It is only needed for one CI task, and that task already calls
`make .install.swagger` in setup_environment.sh.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:44:17 +01:00
Paul Holzinger
2ad938ec6e
pasta: skip "Local forwarder, IPv4" test
It is not working in CI and locally, I filed #17074 to track it so we
can fix it later.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:44:17 +01:00
Paul Holzinger
3db8ef37d8
add testbindings Makefile target
use this target in the CI script to make sure it uses the correct gingko

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:44:17 +01:00
Paul Holzinger
5ad72a2349
update CI images to include pasta
Images were build here: https://github.com/containers/automation_images/pull/249

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:43:40 +01:00
Brent Baude
f07aa2adde [CI:DOCS] Add CNI deprecation notices to documentation
Where the terms CNI and cni are used in documentation like man pages,
readme's, and tutorials, we have begun to add deprecation notices where
applicable. In cases where netavark cannot do what CNI can, those have
been left alone.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2023-01-19 08:09:32 -06:00
OpenShift Merge Robot
3276c366c0
Merge pull request #17165 from vrothberg/fix-17142
StopContainer: return if cleanup process changed state
2023-01-19 08:30:29 -05:00
Ed Santiago
07d297ca3d Cirrus: preserve podman-server logs
Output from podman system service, on system tests, is
being saved... it just hasn't been collected as an artifact.
Start collecting it. And, remove obsolete-unused-misleading
code that made me think it _was_ being collected.

Also: log system-service output for bud tests, and set
log-level to info per suggestion from @Luap99

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-01-19 06:27:43 -07:00
Valentin Rothberg
4faa139b78 waitPidStop: reduce sleep time to 10ms
Kill is a fast syscall, so we can reduce the sleep time from 100ms to
10ms in hope to speed things up a bit.

[NO NEW TESTS NEEDED]

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-19 12:31:37 +01:00
Valentin Rothberg
fd42c1dcb8 StopContainer: return if cleanup process changed state
Commit 067442b570 improved stopping/killing a container by detecting
whether the cleanup process has already fired and changed the state of
the container.  Further improve on that by returning early instead of
trying to wait for the PID to finish.  At that point we know that the
container has exited but the previous PID may have been recycled
already by the kernel.

[NO NEW TESTS NEEDED] - the absence of the two flaking tests recorded
in #17142 will tell.

Fixes: #17142
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-19 11:16:07 +01:00
Valentin Rothberg
e0f671007d StopSignal: add a comment
Add a comment when SIGKILL is being used.  It may help future readers
better comprehend what's going on and why.

[NO NEW TESTS NEEDED] - cannot test a comment :^)

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-19 11:16:05 +01:00
Valentin Rothberg
ac47d07194 StopContainer: small refactor
Move the stopSignal decl into the branch where it's actually used.

[NO NEW TESTS NEEDED] as it's just a small refactor.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-19 10:57:31 +01:00
Valentin Rothberg
e8b35a8c20 waitPidStop: simplify code
The code can be simplified by using a timer directly.

[NO NEW TESTS NEEDED] - should not change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-19 10:40:36 +01:00
OpenShift Merge Robot
17f89c97bd
Merge pull request #17164 from edsantiago/unskip_15014
e2e tests: reenable long-skipped build test
2023-01-19 04:09:01 -05:00
Ed Santiago
51836aa47c e2e tests: reenable long-skipped build test
July 2022: test was flaking on new VM images. We needed new
images, so I filed #15014 and skipped the test.

January 2023: no attention from anyone, so I'll try bumping up
a dd timeout from 10s to 30s. But in the interim, the test
has broken: it used to expect "Containerfile" in output (this
was deliberately added in #13655)... but #16810 changed that
so Containerfile no longer appears. @flouthoc argues that
this too is deliberate (#17059). Okay, so let's change the
test then. All I care about is not adding more regressions.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-01-18 17:31:03 -07:00
OpenShift Merge Robot
21d1e794ce
Merge pull request #17144 from rhatdan/annotations
Remove ReservedAnnotations from kube generate specification
2023-01-18 18:44:22 -05:00
Daniel J Walsh
7147618c94
Merge pull request #17161 from sbidoul/add-openssh-client
Add openssh-clients to podmanimage
2023-01-18 17:51:13 -05:00
OpenShift Merge Robot
46c85df169
Merge pull request #17160 from n1hility/win-smoke-tunnel
Refactor windows CI to workaround WSL's recent switch to a Windows Store update stream
2023-01-18 17:43:11 -05:00
Stéphane Bidoul
36510f60db Add openssh-clients to podmanimage
The main goal is to provide ssh-agent,
which is required by podman build --ssh.

Signed-off-by: Stéphane Bidoul <stephane.bidoul@gmail.com>
2023-01-18 20:07:02 +01:00
Jason T. Greene
0bd51f6c87 Reworks Windows smoke test to tunnel through interactive session.
The latest Windows image from containers/automation_image@327d8799 auto-creates
an interactive session through winlogon autologon on boot. Additionally it
includes the PsTools psexec command on the system.

This change utilizes both aspects to launch the verification portion of the
smoke task under the interactive session, away from the session 0 execution
environment that the Cirrus agent runs in.

Since creating a new process under the interactive session requires a new token,
and by extension a clear text password, a new crypto random password is
generated to replace the ec2 boot generated one.

These changes allow WSL to once again function after its move to a store based
delivery stream (which is incompatible with session 0 execution).

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-01-18 11:23:43 -06:00
OpenShift Merge Robot
0768680b98
Merge pull request #17154 from vrothberg/fix-flake
fix bud-multiple-platform-with-base-as-default-arg flake
2023-01-18 11:43:48 -05:00
Valentin Rothberg
b5a6f3f914 fix bud-multiple-platform-with-base-as-default-arg flake
By vendoring the latest c/common.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-18 15:32:38 +01:00
Daniel J Walsh
ef3f098796
Remove ReservedAnnotations from kube generate specification
Reserved annotations are used internally by Podman and would effect
nothing when run with Kubernetes so we should not be generating these
annotations.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-01-18 08:46:24 -05:00
OpenShift Merge Robot
1fe21cbf61
Merge pull request #17125 from rhatdan/VENDOR
Vendor in latest containers/(image,ocicrypt)
2023-01-18 04:38:46 -05:00