Commit graph

25966 commits

Author SHA1 Message Date
Valentin Rothberg
1f2f7e7459 podman cp: evaluate symlink correctly when copying from container
When copying from a container, make sure to evaluate the symlinks
correctly.  Add tests copying a symlinked directory from a running and
a non-running container to execute both path-resolution paths.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-09 10:45:15 +01:00
Valentin Rothberg
2033fa4c79 rm pkg/api/handlers/libpod/copy.go
Remove the file since it only contains dead code.  The archive endpoints
are shared between the libpod and the compat API and both use the compat
package.

[NO TESTS NEEDED] since we're removing dead code.

Fixes: #9670
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-09 09:27:03 +01:00
Valentin Rothberg
31b11b5cd6 podman cp: fix copying to a non-existent dir
Copy is full of perils.  Some of them are the nuances when copying
directories.  Who would have thought that
 * cp dir   foo
 * cp dir/  foo
 * cp dir/. foo
are all supposed to yield the same result when foo does not exist.

`podman cp` now supports all three notations, which required to massage
the front-end code in `cmd/podman` a bit.  The tests have been extended
and partially rewritten to test container->host and host->container
copy operations.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-09 09:02:14 +01:00
Valentin Rothberg
a61d70cf8e podman cp: fix ownership
Make sure the files are chowned to the host/container user, depending on
where things are being copied to.

Fixes: #9626
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-09 09:02:14 +01:00
Valentin Rothberg
2abfef3809 podman cp: ignore EPERMs in rootless mode
Ignore permission errors when copying from a rootless container.
TTY devices inside rootless containers are owned by the host's
root user which is "nobody" inside the container's user namespace
rendering us unable to even read them.

Enable the integration test which was temporarily disabled for rootless
users.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-09 09:02:14 +01:00
Valentin Rothberg
d175fbfdb4 vendor buildah@v1.19.8
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-09 09:02:14 +01:00
Ed Santiago
e33f523907 apiv2 tests: add helpers to start/stop a local registry
...and a rudimentary set of /auth tests for PR#9589 (disabled).

This simply adds a new start_registry() helper function that
allocates a random unused port, pulls a registry image, creates
a local certificate + random username + random password, and
fires everything up. Since none of this is (yet) used in CI,
this is very low risk.

The only infinitessimally-risky change is using a dedicated
subdirectory of $WORKDIR (instead of $WORKDIR itself) as
the podman root. This fixes a dumb oversight on my part:
the workdir has grown to be used for much more than just
podman root; this change removes clutter and makes it
easier for humans to debug in cases of problems.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-03-08 18:08:17 -07:00
OpenShift Merge Robot
789d579bc4
Merge pull request #9651 from rhatdan/volume
[NO TESTS NEEDED] podman-remote build does not support volumes
2021-03-08 23:35:47 +01:00
OpenShift Merge Robot
021ff992ff
Merge pull request #8172 from rhatdan/storage
[NO TESTS NEEDED] allow the removal of storage images
2021-03-08 23:32:34 +01:00
OpenShift Merge Robot
ff46d13ea6
Merge pull request #9667 from mheon/bump-3.1.0-rc1
[CI:DOCS] Bump to v3.1.0-RC1
2021-03-08 22:33:36 +01:00
Matthew Heon
e926b5d73e Bump to v3.1.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-03-08 15:45:43 -05:00
Matthew Heon
aa9616cd4d Bump to v3.1.0-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-03-08 15:45:40 -05:00
OpenShift Merge Robot
ba36d790db
Merge pull request #9665 from psgreco/master-checkexistentvolumes
[NO TESTS NEEDED] Compat API: Avoid trying to create volumes if they already exist
2021-03-08 21:35:52 +01:00
Daniel J Walsh
e9db604922
allow the removal of storage images
Sometimes if the system crashes while an image is being pulled
containers/storage can get into a bad state.  This PR allows the
user to call into container storage to remove the image.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-08 13:55:45 -05:00
Daniel J Walsh
9eac4a7f7b
podman-remote build does not support volumes
Remove --volume option from podman-remote since it is
not supported, also add information to podman-build man page
indicating options not supported over remote connections.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-08 13:46:42 -05:00
Pablo Greco
d1878cc675 Compat API: Avoid trying to create volumes if they already exist
Fixes commit: 53d22c779c

Signed-off-by: Pablo Greco <pgreco@centosproject.org>
2021-03-08 15:18:42 -03:00
OpenShift Merge Robot
b386d23bf0
Merge pull request #9627 from xatier/master
[NO TESTS NEEDED] Bump pre-commit-hooks version
2021-03-08 19:06:18 +01:00
OpenShift Merge Robot
1e1035cf74
Merge pull request #9659 from containers/dependabot/go_modules/github.com/onsi/gomega-1.11.0
Bump github.com/onsi/gomega from 1.10.5 to 1.11.0
2021-03-08 11:53:18 -05:00
OpenShift Merge Robot
b6079bcf4a
Merge pull request #9592 from rhatdan/timestamp
Numerous buildah fixes found by Ed's testing of buildah tests against podman.
2021-03-08 10:07:54 -05:00
OpenShift Merge Robot
bbb9d9b078
Merge pull request #9649 from rhatdan/kube
Allow users to generate a kubernetes yaml off non running containers
2021-03-08 10:06:56 -05:00
Daniel J Walsh
7e289833ed
Bump github.com/onsi/gomega from 1.10.5 to 1.11.0
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.10.5 to 1.11.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.10.5...v1.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-08 08:54:47 -05:00
OpenShift Merge Robot
6fe634c916
Merge pull request #9658 from containers/dependabot/go_modules/github.com/onsi/ginkgo-1.15.1
Bump github.com/onsi/ginkgo from 1.15.0 to 1.15.1
2021-03-08 08:33:53 -05:00
OpenShift Merge Robot
7c09752fb8
Merge pull request #9525 from vrothberg/prune
[NO TESTS NEEDED] Prune and debloat
2021-03-08 06:21:54 -05:00
Daniel J Walsh
0e36e65eaa
Allow users to generate a kubernetes yaml off non running containers
Currently if you attempt to create a kube.yaml file off of a non running
container where the container runs as a specific User, the creation
fails because the storage container is not mounted. Podman is supposed to
read the /etc/passwd entry inside of the container but since the
container is not mounted, the c.State.Mountpoint == "".  Podman
incorrectly attempts to read /etc/passwd on the host, and fails if the
specified user is not in the hosts /etc/passwd.

This PR mounts the storage container, if it was not mounted so the read
succeeds.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-08 06:14:08 -05:00
dependabot-preview[bot]
80390dd180
Bump github.com/onsi/ginkgo from 1.15.0 to 1.15.1
Bumps [github.com/onsi/ginkgo](https://github.com/onsi/ginkgo) from 1.15.0 to 1.15.1.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v1.15.0...v1.15.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-08 06:10:15 -05:00
Valentin Rothberg
d0d084dd8c turn hidden --trace into a NOP
The --trace has helped in early stages analyze Podman code.  However,
it's contributing to dependency and binary bloat.  The standard go
tooling can also help in profiling, so let's turn `--trace` into a NOP.

[NO TESTS NEEDED]

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-08 09:22:42 +01:00
Valentin Rothberg
320df83881 pkg/terminal: use c/storage/pkg/homedir
This also prunes the dependency on `k8s.io/client-go`.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-08 09:21:13 +01:00
OpenShift Merge Robot
b7c00f2cc0
Merge pull request #9647 from mlegenovic/master
Compat API: Fix the response of 'push image' endpoint
2021-03-07 14:25:52 -05:00
OpenShift Merge Robot
4174b06a4b
Merge pull request #9648 from jmguzik/unify-mount-consts
[NO TESTS NEEDED] Cleanup/unify mount consts
2021-03-07 14:13:51 -05:00
Wong Hoi Sing Edison
cc7a7568aa
Update nix pin with make nixpkgs
Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
2021-03-07 21:36:33 +08:00
Daniel J Walsh
9e75cafd5c
build-arg
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-07 08:08:32 -05:00
Daniel J Walsh
326f3eda31
Handle podman build --dns-search
Fixes: https://github.com/containers/podman/issues/9574

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-07 08:08:32 -05:00
Daniel J Walsh
01ffe2c30a
podman build --build-arg should fall back to environment
Fixes: https://github.com/containers/podman/issues/9571

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-07 06:42:02 -05:00
Daniel J Walsh
2c500a8145
Add support for podman build --ignorefile
Fixes: https://github.com/containers/podman/issues/9570

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-07 06:42:02 -05:00
Jakub Guzik
1a33b76489 replace local mount consts with libpod/define
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-03-07 12:03:34 +01:00
Jakub Guzik
e4da5096ba separate file with mount consts in libpod/define
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-03-07 12:01:04 +01:00
Milivoje Legenovic
9fc29f63e0 Correct compat images/{name}/push response
Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2021-03-07 02:38:01 +01:00
OpenShift Merge Robot
a9fcd9d760
Merge pull request #9640 from TomSweeneyRedHat/dev/tsweeney/ctrnetwork091
Bump  github.com/containernetworking/plugins to v0.9.1
2021-03-06 06:39:53 -05:00
xatier
a910f74ea3
[NO TESTS NEEDED] Bump pre-commit-hooks version
Signed-off-by: xatier <xatierlike@gmail.com>
2021-03-05 23:08:41 -08:00
OpenShift Merge Robot
77a597acb2
Merge pull request #9641 from jmguzik/doc-build-fix
[ci skip] Bad formatting fix in build documentation
2021-03-06 00:12:02 -05:00
Jakub Guzik
3ae580b0ef [ci skip] Bad formatting fix in build documentation
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-03-06 01:49:41 +01:00
TomSweeneyRedHat
803e58b363 Bump github.com/containernetworking/plugins to v0.9.1
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2021-03-05 18:49:17 -05:00
OpenShift Merge Robot
2a7815726c
Merge pull request #9599 from rhatdan/selinux
Add tests for selinux kvm/init labels
2021-03-05 14:49:25 -05:00
OpenShift Merge Robot
f3b75ebea0
Merge pull request #9635 from rhatdan/stop
podman-remote stop -time 0 does not work
2021-03-05 14:06:25 -05:00
OpenShift Merge Robot
44e6d20023
Merge pull request #9624 from mheon/fix_9615
[NO TESTS NEEDED] Do not return from c.stop() before re-locking
2021-03-05 11:37:03 -05:00
Daniel J Walsh
d107c37296
podman-remote stop -time 0 does not work
This patch will allow users to pass in the time 0.
Currently the timeout will take 10 seconds if user passes
in the 0 flag.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-05 10:39:17 -05:00
OpenShift Merge Robot
0bac30d724
Merge pull request #9622 from jmguzik/network-rm-fix
Fix podman network rm (-f) workflow
2021-03-05 09:50:03 -05:00
Matthew Heon
5bb8fa30b0 Do not return from c.stop() before re-locking
Unlocking an already unlocked lock is a panic. As such, we have
to make sure that the deferred c.lock.Unlock() in
c.StopWithTimeout() always runs on a locked container. There was
a case in c.stop() where we could return an error after we unlock
the container to stop it, but before we re-lock it - thus
allowing for a double-unlock to occur. Fix the error return to
not happen until after the lock has been re-acquired.

Fixes #9615

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-03-05 09:19:48 -05:00
OpenShift Merge Robot
c6cefa5f04
Merge pull request #9628 from containers/dependabot/go_modules/github.com/containers/buildah-1.19.7
Bump github.com/containers/buildah from 1.19.6 to 1.19.7
2021-03-05 08:39:02 -05:00
Jakub Guzik
2bcc95257f Fix for podman network rm (-f) workflow
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-03-05 13:16:37 +01:00