Commit graph

3894 commits

Author SHA1 Message Date
OpenShift Merge Robot d9d9c82184
Merge pull request #2849 from cevich/timestamps
Cirrus: timestamp all output script output
2019-05-03 02:14:30 +02:00
OpenShift Merge Robot f3c494eb28
Merge pull request #2959 from mheon/merge_volume_flags
Merge volume flags implementation
2019-05-03 01:30:13 +02:00
OpenShift Merge Robot 139eeb3eb3
Merge pull request #3051 from mheon/podman_migrate_fixes
Small fixes for #2950
2019-05-02 22:48:12 +02:00
OpenShift Merge Robot b5e5585ada
Merge pull request #2985 from baude/generatesystemd
Generate Systemd
2019-05-02 22:33:09 +02:00
baude c18ad2bfd9 Generate systemd unit files for containers
the podman generate systemd command will generate a systemd unit file
based on the attributes of an existing container and user inputs.  the
command outputs the unit file to stdout for the user to copy or
redirect.  it is enabled for the remote client as well.

users can set a restart policy as well as define a stop timeout
override for the container.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-02 14:35:53 -05:00
OpenShift Merge Robot 6bcbb88715
Merge pull request #3060 from mheon/update_cstorage
Update c/storage to v1.12.6
2019-05-02 21:28:11 +02:00
Matthew Heon bb564b68e1 Fix podman-in-podman volume test
When running inside Podman, we get an extra `nodev` mount option.
It doesn't seem to be a bug, more an artifact of running in a
somewhat locked-down container. So instead of checking explicitly
for a set of mount options, just verify the ones we set are
present.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-02 15:17:03 -04:00
Chris Evich 074a26f7a1
Cirrus: Add pipefail confirmation check
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-02 15:03:16 -04:00
Chris Evich 3ab67b9c30
Cirrus: timestamp all output script output
Also remove direct time-stamping by CI scripts that would compete.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-02 15:03:15 -04:00
OpenShift Merge Robot ccf28a89bd
Merge pull request #3039 from mheon/podman_init
Add podman init command
2019-05-02 20:45:44 +02:00
OpenShift Merge Robot 3cec403268
Merge pull request #3058 from TomSweeneyRedHat/dev/tsweeney/buidah1.8.1
Bump Buildah to v1.8.1, ImageBuilder to v1.1.0
2019-05-02 20:23:16 +02:00
OpenShift Merge Robot f4f06be9f2
Merge pull request #3035 from baude/remoteport
podman-remote port
2019-05-02 19:58:19 +02:00
Matthew Heon ee73123285 Update c/storage to v1.12.6
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-02 13:54:59 -04:00
OpenShift Merge Robot 4ffd02e550
Merge pull request #3033 from karfau/patch-1
add arch linux rootless hints to install.md
2019-05-02 19:19:15 +02:00
Matthew Heon 4b33914535 Fix typo in init manpage
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-02 13:13:32 -04:00
Matthew Heon 1e6413e3fd Add an InvalidState varlink error for Init
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-02 13:13:32 -04:00
OpenShift Merge Robot 79e1486a35
Merge pull request #3056 from TomSweeneyRedHat/dev/tsweeney/healthy
docs: Fix typo "healthcheck" pt2
2019-05-02 19:04:46 +02:00
TomSweeneyRedHat 9e620ba89e Bump Buildah to v1.8.1, ImageBuilder to v1.1.0
As the title suggests.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-05-02 12:27:50 -04:00
TomSweeneyRedHat 237dec441a docs: Fix typo "healthcheck" pt2
Replaces #2988.  Want to get this is for v1.3.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-05-02 12:04:17 -04:00
OpenShift Merge Robot bd5d029889
Merge pull request #3047 from jamescassell/http-proxy-fixup
http-proxy: improve docs
2019-05-02 17:47:29 +02:00
OpenShift Merge Robot 8a1d7c2fda
Merge pull request #3053 from edsantiago/fix_req_env_var
cirrus lib.sh: refactor req_env_var()
2019-05-02 17:01:47 +02:00
OpenShift Merge Robot 6c69fe1044
Merge pull request #2863 from cevich/fix_new_lint
Remove two bits of dead code
2019-05-02 16:29:27 +02:00
Ed Santiago 295c531ece cirrus lib.sh: refactor req_env_var()
Existing code was not working due to a bash gotcha ('exit'
from a pipeline). It also had unnecessary duplication.

New version is safer; also includes unit tests run under localunit.

Existing invocations of req_env_var replaced via:

   $ [ edit setup_environment.sh, move one closing quote to its own line ]
   $ perl -ni -e 's/(?<=req_env_var )"(\S+)\s+\$\1"/$1/; if (/req_env_var "$/ .. /^\s*"/) { chomp; s/(?<=\S)\s.*//; if (/^\s*"/) { print "\n" } else { unless (/req_env_var/) { s/^\s+//; print " ";} print;} } else { print }' $(ack -l req_env_var)
   $ [ hand-massage an incorrect instance of '@' in lib.sh:ircmsg() ]

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-05-02 08:14:59 -06:00
Chris Evich 7f157dbe46
Remove two bits of dead code
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-02 09:26:06 -04:00
James Cassell cf982f1480 http-proxy: improve docs
Signed-off-by: James Cassell <code@james.cassell.me>
2019-05-01 20:56:57 -04:00
Matthew Heon 416cc20c68 Small fixes for #2950
We merged #2950 with some nits still remaining, as Giuseppe was
going on PTO. This addresses those small requested changes.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 15:07:30 -04:00
OpenShift Merge Robot 7d05ff3fc7
Merge pull request #3049 from giuseppe/drop-unuseful-check
container: drop rootless check
2019-05-01 20:20:12 +02:00
Giuseppe Scrivano cc9ef4e61b
container: drop rootless check
we don't need to treat the rootless case differently now that we use a
single user namespace.

Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-05-01 18:49:08 +02:00
Matthew Heon 0b2c9c2acc Add basic structure of podman init command
As part of this, rework the number of workers used by various
Podman tasks to match original behavior - need an explicit
fallthrough in the switch statement for that block to work as
expected.

Also, trivial change to Podman cleanup to work on initialized
containers - we need to reset to a different state after cleaning
up the OCI runtime.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 11:12:24 -04:00
OpenShift Merge Robot ad68036a88
Merge pull request #3031 from baude/remotewindows
enable podman-remote on windows
2019-05-01 16:20:41 +02:00
Matthew Heon 606cee93bf Move handling of ReadOnlyTmpfs into new mounts code
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon c86647d203 Begin adding volume tests
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 30257cf073 Ensure that named volumes have their options parsed
This involves moving some code out of pkg/spec/ into util/ so it
can also be used by libpod.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 2698c82240 Add options parsing for tmpfs mounts
This ensures that all tmpfs mounts added by the user, even with
the --mount flag, share a few common options (nosuid, noexec,
nodev), and options for tmpfs mounts are properly validated to
ensure they are correct.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 7a421a807c Use EqualValues instead of reflect equality
Same result, but notably better error messages when things go
wrong.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 13451cab5c Hit a number of to-do comments in unified volumes code
As part of this, move bind mount option validity parsing and
modification (adding e.g. rbind on bind mounts that are missing
it), which requires test changes (expected values have changed).

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 70beb57faa Fix options for non-bind and non-tmpfs volumes
We were unconditionally resetting volume mount options for all
mount points (and by the looks of things, completely dropping
tmpfs mounts), which was causing runc to refuse to run containers
and all the tests to consequently fail.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 2e00d417dd Migrate unit tests from cmd/podman into pkg/spec
Several changes made in the interface of pkg/spec make
interacting with it without a runtime difficult to impossible,
so move the existing limited testing from cmd/podman (which
mostly tested pkg/spec) into pkg/spec itself where we can call
individual functions that don't break things.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 9ee50fe2c7 Migrate to unified volume handling code
Unify handling for the --volume, --mount, --volumes-from, --tmpfs
and --init flags into a single file and set of functions. This
will greatly improve readability and maintainability.

Further, properly handle superceding and conflicting mounts. Our
current patchwork has serious issues when mounts conflict, or
when a mount from --volumes-from or an image volume should be
overwritten by a user volume or named volume.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:19:05 -04:00
Matthew Heon 71f65ab07f Always pass pod into MakeContainerConfig
Play kube was passing the pod, but CreateConfig was not. Unify it
so they both do, so we can remove some unnecessary duplicate
lookup code.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:16:23 -04:00
Matthew Heon 4540458a5e Remove non-config fields from CreateConfig
The goal here is to keep only the configuration directly used to
build the container in CreateConfig, and scrub temporary state
and helpers that we need to generate. We'll keep those internally
in MakeContainerConfig.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:16:23 -04:00
Matthew Heon 869466eb25 Add a new function for converting a CreateConfig
Right now, there are two major API calls necessary to turn a
filled-in CreateConfig into the options and OCI spec necessary to
make a libpod Container. I'm intending on refactoring both of
these extensively to unify a few things, so make a common
frontend to both that will prevent API changes from leaking out
of the package.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-01 10:16:23 -04:00
baude adbc41a3f7 podman-remote port
add the port command to the remote client.  this allows users to displa
port information about their host system from the remote client

Signed-off-by: baude <bbaude@redhat.com>
2019-05-01 09:13:18 -05:00
OpenShift Merge Robot eea77b5ae3
Merge pull request #3018 from jamescassell/auto-http-proxy
Auto http proxy
2019-05-01 14:51:55 +02:00
Christian Bewernitz 698b281495
install.md contains hints for rootless setup on arch linux
- related to issue #3030
- including pointer to new section in README.md provided by #3038

Signed-off-by: Christian Bewernitz <coder@karfau.de>
2019-05-01 14:24:56 +02:00
James Cassell 354d80626a auto pass http_proxy into container
Signed-off-by: James Cassell <code@james.cassell.me>
2019-04-30 17:29:29 -04:00
baude 0b6bb6a3d3 enable podman-remote on windows
build a podman-remote binary for windows that allows users to use the
remote client on windows and interact with podman on linux system.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-30 15:28:39 -05:00
OpenShift Merge Robot 39c937ee45
Merge pull request #3038 from mheon/update_readme_rootless
Add details on rootless Podman to the readme
2019-04-30 21:08:27 +02:00
OpenShift Merge Robot c0d3c51309
Merge pull request #3043 from mheon/sudo_tee
Use 'sudo tee' in tutorial so install works as non-root
2019-04-30 20:59:27 +02:00
OpenShift Merge Robot 8e84291643
Merge pull request #2992 from cevich/collect_audit_log
Cirrus: Collect audit log on success and failure
2019-04-30 20:41:29 +02:00