Commit Graph

3436 Commits

Author SHA1 Message Date
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
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
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
OpenShift Merge Robot 87de344eeb
Merge pull request #12482 from edsantiago/e2e_have
e2e tests: use HaveKey() and HaveLen() when possible
2021-12-02 20:06:47 +01:00
OpenShift Merge Robot 4ff0ba4c87
Merge pull request #12455 from jwhonce/issues/10974
Refactor podman image command output
2021-12-02 19:28:48 +01:00
Jhon Honce 61792de36e Refactor podman image command output
Leverage new report.Formatter allowing better compatibility from
podman command output.

Follow on PR's will cover containers, etc.

See #10974

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-12-02 09:07:27 -07:00
OpenShift Merge Robot ee39281c35
Merge pull request #12480 from vrothberg/fix-12453
compat: images/json
2021-12-02 16:12:47 +01:00
Ed Santiago 6cb25b3d14 Manual fixes
Fix a handful of instances not covered by earlier automated
replacements. Found via:

   ack 'Expect\(len' test/e2e

There are still a bunch of BeNumerically(">", ...) that cannot (yet)
be handled by HaveLen(). Leave those as they are.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07:00
Ed Santiago eb1212bed9 Same thing, with BeNumerically("==", x)
sed -i -e 's/Expect(len(\(.*\)))\.To(BeNumerically("==", \(.*\)))/Expect(\1).To(HaveLen(\2))/' test/e2e/*.go

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07:00
Ed Santiago c0a8814fb4 Use HaveLen(x) instead of Expect(len(y)).To(Equal(x))
sed -i -e 's/Expect(len(\(.*\)))\.To(Equal(\(.*\)))/Expect(\1).To(HaveLen(\2))/' test/e2e/*.go

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07:00
Ed Santiago 92f9e11767 Same thing, for BeNumerically("==", 0)
sed -i -e 's/Expect(len(\(.*\)))\.To(BeNumerically("==", 0))/Expect(\1).To(BeEmpty())/' test/e2e/*.go

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07:00
Ed Santiago 7c6123f8e1 Use BeEmpty() instead of len(x).To(Equal(0))
sed -i -e 's/Expect(len(\(.*\)))\.To(Equal(0))/Expect(\1).To(BeEmpty())/' test/e2e/*.go

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07:00
Ed Santiago c676495468 Same as previous, for assertions other than Equal()
sed -i -e 's/Expect(\(.*\)\[\(\".*\"\)\])\.To(\(.*\)/Expect(\1).To(HaveKeyWithValue(\2, \3)/' test/e2e/*_test.go

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07:00
Ed Santiago 478f2da5d6 e2e tests: a little more minor cleanup
sed -i -e 's/Expect(\(.*\)\[\(\".*\"\)\])\.To(Equal(/Expect(\1).To(HaveKeyWithValue(\2, /' test/e2e/*_test.go

...with two manual tweaks, because this converted:

    Expect(foo["bar"]).To(Equal(""))
 -> Expect(foo).To(HaveKeyWithValue("bar",""))

It looks like the intention of the test was, instead:

    ...To(Not(HaveKey("bar")))

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-02 07:54:53 -07: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
OpenShift Merge Robot 6b5ecde76e
Merge pull request #12471 from edsantiago/e2e_tmpdir_cleanup
e2e tmpdir cleanup
2021-12-02 14:28:46 +01:00
OpenShift Merge Robot fbcebcb46a
Merge pull request #12458 from edsantiago/remove_betrue
e2e: yet more cleanup of BeTrue/BeFalse
2021-12-01 22:41:11 +01:00
Ed Santiago 65109494bc remove ARTIFACT_DIR and ArtifactPath
...they're not actually used for anything

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-01 14:06:22 -07:00
Ed Santiago 3ac1b9bc0f Image caches: allow overriding cache dir
Images were being cached in /tmp, with no option to
override. Now $PODMAN_TEST_IMAGE_CACHE_DIR can be
used to point to a user-preferred location. If unset,
try $TMPDIR before settling on /tmp.

Also: refactor the logic for determining the tarball name.
Also: include registry name in tarball name.
Also: clean up unused/unnecessary code
Also: do not echo "Restoring..." if we're not actually restoring.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-01 14:06:22 -07:00
Ed Santiago 5ac66e2aab Rename CrioRoot as just Root
...and remove other uses of "crio". They're confusing
and misleading. (I'm sure it made sense at one time)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-12-01 14:06:22 -07:00
OpenShift Merge Robot 4aeac1195a
Merge pull request #12307 from hshiina/device-weight
Implement 'podman run --blkio-weight-device'
2021-12-01 21:37:09 +01:00
OpenShift Merge Robot 5d91edc78d
Merge pull request #12450 from giuseppe/compression-format
podman, push: expose --compression-format
2021-12-01 21:01:15 +01:00
OpenShift Merge Robot 078e633294
Merge pull request #12462 from vrothberg/fix-12452
top: parse ps(1) args correctly
2021-12-01 18:19:11 +01:00
wangqiang 4e63f9192d Hostname in `spec.hostname` should be passed to infra ctr init opt
Fixes https://github.com/containers/podman/issues/12393

Signed-off-by: Qiang Wang <sunsetmask@gmail.com>
2021-12-01 21:03:25 +08:00
Valentin Rothberg e2b344728c top: parse ps(1) args correctly
The arguments of ps(1) should be shlexed.

Fixes: #12452
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-01 11:42:37 +01:00
Giuseppe Scrivano 6673ff78d3
podman, push: expose --compression-format
support overriding the compression format at push time.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-12-01 09:39:03 +01:00
Ed Santiago 9ce7ade8c8 e2e: yet more cleanup of BeTrue/BeFalse
Thanks to Paul for teaching me about HaveKey()

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-30 15:19:57 -07:00
OpenShift Merge Robot 295a6f7dd0
Merge pull request #12454 from edsantiago/remove_betrue
More BeTrue cleanup
2021-11-30 21:03:32 +01:00
OpenShift Merge Robot 85101f69d8
Merge pull request #12414 from flouthoc/api-allow-secrets
tunnel: allow `remote` and `API` to accept `--secrets`
2021-11-30 19:29:33 +01:00
Ed Santiago 8eb0be0a29 a few more manual BeTrue cleanups
Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-30 10:13:16 -07:00
Ed Santiago f7cbb1d845 Convert strings.Contains() to Expect(ContainSubstring)
...done manually, not via sed, because some of the inner
expressions include nested commas.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-30 09:53:15 -07:00
Ed Santiago 12787963b0 e2e tests: more cleanup of BeTrue()s
Write a BeValidJSON() matcher, and replace IsJSONOutputValid():

  sed -i -e 's/Expect(\(.*\)\.IsJSONOutputValid()).To(BeTrue())/Expect(\1.OutputToString())\.To(BeValidJSON())/' test/e2e/*_test.go

(Plus a few manual tweaks)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-30 09:51:06 -07:00
OpenShift Merge Robot 3fac03cf04
Merge pull request #12449 from vrothberg/fix-12438
systemd: replace multi-user with default.target
2021-11-30 17:09:33 +01:00
Hironori Shiina 5a56f40948 Implement 'podman run --blkio-weight-device'
`--blkio-weight-device` is not fully implemented and this causes an
unexpected panic when specified because an entry is put into an
uninitialized map at parsing.

This fix implements the `--blkio-weight-device` and adds a system test.
When creating a spec generator on a client, a major number and a minor
number of a device cannot be set. So, these numbers are inspected on a
server and set to a runtime spec.

Signed-off-by: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
2021-11-30 09:21:28 -05:00
Valentin Rothberg 9a10e2124b systemd: replace multi-user with default.target
Replace `multi-user.target` with `default.target` across the code base.
It seems like the multi-user one is not available for (rootless) users
on F35 anymore is causing issues in all kinds of ways, for instance,
enabling the podman.service or generated systemd units.

Fixes: #12438
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-30 14:37:25 +01:00
Valentin Rothberg 5bdd571b1e compat API: allow enforcing short-names resolution to Docker Hub
The Docker-compatible REST API has historically behaved just as the rest
of Podman and Buildah (and the atomic Docker in older RHEL/Fedora) where
`containers-registries.conf` is centrally controlling which registries
a short name may resolve to during pull or local image lookups.  Please
refer to a blog for more details [1].

Docker, however, is only resolving short names to docker.io which has
been reported (see #12320) to break certain clients who rely on this
behavior.  In order to support this scenario, `containers.conf(5)`
received a new option to control whether Podman's compat API resolves
to docker.io only or behaves as before.

Most endpoints allow for directly normalizing parameters that represent
an image.  If set in containers.conf, Podman will then normalize the
references directly to docker.io.  The build endpoint is an outlier
since images are also referenced in Dockerfiles.  The Buildah API,
however, supports specifying a custom `types.SystemContext` in which
we can set a field that enforces short-name resolution to docker.io
in `c/image/pkg/shortnames`.

Notice that this a "hybrid" approach of doing the normalization directly
in the compat endpoints *and* in `pkg/shortnames` by passing a system
context.  Doing such a hybrid approach is neccessary since the compat
and the libpod endpoints share the same `libimage.Runtime` which makes
a global enforcement via the `libimage.Runtime.systemContext`
impossible.  Having two separate runtimes for the compat and the libpod
endpoints seems risky and not generally applicable to all endpoints.

[1] https://www.redhat.com/sysadmin/container-image-short-names

Fixes: #12320
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-30 14:22:52 +01:00
Aditya Rajan c80a2e4495
podman-remote: prevent leaking secret into image
Prevents temp secrets leaking into image by moving it away from context
directory to parent builder directory. Builder directory automatically
gets cleaned up when we are done with the build.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-11-30 15:44:10 +05:30
Aditya Rajan e7204178e1
podman-remote: copy secret to contextdir is absolute path on host
Podman remote must treat build secrets as part of context directory. If
secret path is absolute path on host copy it to tar file and pass it to
remote server.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-11-30 14:19:29 +05:30
OpenShift Merge Robot 6052914222
Merge pull request #12433 from matejvasek/fix-mount-parsing
fix: parsing of HostConfig.Mounts for container create
2021-11-29 22:10:18 +01:00
Ed Santiago b63d696405 e2e tests: enable golint
...and fix problems found therewith.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-29 08:30:00 -07:00
Matej Vasek 697ff213dd fix: parsing of HostConfig.Mounts for container create
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-11-29 15:57:56 +01:00
Matej Vasek cbda62d1be fix: error reporting for archive endpoint
Returning 500 when copying to read-only destination.

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-11-28 19:02:15 +01:00
Giuseppe Scrivano e648122b29
libpod: improve heuristic to detect cgroup
improve the heuristic to detect the scope that was created for the container.
This is necessary with systemd running as PID 1, since it moves itself
to a different sub-cgroup, thus stats would not account for other
processes in the same container.

Closes: https://github.com/containers/podman/issues/12400

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-11-24 14:50:12 +01:00
OpenShift Merge Robot 4b014a3aec
Merge pull request #12398 from edsantiago/remove_betrue
continue e2e test cleanup
2021-11-24 09:07:02 +01:00
Ed Santiago eb3708a524 Find and fix empty Expect()s
That previous commit made me wonder if there are any other
instances of Expect() with no assertions.

   grep Expect test/e2e/*_test.go |egrep -v '\.(To|NotTo|Should)'

...finds a couple of handfuls, most of which are OK (continued
on the next line) but a few of which are bugs. Fix those.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-23 15:39:04 -07:00
Daniel J Walsh df6aa67302
Unset SocketLabel after system finishes checkpointing
This should fix the SELinux issue we are seeing with talking to
/run/systemd/private.

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

Also unset the XDG_RUNTIME_DIR if set, since we don't know when running
as a service if this will cause issue.s

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-23 16:31:54 -05:00
Ed Santiago c034147fe7 Remove StringInSlice(), part 2
These were NOPs, and were testing the wrong thing (pod ID,
not container ID). Fixed manually.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-23 13:50:35 -07:00
Ed Santiago 2fcb39586c Remove StringInSlice(), part 1
via: sed -i -e 's/Expect(StringInSlice(\(.*\), \(.*\))).To(BeTrue())/Expect(\2)\.To(ContainElement(\1))/' test/e2e/*_test.go

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-23 13:50:35 -07:00
Ed Santiago cd59721de1 e2e test cleanup, continued
Continue eliminating GrepString() and BeTrue(), in tiny
incremental steps. Here I take the liberty of refactoring
some hard-to-read code by adding a helper.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-23 13:50:35 -07:00
OpenShift Merge Robot 1be4c36e7e
Merge pull request #12371 from jakub-dzon/env-config-maps
Support env variables based on ConfigMaps sent in payload
2021-11-23 19:30:15 +01:00
Daniel J Walsh 400ccc6205
Merge pull request #12328 from serverwentdown/fix-compat-ipaddress
compat: Add subnet mask behind IP address to match Docker API
2021-11-23 10:39:32 -05:00
Daniel J Walsh ee61280665
Merge pull request #12361 from rhatdan/remote
podman-remote does not support signature-policy
2021-11-23 09:50:26 -05:00
OpenShift Merge Robot 3a19cdcc77
Merge pull request #12010 from vrothberg/fix-11964
image lookup: do not match *any* tags
2021-11-23 13:23:32 +01:00
Jakub Dzon dd80635df0 Support env variables based on ConfigMaps sent in payload
Fixes #12363

Signed-off-by: Jakub Dzon <jdzon@redhat.com>
2021-11-23 11:40:28 +01:00
OpenShift Merge Robot 90c635fd67
Merge pull request #12380 from vrothberg/fix-11618
generate systemd: add --start-timeout flag
2021-11-23 11:25:41 +01:00
Valentin Rothberg 0d1aaf080e image lookup: do not match *any* tags
For reasons buried in the history of Podman, looking up an untagged
image would match any tag of matching image. For instance, looking up
centos would match a local image centos:foobar.  Change that behavior
to only match the latest tag.

Fix: #11964
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-23 11:15:03 +01:00
Valentin Rothberg 566b78dd02 generate systemd: add --start-timeout flag
Add a new flag to set the start timeout for a generated systemd unit.
To make naming consistent, add a new --stop-timeout flag as well and let
the previous --time map to it.

Fixes: #11618
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-23 09:38:51 +01:00
Ed Santiago 49d63ad5c1 Oops! Manual edits to broken tests
Commit 2 of 2: there were (still are?) a bunch of string
checks that didn't have a corresponding Expect(). IIUC
that means they were NOPs. Try to identify and fix those.

The first few were caught by Go linting, "ok is defined
but not used". When I realized the problem, I looked for
more using:

    $ ack -A2 LineInOutputStartsWith

...and tediously eyeballing the results, looking for
matches in which the next line was not Expect(). If
test was wrong (e.g. "server" should've been "nameserver"),
fix that.

Also: remove the remove-betrue script. We don't need it
in the repo, I just wanted to preserve it for posterity.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-22 15:23:08 -07:00
Ed Santiago 97ab9176f7 e2e tests: clean up antihelpful BeTrue()s
Many ginkgo tests have been written to use this evil form:

    GrepString("foo")
    Expect(that to BeTrue())

...which yields horrible useless messages on failure:

    false is not true

Identify those (automatically, via script) and convert to:

    Expect(output to ContainSubstring("foo"))

...which yields:

    "this output" does not contain substring "foo"

There are still many BeTrue()s left. This is just a start.

This is commit 1 of 2. It includes the script I used, and
all changes to *.go are those computed by the script.
Commit 2 will apply some manual fixes.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-22 14:37:43 -07:00
Daniel J Walsh 992fafa9ab
Merge pull request #12386 from baude/playkuberename
Rename pod on generate of container
2021-11-22 16:19:58 -05:00
Brent Baude 9c8fb5cc0c Rename pod on generate of container
When generating kube of a container, the podname and container name in
the yaml are identical.  This offends rules in podman where pods and
containers cannot have the same name.  We now append _pod to the
podname to avoid that collision.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-11-22 11:50:08 -06:00
OpenShift Merge Robot 40ae7e74b7
Merge pull request #12349 from edsantiago/clean_fixmes
Semiperiodic cleanup of obsolete Skip()s
2021-11-22 17:51:14 +01:00
OpenShift Merge Robot 26b45a1564
Merge pull request #12351 from adrianreber/2021-11-18-restore-runtime-verification
Restore runtime verification
2021-11-22 15:44:10 +01:00
Colin Bendell d173ebc067 Add EXPOSE e2e test
Signed-off-by: Colin Bendell <colin@bendell.ca>
2021-11-20 21:05:49 -05:00
Ambrose Chua ab56a7c4b7 compat: Add subnet mask behind IP address to match Docker API
Signed-off-by: Ambrose Chua <ambrose@hey.com>
2021-11-20 21:00:38 +08:00
Daniel J Walsh 21629b0501
podman-remote does not support signature-policy
Fixes: https://github.com/containers/podman/issues/12357

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-19 13:55:10 -05:00
Adrian Reber ced0ffbe8f
Add tests for restore runtime verification
On container restore ensures that the same container runtime is used as
during checkpointing and it also ensures that the user does not select
a different runtime.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-11-19 17:46:07 +00:00
Ed Santiago c03b6b54fd Semiperiodic cleanup of obsolete Skip()s
Found by my find-obsolete-skips script. Let's see which, if any,
of these skipped tests can be reenabled.

Some Skips are "this will never work", not "this is expected to
work one day". Update the message on those to reflect that.

Some were real bugs in the test framework. Fix those.

And, joy of joys, some work today. Remove those skips.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-19 08:49:57 -07:00
Radostin Stoyanov 84021cfdc3
test: Update error string for --file-locks test
Use a substring matching the end of the error message.

Closes: #12366

Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2021-11-19 13:02:58 +00:00
OpenShift Merge Robot c26af00c4b
Merge pull request #11957 from edsantiago/bats
System tests: new checkpoint test
2021-11-18 22:07:14 +01:00
OpenShift Merge Robot 3242931c62
Merge pull request #12295 from flouthoc/filter-label-pattern
filters: add basic pattern matching for label keys i.e `--filter label=<pattern>`
2021-11-18 22:03:13 +01:00
Radostin Stoyanov 7098463e78
Add test for checkpoint/restore with --file-locks
Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2021-11-18 19:23:48 +00:00
Valentin Rothberg fceecc3a5b remote checkpoint/restore: more fixes
* Support `checkpoint --pre-checkpoint`

* Support `checkpoint --with-previous`

* Disable `restore --import-previous` for the remote client since we had
  to send two files which in turn would require to tar them up and hence
  be a breaking change.  Podman 4.0 would be the chance and I hope we'll
  find time before that to remote-restore prettier.

Note that I did not run over swagger yet to check whether all parameters
are actually documented due to time constraints.

Fixes: #12334
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-18 16:52:15 +01:00
Valentin Rothberg 6f6a6925b2 fix CI
Our fedora-minimal image on Quay bases on fedora-minimal:latest which
starting with F35 removed a number of binaries that our CI depends on.
Fix that by pulling `fedora-minimal:34` from the Fedora registry
directly.

Once the build bot on Quay has been disabled, we move the image over
there to make sure that it will not change over time.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-18 15:19:14 +01:00
Ed Santiago d6c18902ef System tests: new checkpoint tests
Includes a test for the stdout-goes-away bug (crun #756).

Skip on Ubuntu due to a many-months-old kernel bug that
keeps getting fixed and then un-fixed.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-17 06:31:50 -07:00
OpenShift Merge Robot 85733e0b4a
Merge pull request #12281 from vrothberg/fix-12007
fix remote checkpoint/restore
2021-11-17 12:02:37 +01:00
Ed Santiago e367f46147 hack/bats: deal with new bin helpers
Some time in the last month, podman started to depend on a bunch
of external helper binaries: rootlessport, pause, catatonit.
System tests fail without these.

Update the hack/bats script to pass $CONTAINERS_HELPER_BINARIES_DIR
(set to ./bin); podman will then use locally-built helpers. (This
requires https://github.com/containers/common/pull/823 , which as
of this PR is not yet vendored into podman. There is no harm in
merging this while we wait.)

Also: if bats helper is invoked as root, run only once; i.e.,
skip the "rootless" step.

Also (piggybacked): the name of the podman pause image has
changed, from pause to podman-pause. Adjust that in our
teardown so we don't leave droppings.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-16 12:51:17 -07:00
OpenShift Merge Robot 197ebe8b5e
Merge pull request #12218 from vrothberg/pause-catatonit
infra container: replace pause with catatonit
2021-11-16 18:16:34 +01:00
OpenShift Merge Robot f031bd23c6
Merge pull request #12100 from rhatdan/env
Add option --unsetenv to remove default environment variables
2021-11-16 16:27:34 +01:00
Valentin Rothberg 33ec8c6698 fix remote checkpoint/restore
Nothing was working before, and it's too much to summarize.  To make
sure we're not regressing in the future again, enable the remote e2e
tests.

Fixes: #12007
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-16 14:41:18 +01:00
OpenShift Merge Robot be681ab518
Merge pull request #12294 from flouthoc/secret-mount-target
secret: honor custom `target=` for secrets with `type=mount` for ctr.
2021-11-16 01:45:27 +01:00
OpenShift Merge Robot 45d28c2219
Merge pull request #12285 from nalind/journal-follow-not-early
journald logs: keep reading until the journal's end
2021-11-15 22:09:29 +01:00
Daniel J Walsh 44d1618dd7
Add --unsetenv & --unsetenv-all to remove def environment variables
Podman adds a few environment variables by default, and
currently there is no way to get rid of them from your container.
This option will allow  you to specify which defaults you don't
want.

--unsetenv-all will remove all default environment variables.

Default environment variables can come from podman builtin,
containers.conf or from the container image.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-15 15:10:12 -05:00
OpenShift Merge Robot 230f0b622e
Merge pull request #12130 from rhatdan/journal
Error logs --follow if events-backend != journald, event-logger=journald
2021-11-15 20:55:28 +01:00
Nalin Dahyabhai 63ef7135d9 journald logs: keep reading until the journal's end
When reading logs from the journal, keep going after the container
exits, in case it gets restarted.

Events logged to the journal via the normal paths don't include
CONTAINER_ID_FULL, so don't bother adding it to the "history" event we
use to force at least one entry for the container to show up in the log.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-11-15 13:38:36 -05:00
Aditya Rajan 014cc4b9d9
secret: honor custom target for secrets with run
Honor custom `target` if specified while running or creating containers
with secret `type=mount`.

Example:
`podman run -it --secret token,type=mount,target=TOKEN ubi8/ubi:latest
bash`

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-11-15 23:19:27 +05:30
OpenShift Merge Robot 9eaa6f4566
Merge pull request #12297 from edsantiago/no_remote_unshare
Network test: fix podman-remote-rootless corner case
2021-11-15 16:42:40 +01:00
OpenShift Merge Robot e9d8ca22b8
Merge pull request #11076 from boaz0/closes_10275
Support template unit files in podman generate systemd
2021-11-15 16:30:38 +01:00
Ed Santiago c21259bf86 Network test: fix podman-remote-rootless corner case
Followup to #12229, in which I added a podman unshare for
flake debugging. Turns out that doesn't work in podman-remote.
It was not caught because CI doesn't run podman-remote rootless.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-15 07:01:22 -07:00
Aditya Rajan c050f05ccf
filter: add basic pattern matching for label keys
Following PR adds basic pattern matching to filter by labels for `keys`.
Adds support for use-cases like `--filter label=some.prefix.com/key/*`
where end-users want to match a pattern for keys as compared to exact
value.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-11-15 17:49:54 +05:30
Valentin Rothberg 5934e4c9b5 infra container: replace pause with catatonit
Podman has been using catatonit for a number of years already.
Thanks to @giuseppe, catatonit is now able to run as a pause
process which allows us to replace the pause binary entirely.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-15 12:53:25 +01:00
Adrian Reber d28b39a90d
Added test for checkpoint/restore --print-stats
Signed-off-by: Adrian Reber <areber@redhat.com>
2021-11-15 11:50:25 +00:00
OpenShift Merge Robot cca6df428c
Merge pull request #12272 from hshiina/memory-swappiness
Enable 'podman run --memory-swappiness=0'
2021-11-13 13:12:48 +01:00
Daniel J Walsh 062c887718
Error logs --follow if events-backend != journald, event-logger=journald
Fixes: https://github.com/containers/podman/issues/11255

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-13 07:11:09 -05:00
OpenShift Merge Robot 8f3fb743ee
Merge pull request #12270 from rhatdan/auth
--authfile command line argument for image sign command.
2021-11-13 13:10:48 +01:00
OpenShift Merge Robot 78bc2390f4
Merge pull request #12271 from Luap99/play-kube-net
Fix network mode in play kube
2021-11-12 19:59:44 +01:00
Hironori Shiina 9226ccb59f Enable 'podman run --memory-swappiness=0'
'--memory-swappiness=0' used to work. This patch fixes the regression
issue, which was caused by the change of infra container creation
process.

Signed-off-by: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
2021-11-12 13:20:20 -05:00
OpenShift Merge Robot 0aecacb865
Merge pull request #12224 from cdoern/scp
Podman Image SCP transfer patch
2021-11-12 18:44:44 +01:00
Paul Holzinger 164c42b485
Fix network mode in play kube
We need to use the config network mode when no network mode was set. To
do so we have to keep the nsmode empty, MakeContainer() will use the
correct network mode from the config when needed.

Fixes #12248

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-11-12 18:32:01 +01:00
OpenShift Merge Robot 07f5a94711
Merge pull request #12279 from mscherer/fix_11842
Always create working directory when using compat API
2021-11-12 16:55:24 +01:00