summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix the "err: cause" order of OCI runtime errorsJordan Christiansen2020-10-09
| | | | | | | | | | | | | | | | Previously, the order of OCI error messages was reversed, so that the type of error was listed as the cause. For example: Error: writing file `cpu.cfs_quota_us`: Invalid argument: OCI runtime error This error message makes it seem like "OCI runtime error" is the argument that was invalid. In fact, "OCI runtime error" is the error and "writing file ..." is the cause. With this change, the above message reads: Error: OCI runtime error: writing file `cpu.cfs_quota_us`: Invalid argument Signed-off-by: Jordan Christiansen <xordspar0@gmail.com>
* Merge pull request #7973 from jwhonce/jira/run-898-3OpenShift Merge Robot2020-10-09
|\ | | | | Port V1 --format table to V2 podman
| * Port V1 --format table to V2 podmanJhon Honce2020-10-08
| | | | | | | | | | | | | | | | * volume ls * container ps * updated broken tests when skip removed Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Merge pull request #7891 from rhatdan/rmOpenShift Merge Robot2020-10-09
|\ \ | | | | | | This PR allows users to remove external containers directly
| * | This PR allows users to remove external containers directlyDaniel J Walsh2020-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currenly if a user specifies the name or ID of an external storage container, we report an error to them. buildah from scratch working-container-2 podman rm working-container-2 Error: no container with name or ID working-container-2 found: no such container Since the user specified the correct name and the container is in storage we force them to specify --storage to remove it. This is a bad experience for the user. This change will just remove the container from storage. If the container is known by libpod, it will remove the container from libpod as well. The podman rm --storage option has been deprecated, and removed from docs. Also cleaned documented options that are not available to podman-remote. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | Merge pull request #7944 from cevich/new_get_ci_vmOpenShift Merge Robot2020-10-09
|\ \ \ | | | | | | | | Cirrus: Fix obtaining a CI VM
| * | | Cirrus: Fix obtaining a CI VMChris Evich2020-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also removed automatic exection of setup_environment.sh since most people using this script are podman developers (not automation/CI folks). If executing the automation scripts is necessary, manual attendance to required variables like `$TEST_FLAVOR` is mandatory. Signed-off-by: Chris Evich <cevich@redhat.com>
| * | | Cirrus: Fix running shellcheck locallyChris Evich2020-10-06
| | | | | | | | | | | | | | | | | | | | | | | | Also, check the contents of hack/get_ci_vm.sh Signed-off-by: Chris Evich <cevich@redhat.com>
* | | | Merge pull request #7974 from ↵OpenShift Merge Robot2020-10-09
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | andylibrian/kube-generate-support-resource-limits-7855 Add support for resource cpu limit to generate kube
| * | | | Add support for resource cpu limit to generate kubeAndy Librian2020-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #7855 Signed-off-by: Andy Librian <andylibrian@gmail.com>
* | | | | Merge pull request #7961 from alvistack/master-linux-amd64OpenShift Merge Robot2020-10-09
|\ \ \ \ \ | | | | | | | | | | | | Update nix pin with `make nixpkgs`
| * | | | | Update nix pin with `make nixpkgs`Wong Hoi Sing Edison2020-10-08
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
* | | | | | Merge pull request #7910 from EduardoVega/7567-podman-configmapsOpenShift Merge Robot2020-10-09
|\ \ \ \ \ \ | | | | | | | | | | | | | | Enable k8s configmaps as flags for play kube
| * | | | | | Enable k8s configmaps as flags for play kubeEduardo Vega2020-10-07
| | |_|/ / / | |/| | | | | | | | | | | | | | | | Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
* | | | | | Merge pull request #7971 from rhatdan/blobOpenShift Merge Robot2020-10-09
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | BlobInfoCacheDir is set incorrectly when copying images
| * | | | | BlobInfoCacheDir is set incorrectly when copying imagesDaniel J Walsh2020-10-08
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not set based on the root image directory, and always points at the defaults. This change will get it to follow filepath.Join(ir.store.GraphRoot(), "cache") set from libpod. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | | | Merge pull request #7969 from ParkerVR/format-images/diffOpenShift Merge Robot2020-10-08
|\ \ \ \ \ | | | | | | | | | | | | --format updates for images/diff.go
| * | | | | --format updates for images/diff.goParker Van Roy2020-10-08
| |/ / / / | | | | | | | | | | | | | | | Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
* | | | | Merge pull request #7966 from baude/issue7950OpenShift Merge Robot2020-10-08
|\ \ \ \ \ | | | | | | | | | | | | add compatibility endpoint for exporting multiple images
| * | | | | add compatibility endpoint for exporting multiple imagesbaude2020-10-08
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with the recent inclusion of dealing with multiple images in a tar archive, we can now add a compatibility endpoint that was missing images/get?names=one,two. Fixes: #7950 Signed-off-by: baude <bbaude@redhat.com>
* | | | | Merge pull request #7970 from mheon/fix_7830OpenShift Merge Robot2020-10-08
|\ \ \ \ \ | | | | | | | | | | | | Store cgroup manager on a per-container basis
| * | | | | Store cgroup manager on a per-container basisMatthew Heon2020-10-08
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we create a container, we assign a cgroup parent based on the current cgroup manager in use. This parent is only usable with the cgroup manager the container is created with, so if the default cgroup manager is later changed or overridden, the container will not be able to start. To solve this, store the cgroup manager that created the container in container configuration, so we can guarantee a container with a systemd cgroup parent will always be started with systemd cgroups. Unfortunately, this is very difficult to test in CI, due to the fact that we hard-code cgroup manager on all invocations of Podman in CI. Fixes #7830 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | | Merge pull request #7936 from 3sky/add-prerequisite-to-docOpenShift Merge Robot2020-10-08
|\ \ \ \ \ | | | | | | | | | | | | add prerequisite section before building binaries
| * | | | | add prerequisite section before building binaries3sky2020-10-07
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: 3sky <3sky@protonmail.com>
* | | | | | Merge pull request #7952 from baude/issue7934OpenShift Merge Robot2020-10-08
|\ \ \ \ \ \ | | | | | | | | | | | | | | APIv2 compatibility rootless network fix
| * | | | | | APIv2 compatibility rootless network fixbaude2020-10-07
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when using the compatibility mode as rootless, containers that were created were not setting their host names correctly due to the netmode not being set. Fixes: #7934 Signed-off-by: baude <bbaude@redhat.com>
* | | | | | Merge pull request #7960 from jwhonce/jira/run-898-2OpenShift Merge Robot2020-10-08
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | Restore --format 'table...' to commands
| * | | | | Restore --format 'table...' to commandsJhon Honce2020-10-08
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | * podman xyz inspect Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | | | Merge pull request #7951 from mheon/fix_7947OpenShift Merge Robot2020-10-08
|\ \ \ \ \ | |/ / / / |/| | | | Ports given only by number should have random host port
| * | | | Ports given only by number should have random host portMatthew Heon2020-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Podman 1.9.3, `podman run -p 80` would assign port 80 in the container to a random port on the host. In Podman 2.0 and up, it assigned Port 80 in the container to Port 80 on the host. This is an easy fix, fortunately - just need to remove the bit that assumed host port, if not given, should be set to container port. We also had a test for the bad behavior, so fix it to test for the correct way of doing things. Fixes #7947 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | | Merge pull request #7932 from jwhonce/jira/run-898OpenShift Merge Robot2020-10-07
|\ \ \ \ \ | | | | | | | | | | | | Restore V1 --format "table..." support
| * | | | | Port commands to V2 --format 'table...'Jhon Honce2020-10-07
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'containers mount' * 'image history' * 'images mount' * 'images search' * Correct spelling errors Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | | | Merge pull request #7382 from mheon/pod_parallelOpenShift Merge Robot2020-10-07
|\ \ \ \ \ | |_|_|_|/ |/| | | | Move pod jobs to parallel execution
| * | | | Use WaitWithDefaultTimeout in cleanupMatthew Heon2020-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that we actually print the output of all commands when cleaning up the results of the E2E tests. Signed-off-by: Matthew Heon <mheon@redhat.com>
| * | | | Move pod jobs to parallel executionMatthew Heon2020-10-07
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make Podman pod operations that do not involve starting containers (which needs to be done in a specific order) use the same parallel operation code we use to make `podman stop` on large numbers of containers fast. We were previously stopping containers in a pod serially, which could take up to the timeout (default 15 seconds) for each container - stopping 100 containers that do not respond to SIGTERM would take 25 minutes. To do this, refactor the parallel operation code a bit to remove its dependency on libpod (damn circular import restrictions...) and use parallel functions that just re-use the standard container API operations - maximizes code reuse (previously each pod handler had a separate implementation of the container function it performed). This is a bit of a palate cleanser after fighting CI for two days - nice to be able to return to a land of sanity. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | Merge pull request #7943 from baude/issue7807OpenShift Merge Robot2020-10-07
|\ \ \ \ | |_|/ / |/| | | prevent unpredictable results with network create|remove
| * | | prevent unpredictable results with network create|removebaude2020-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | due to a lack of "locking" on cni operations, we could get ourselves in trouble when doing rapid creation or removal of networks. added a simple file lock to deal with the collision and because it is not considered a performent path, use of the file lock should be ok. if proven otherwise in the future, some generic shared memory lock should be implemented for libpod and also used here. moved pkog/network to libpod/network because libpod is now being pulled into the package and it has therefore lost its generic nature. this will make it easier to absorb into libpod as we try to make the network closer to core operations. Fixes: #7807 Signed-off-by: baude <bbaude@redhat.com>
* | | | Merge pull request #7937 from rhatdan/sizeOpenShift Merge Robot2020-10-07
|\ \ \ \ | | | | | | | | | | Populate /etc/hosts file when run in a user namespace
| * | | | Populate /etc/hosts file when run in a user namespaceDaniel J Walsh2020-10-07
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do not populate the hostname field with the IP Address when running within a user namespace. Fixes https://github.com/containers/podman/issues/7490 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | | Merge pull request #7845 from rhatdan/remoteOpenShift Merge Robot2020-10-07
|\ \ \ \ | |/ / / |/| | | Attempt to turn on some more remote tests
| * | | Attempt to turn on some more remote testsDaniel J Walsh2020-10-07
|/ / / | | | | | | | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | Merge pull request #7940 from edsantiago/runner_refactorOpenShift Merge Robot2020-10-06
|\ \ \ | |/ / |/| | Cirrus CI runner: refactor
| * | Cirrus CI runner: refactorEd Santiago2020-10-06
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | While reviewing #6784 I found myself having a lot of trouble with this script: it was a complicated mix of case statement and helper functions, requiring a reader to jump back and forth between the two. This PR defines a convention such that a given TEST_FLAVOR=foo must have a corresponding _run_foo() handler function. The goal is to have all TEST_FLAVOR-related code in one place, or at least less scattered (integration and system tests still rely on other helper functions). Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Merge pull request #7918 from zhangguanzhang/apiv2-wrong-StopSignalOpenShift Merge Robot2020-10-06
|\ \ | |/ |/| [apiv2] /containers/$name/json return wrong value in `.Config.StopSignal`
| * fix apiv2 /containers/$name/json return wrong value in `.Config.StopSignal`zhangguanzhang2020-10-06
| | | | | | | | Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
* | Merge pull request #7929 from kolyshkin/nits-errOpenShift Merge Robot2020-10-06
|\ \ | | | | | | Nits
| * | pkg/cgroups/createCgroupv2Path: nitsKir Kolyshkin2020-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Check the path validity before trying to read the cgroup.controllers. 2. Do not hardcode "/sys/fs/cgroup". 3. Simplify creating the "+this +that" string. 4. Do not wrap ioutil.WriteFile error. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
| * | Lowercase some errorsKir Kolyshkin2020-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is courtesy of ``` for f in $(git ls-files *.go | grep -v ^vendor/); do \ sed -i 's/\(errors\..*\)"Error /\1"error /' $f; done for f in $(git ls-files *.go | grep -v ^vendor/); do \ sed -i 's/\(errors\..*\)"Failed to /\1"failed to /' $f; done ``` etc. Self-reviewed using `git diff --word-diff`, found no issues. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
| * | Remove excessive error wrappingKir Kolyshkin2020-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case os.Open[File], os.Mkdir[All], ioutil.ReadFile and the like fails, the error message already contains the file name and the operation that fails, so there is no need to wrap the error with something like "open %s failed". While at it - replace a few places with os.Open, ioutil.ReadAll with ioutil.ReadFile. - replace errors.Wrapf with errors.Wrap for cases where there are no %-style arguments. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
* | | Merge pull request #7931 from rhatdan/sizeOpenShift Merge Robot2020-10-06
|\ \ \ | |_|/ |/| | Support max_size logoptions