Commit Graph

7096 Commits

Author SHA1 Message Date
OpenShift Merge Robot f7dffedeb6
Merge pull request #5710 from baude/v2create
v2podman container create
2020-04-03 23:53:45 +02:00
Brent Baude 6514a5c80e v2podman container create
create a container in podmanv2 using specgen approach.  this is the core implementation and still has quite a bit of code commented out specifically around volumes, devices, and namespaces.  need contributions from smes on these parts.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 15:43:03 -05:00
OpenShift Merge Robot 35f5867833
Merge pull request #5672 from baude/v2save
podmanv2 save image
2020-04-03 22:41:18 +02:00
Brent Baude 837aad724f podmanv2 save image
add ability to save an image for podman v2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 13:07:35 -05:00
OpenShift Merge Robot 64cade0f71
Merge pull request #5638 from baude/v2containercheck
podmanv2 checkpoint and restore
2020-04-03 20:05:30 +02:00
OpenShift Merge Robot 3542700d6e
Merge pull request #5707 from adrianreber/crun-checkpoint-1
Prepare for crun checkpoint support
2020-04-03 19:56:03 +02:00
OpenShift Merge Robot 416fd4846f
Merge pull request #5712 from rhatdan/path
Pass path environment down to the OCI runtime
2020-04-03 19:42:15 +02:00
OpenShift Merge Robot 2d9b9e81a3
Merge pull request #5676 from kolyshkin/volume-flags-alt
Fix/improve pkg/storage.InitFSMounts
2020-04-03 18:34:01 +02:00
OpenShift Merge Robot a89d62ac3a
Merge pull request #5701 from vrothberg/v2-push
podmanV2: implement push
2020-04-03 18:11:54 +02:00
Adrian Reber 001fe983df
checkpoint: handle XDG_RUNTIME_DIR
For (almost) all commands which podman passes on to a OCI runtime
XDG_RUNTIME_DIR is set to the same value. This does not happen for the
checkpoint command.

Using crun to checkpoint a container without this change will lead to
crun using XDG_RUNTIME_DIR of the currently logged in user and so it
will not find the container Podman wants to checkpoint.

This bascially just copies a few lines from on of the other commands to
handle 'checkpoint' as all the other commands.

Thanks to Giuseppe for helping me with this.

For 'restore' it is not needed as restore goes through conmon and for
calling conmon Podman already configures XDG_RUNTIME_DIR correctly.

Signed-off-by: Adrian Reber <areber@redhat.com>
2020-04-03 18:00:57 +02:00
Adrian Reber 7660330ae2
checkpoint: change runtime checkpoint support test
Podman was checking if the runtime support checkpointing by running
'runtime checkpoint -h'. That works for runc.

crun, however, does not use '-h, --help' for help output but, '-?,
--help'.

This commit switches both checkpoint support detection from
 'runtime checkpoint -h'
to
 'runtime checkpoint --help'.

Podman can now correctly detect if 'crun' also support checkpointing.

Signed-off-by: Adrian Reber <areber@redhat.com>
2020-04-03 18:00:57 +02:00
Daniel J Walsh 84aa81fabe
Pass path environment down to the OCI runtime
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-03 11:45:55 -04:00
OpenShift Merge Robot a168dcc39c
Merge pull request #5700 from containers/dependabot/go_modules/github.com/containers/common-0.8.0
Bump github.com/containers/common from 0.6.1 to 0.8.0
2020-04-03 17:12:03 +02:00
Brent Baude 8a16674722 podmanv2 checkpoint and restore
add the ability to checkpoint and restore containers on v2podman

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-03 09:32:06 -05:00
dependabot-preview[bot] eb86bfc344
Bump github.com/containers/common from 0.6.1 to 0.8.0
Bumps [github.com/containers/common](https://github.com/containers/common) from 0.6.1 to 0.8.0.
- [Release notes](https://github.com/containers/common/releases)
- [Commits](https://github.com/containers/common/compare/v0.6.1...v0.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-03 06:35:42 -04:00
OpenShift Merge Robot ccb9e579c4
Merge pull request #5702 from kolyshkin/test-nitpicks
test/e2e/run_volume_test nitpicks
2020-04-03 11:52:28 +02:00
OpenShift Merge Robot ccf0e0dd04
Merge pull request #5696 from rhatdan/cc
Fix environment handling from containers.conf
2020-04-03 01:02:57 +02:00
Kir Kolyshkin e39cf4cf59 test/e2e/run_volume_test: use unique mount point
For volume and bind mount tests, use the in-container mount point path
that has no common ancestor with any host path (except for root).

This might help to uncover bugs like [1]. Even if not, it seems
lile a good cleanup regardless.

[1] https://github.com/containers/libpod/pull/5676

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-02 10:19:40 -07:00
Kir Kolyshkin 504f9082ee test/e2e/run_volume_test.go: mv dockerfile decl
Move declaration of a dockerfile closer to its use.
Since it is used only once, there's no sense in having it declared
globally.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-02 10:17:10 -07:00
Kir Kolyshkin ce38be7959 test/e2e/run_volume_test: only create dir once
Remove repeated mountPath directory creation.

 * For the first two hunks it is the same dir ("secrets") that was
   already created before.

 * For the last hunk ("scratchpad") it is not used at all.

Add an empty line after Mkdir for cases where dir is used more than once.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-02 10:17:10 -07:00
Daniel J Walsh 1f8569f7d7
Fix environment handling from containers.conf
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-02 13:10:08 -04:00
Valentin Rothberg 44a515015c podmanV2: implement push
* Implement `podman-push` and `podman-image-push` for the podmanV2
  client.

* Tests for `pkg/bindings` are not possible at the time of writing as we
  don't have a local registry running.

* Implement `/images/{name}/push` compat endpoint. Tests are not
  implemented for this v2 endpoint.  It has been tested manually.

General note: The auth config extraction from the http header is not
implement for push.  Since it's not yet supported for other endpoints
either, I deferred it to future work.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-02 17:01:32 +02:00
Kir Kolyshkin e0614367ca pkg/spec.InitFSMounts: optimize
Instead of getting mount options from /proc/self/mountinfo, which is
very costly to read/parse (and can even be unreliable), let's use
statfs(2) to figure out the flags we need.

[v2: move getting default options to pkg/util, make it linux-specific]

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-02 07:52:34 -07:00
OpenShift Merge Robot c3c6a7c823
Merge pull request #5677 from giuseppe/avoid-lock-tty
exec: fix hang if control path is deleted
2020-04-02 16:43:11 +02:00
OpenShift Merge Robot ffd2d78391
Merge pull request #5516 from cevich/remove_dupe_gate_cross
Cirrus: Remove darwin/windows builds in gate-job
2020-04-02 15:07:03 +02:00
OpenShift Merge Robot 82610d657d
Merge pull request #5688 from baude/v2import
podmanv2 import
2020-04-02 14:20:57 +02:00
Giuseppe Scrivano d172c98714
utils: delete dead code
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-02 09:15:58 +02:00
Giuseppe Scrivano 41fc891173
attach: skip shutdown on errors
skip doing a socket shutdown on an error, since we are not sure the
socket was already closed and we end up using the wrong fd.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-02 09:15:57 +02:00
Giuseppe Scrivano 4c02aa46c2
attach: fix hang if control path is deleted
if the control path file is deleted, libpod hangs waiting for a reader
to open it.  Attempt to open it as non blocking until it returns an
error different than EINTR or EAGAIN.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-02 09:15:56 +02:00
OpenShift Merge Robot 88455fe704
Merge pull request #5687 from TomSweeneyRedHat/dev/tsweeney/fixmaillist
Touch up mailing list address in README.md
2020-04-02 02:27:06 +02:00
OpenShift Merge Robot a8cde905d5
Merge pull request #5699 from edsantiago/podmanv2-retry
podmanv2-retry - new helper for testing v2
2020-04-02 01:00:06 +02:00
Kir Kolyshkin f2c42a3958 pkg/spec.InitFSMounts: fix mount opts in place
... rather than create a new slice and then make the caller
replace the original with the new one.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2020-04-01 15:30:59 -07:00
OpenShift Merge Robot 79f191cb59
Merge pull request #5697 from baude/v2export
podmanv2 export
2020-04-02 00:13:21 +02:00
Brent Baude bb39051616 podmanv2 export
add ability to export a container to a tarball

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-01 16:02:53 -05:00
Brent Baude 0433081983 podmanv2 import
add the ability to import a container image from a container export

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-01 15:56:26 -05:00
OpenShift Merge Robot 0f357be5ae
Merge pull request #5686 from baude/v2load
podmanv2 load
2020-04-01 22:54:22 +02:00
Ed Santiago 108ab380f1 podmanv2-retry - new helper for testing v2
./hack/podmanv2-retry will first invoke $PODMAN_V2 with given
arguments. If that fails with any of the following errors:

    unrecognized command
    unknown flag
    unknown shorthand

...it will run $PODMAN_FALLBACK with the same arguments.
Output and exit code will be those of the final podman command,
although be aware that stderr and stdout are combined.

This is a quick-hack script intended for use in v2 testing, to
test implemented commands without noise from unimplemented ones.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-04-01 14:14:00 -06:00
Brent Baude 8500ce6b9a podmanv2 load
enable podman load for v2

add reexec into main

add systemd build flag to v2 makefile

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-01 14:10:57 -05:00
OpenShift Merge Robot 0a16372035
Merge pull request #5678 from sshnaidm/buildrpm
Fix repos for CentOS 7 RPM build
2020-04-01 20:18:48 +02:00
OpenShift Merge Robot d534e52427
Merge pull request #5645 from jwhonce/wip/inspect
V2 podman inspect
2020-04-01 19:08:08 +02:00
Jhon Honce 46e3b2efb8 V2 podman inspect
* Expose podman container inspect
* Expose podman image inspect

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-01 08:07:43 -07:00
OpenShift Merge Robot 82cbebcbea
Merge pull request #5656 from baude/v2imagetag
podman v2 image tag and untag
2020-04-01 16:10:10 +02:00
OpenShift Merge Robot 394f1c26d6
Merge pull request #5684 from baude/v2podps
podmanv2 pod ps
2020-04-01 15:39:35 +02:00
Sagi Shnaidman 19aa4b4c0b Fix repos for CentOS 7 RPM build
CBS repos are gone, so we need a new repos to configure for RPM.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2020-04-01 14:01:46 +03:00
Brent Baude 26644d7cb8 podman v2 image tag and untag
add the ability to tag and untag images in podmanv2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-31 19:36:26 -05:00
Brent Baude 7def91910c podmanv2 pod ps
add the ability to list pods in podmanv2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-31 19:32:37 -05:00
OpenShift Merge Robot 6d36d05447
Merge pull request #5670 from cevich/new_images
Cirrus: Update VM Images
2020-04-01 00:01:10 +02:00
OpenShift Merge Robot 9f5fcc3565
Merge pull request #5655 from baude/v2hcrun
podmanv2 enable healthcheck run
2020-03-31 23:01:19 +02:00
OpenShift Merge Robot 4d66704211
Merge pull request #5683 from larsks/bug/rpm-systemd-tag
add systemd build tag to podman builds
2020-03-31 22:37:15 +02:00
OpenShift Merge Robot 6e8f6cab60
Merge pull request #5675 from vrothberg/v2-pull
podmanV2: implement pull
2020-03-31 21:12:49 +02:00