summaryrefslogtreecommitdiff
path: root/libpod
Commit message (Collapse)AuthorAge
* Merge pull request #3332 from rhatdan/cgroupmanagerOpenShift Merge Robot2019-06-25
|\ | | | | Correctly identify the defaults for cgroup-manager
| * Correctly identify the defaults for cgroup-managerDaniel J Walsh2019-06-15
| | | | | | | | | | | | | | | | | | | | | | Currently we report cgroupmanager default as systemd, even if the user modified the libpod.conf. Also cgroupmanager does not work in rootless mode. This PR correctly identifies the default cgroup manager or reports it is not supported. Also add homeDir to correctly get the homedir if the $HOME is not set. Will attempt to get Homedir out of /etc/passwd. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Merge pull request #3401 from mheon/templating_is_dumbOpenShift Merge Robot2019-06-25
|\ \ | | | | | | Fix inspect --format '{{.Mounts}}.
| * | Fix gofmtMatthew Heon2019-06-21
| | | | | | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
| * | Adjust names to match struct tags in InspectMatthew Heon2019-06-21
| | | | | | | | | | | | | | | | | | | | | | | | In Go templating, we use the names of fields, not the JSON struct tags. To ensure templating works are expected, we need the two to match. Signed-off-by: Matthew Heon <mheon@redhat.com>
| * | Fix inspect --format '{{.Mounts}}.Matthew Heon2019-06-21
| | | | | | | | | | | | | | | | | | | | | | | | Go templating is incapable of dealing with pointers, so when we moved to Docker compatible mounts JSON, we broke it. The solution is to not use pointers in this part of inspect. Signed-off-by: Matthew Heon <mheon@redhat.com>
* | | Merge pull request #3412 from mheon/fix_ps_sync_segfaultOpenShift Merge Robot2019-06-24
|\ \ \ | | | | | | | | Fix a segfault in 'podman ps --sync'
| * | | Fix a segfault in 'podman ps --sync'Matthew Heon2019-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We weren't properly populating the container's OCI Runtime in Batch(), causing segfaults on attempting to access it. Add a test to make sure we actually catch cases like this in the future. Fixes #3411 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | rootless: add an entry to /etc/hosts when using slirp4netnsGiuseppe Scrivano2019-06-24
|/ / / | | | | | | | | | | | | | | | Closes: https://github.com/containers/libpod/issues/3405 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Merge pull request #3399 from astronouth7303/patch-1OpenShift Merge Robot2019-06-22
|\ \ \ | | | | | | | | Add /usr/local/{s,}bin to conmon paths
| * | | runtime.go: Add /usr/local/{s,}binJamie Bliss2019-06-21
| |/ / | | | | | | | | | Signed-off-by: Jamie Bliss <jamie@ivyleav.es>
* / / Add additional debugging when refreshing locksMatthew Heon2019-06-21
|/ / | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* | Merge pull request #3378 from mheon/multiple_runtimesOpenShift Merge Robot2019-06-21
|\ \ | | | | | | Begin adding support for multiple OCI runtimes
| * | Properly initialize container OCI runtimeMatthew Heon2019-06-20
| | | | | | | | | | | | | | | | | | | | | Use name of the default runtime, instead of the OCIRuntime config option, which may include a full path. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | Handle containers whose OCIRuntime fields are pathsMatthew Heon2019-06-20
| | | | | | | | | | | | | | | | | | | | | Try and locate the right runtime by using the basename of the path. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | Properly handle OCI runtime being set to a pathMatthew Heon2019-06-20
| | | | | | | | | | | | | | | | | | This is done by the --runtime flag, and as such, by all our CI. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | Print container's OCI runtime in `inspect`Matthew Heon2019-06-19
| | | | | | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | Make a missing OCI runtime nonfatalMatthew Heon2019-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may want to ship configurations including more than one runtime configuration - for example, crun and runc and kata, all configured. However, we don't want to make these extra runtimes hard requirements, so let's not fatally error when we can't find their executables. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | Begin adding support for multiple OCI runtimesMatthew Heon2019-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow Podman containers to request to use a specific OCI runtime if multiple runtimes are configured. This is the first step to properly supporting containers in a multi-runtime environment. The biggest changes are that all OCI runtimes are now initialized when Podman creates its runtime, and containers now use the runtime requested in their configuration (instead of always the default runtime). Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Build cgo files with -Wall -WerrorSascha Grunert2019-06-21
| | | | | | | | | | | | | | | | | | | | | | | | To avoid unnecessary warnings and errors in the future I'd like to propose building all cgo related sources with `-Wall -Werror`. This commit fixes some warnings which came up in `shm_lock.c`, too. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
* | | Make configuration validation not require a DB commitMatthew Heon2019-06-20
| | | | | | | | | | | | | | | | | | | | | If there are missing fields, we still require a commit, but that should not happen often. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Avoid a read-write transaction on DB initMatthew Heon2019-06-20
| | | | | | | | | | | | | | | | | | | | | | | | Instead, use a less expensive read-only transaction to see if the DB is ready for use (it probably is), and only fire the expensive RW transaction if absolutely necessary. Signed-off-by: Matthew Heon <mheon@redhat.com>
* | | Spoof json-file logging supportPeter Hunt2019-06-19
| | | | | | | | | | | | | | | | | | For docker scripting compatibility, allow for json-file logging when creating args for conmon. That way, when json-file is supported, that case can be easily removed. Signed-off-by: Peter Hunt <pehunt@redhat.com>
* | | Merge pull request #3358 from mheon/use_disk_specOpenShift Merge Robot2019-06-18
|\ \ \ | |/ / |/| | Swap to using the on-disk spec for inspect mounts
| * | Swap to using the on-disk spec for inspect mountsMatthew Heon2019-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When available, using the on-disk spec will show full mount options in use when the container is running, which can differ from mount options provided in the original spec - on generating the final spec, for example, we ensure that some form of root propagation is set. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Merge pull request #3352 from mheon/inspect_config_to_libpodOpenShift Merge Robot2019-06-18
|\ \ \ | |/ / |/| | Move the Config portion of Inspect into libpod
| * | Move the Config portion of Inspect into libpodMatthew Heon2019-06-17
| | | | | | | | | | | | | | | | | | | | | | | | While we're at it, rewrite how we populate it. There were several potential segfaults in the optional spec.Process block, and a few fields not being populated correctly versus 'docker inspect'. Signed-off-by: Matthew Heon <mheon@redhat.com>
* | | Merge pull request #3257 from weirdwiz/loadOpenShift Merge Robot2019-06-17
|\ \ \ | | | | | | | | Add warning while untagging an image podman-load
| * | | Add warning while untagging an image podman-loadDivyansh Kamboj2019-06-04
| | | | | | | | | | | | | | | | Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
* | | | Merge pull request #3297 from rhatdan/systemdOpenShift Merge Robot2019-06-17
|\ \ \ \ | |_|/ / |/| | | Accidently removed /run/lock from systemd mounts
| * | | Accidently removed /run/lock from systemd mountsDaniel J Walsh2019-06-11
| | | | | | | | | | | | | | | | | | | | | | | | This is blowing up systemd containers on Ubuntu. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | | Merge pull request #3348 from vrothberg/kill-errorOpenShift Merge Robot2019-06-17
|\ \ \ \ | |_|_|/ |/| | | kill: print ID and state for non-running containers
| * | | stop/kill: inproper state errors: s/in state/is in state/Valentin Rothberg2019-06-17
| | | | | | | | | | | | | | | | Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
| * | | kill: print ID and state for non-running containersValentin Rothberg2019-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend kill's error message to include the container's ID and state. This address cases where error messages caused by other containers may confuse users. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | | | Remove unnecessary var type to fix lint warningLawrence Chan2019-06-14
| | | | | | | | | | | | | | | | Signed-off-by: Lawrence Chan <element103@gmail.com>
* | | | Move installPrefix and etcDir into runtime.goLawrence Chan2019-06-14
| | | | | | | | | | | | | | | | Signed-off-by: Lawrence Chan <element103@gmail.com>
* | | | Improve DESTDIR/PREFIX/ETCDIR handlingLawrence Chan2019-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - PREFIX is now passed saved in the binary at build-time so that default paths match installation paths. - ETCDIR is also overridable in a similar way. - DESTDIR is now applied on top of PREFIX for install/uninstall steps. Previously, a DESTDIR=/foo PREFIX=/bar make would install into /bar, rather than /foo/bar. Signed-off-by: Lawrence Chan <element103@gmail.com>
* | | | Add --storage flag to 'podman rm' (local only)Matthew Heon2019-06-13
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This flag switches to removing containers directly from c/storage and is mostly used to remove orphan containers. It's a superior solution to our former one, which attempted removal from storage under certain circumstances and could, under some conditions, not trigger. Also contains the beginning of support for storage in `ps` but wiring that in is going to be a much bigger pain. Fixes #3329. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Merge pull request #3312 from mheon/podman_inspect_fixes_contOpenShift Merge Robot2019-06-13
|\ \ \ | | | | | | | | Further fixes for podman inspect
| * | | Split mount options in inspect furtherMatthew Heon2019-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Docker only uses Mode for :z/:Z, so move other options out into a new field. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | | Make Inspect's mounts struct accurate to DockerMatthew Heon2019-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were formerly dumping spec.Mount structs, with no care as to whether it was user-generated or not - a relic of the very early days when we didn't know whether a user made a mount or not. Now that we do, match our output to Docker's dedicated mount struct. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
| * | | Provide OCI spec path in `podman inspect` outputMatthew Heon2019-06-12
| |/ / | | | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Merge pull request #3319 from mheon/purge_easyjsonOpenShift Merge Robot2019-06-13
|\ \ \ | | | | | | | | Purge all use of easyjson and ffjson in libpod
| * | | Purge all use of easyjson and ffjson in libpodMatthew Heon2019-06-13
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | We're no longer using either of these JSON libraries, dropped them in favor of jsoniter. We can't completely remove ffjson as c/storage uses it and can't easily migrate, but we can make sure that libpod itself isn't doing anything with them anymore. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | oci: allow to specify what runtimes support JSONGiuseppe Scrivano2019-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | add a new configuration `runtime_supports_json` to list what OCI runtimes support the --log-format=json option. If the runtime is not listed here, libpod will redirect stdout/stderr from the runtime process. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | oci: use json formatted errors from the runtimeGiuseppe Scrivano2019-06-13
| | | | | | | | | | | | | | | | | | | | | request json formatted error messages from the OCI runtime so that we can nicely print them. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Merge pull request #3305 from giuseppe/slirp-dns-firstOpenShift Merge Robot2019-06-12
|\ \ \ | | | | | | | | rootless: use the slirp4netns builtin DNS first
| * | | rootless: use the slirp4netns builtin DNS firstGiuseppe Scrivano2019-06-12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | When using slirp4netns, be sure the built-in DNS server is the first one to be used. Closes: https://github.com/containers/libpod/issues/3277 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* / / If container is not in correct state podman exec should exit with 126Daniel J Walsh2019-06-12
|/ / | | | | | | | | | | | | | | | | | | | | | | This way a tool can determine if the container exists or not, but is in the wrong state. Since 126 is documeted as: **_126_** if the **_contained command_** cannot be invoked It makes sense that the container would exit with this state. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Merge pull request #3240 from rhatdan/storageoptsOpenShift Merge Robot2019-06-10
|\ \ | | | | | | When you change the storage driver we ignore the storage-options