summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Update bash completion for checkpoint/restoreAdrian Reber2018-11-28
| | | | | | | This brings all the recent changes to checkpoint/restore to the bash completion. Signed-off-by: Adrian Reber <areber@redhat.com>
* Add '--tcp-established' to checkpoint/restore man pageAdrian Reber2018-11-28
| | | | Signed-off-by: Adrian Reber <areber@redhat.com>
* Added tcp-established to checkpoint/restoreAdrian Reber2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRIU can checkpoint and restore processes/containers with established TCP connections if the correct option is specified. To implement checkpoint and restore with support for established TCP connections with Podman this commit adds the necessary options to runc during checkpoint and also tells conmon during restore to use 'runc restore' with '--tcp-established'. For this Podman feature to work a corresponding conmon change is required. Example: $ podman run --tmpfs /tmp --name podman-criu-test -d docker://docker.io/yovfiatbeb/podman-criu-test $ nc `podman inspect -l | jq -r '.[0].NetworkSettings.IPAddress'` 8080 GET /examples/servlets/servlet/HelloWorldExample Connection: keep-alive 1 GET /examples/servlets/servlet/HelloWorldExample Connection: keep-alive 2 $ # Using HTTP keep-alive multiple requests are send to the server in the container $ # Different terminal: $ podman container checkpoint -l criu failed: type NOTIFY errno 0 $ # Looking at the log file would show errors because of established TCP connections $ podman container checkpoint -l --tcp-established $ # This works now and after the restore the same connection as above can be used for requests $ podman container restore -l --tcp-established The restore would fail without '--tcp-established' as the checkpoint image contains established TCP connections. Signed-off-by: Adrian Reber <areber@redhat.com>
* Remove unused CRIU_COMMIT variableAdrian Reber2018-11-28
| | | | Signed-off-by: Adrian Reber <areber@redhat.com>
* Point CRIU_COMMIT to CRIU release 3.11Adrian Reber2018-11-28
| | | | | | The old commit points to the development branch and is not stable. Signed-off-by: Adrian Reber <areber@redhat.com>
* Updated CRIO_COMMIT to pull in new conmon for CRIUAdrian Reber2018-11-28
| | | | Signed-off-by: Adrian Reber <areber@redhat.com>
* Use also a struct to pass options to Restore()Adrian Reber2018-11-28
| | | | | | | | | | | | | This is basically the same change as ff47a4c2d5485fc49f937f3ce0c4e2fd6bdb1956 (Use a struct to pass options to Checkpoint()) just for the Restore() function. It is used to pass multiple restore options to the API and down to conmon which is used to restore containers. This is for the upcoming changes to support checkpointing and restoring containers with '--tcp-established'. Signed-off-by: Adrian Reber <areber@redhat.com>
* Merge pull request #1878 from giuseppe/fix-static-ip-testOpenShift Merge Robot2018-11-27
|\ | | | | test: cleanup CNI network used by the tests
| * test: cleanup CNI network used by the testsGiuseppe Scrivano2018-11-27
|/ | | | | | | | issue introduced with: https://github.com/containers/libpod/pull/1871 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Merge pull request #1874 from ypu/mount-testOpenShift Merge Robot2018-11-27
|\ | | | | Improve podman run --mount test
| * Remove mount options relatime from podman run --mount with sharedYiqiao Pu2018-11-27
| | | | | | | | | | | | | | In some test env, mount with shared options is not included relatime in the mountinfo file. So remove this from the test case. Signed-off-by: Yiqiao Pu <ypu@redhat.com>
| * Update test case name to podman run with --mount flagYiqiao Pu2018-11-27
| | | | | | | | | | | | | | Update the test case name to make it easier to filter --mount related test cases with -ginkgo.focus. Signed-off-by: Yiqiao Pu <ypu@redhat.com>
* | Merge pull request #1863 from afbjorklund/podman_versionOpenShift Merge Robot2018-11-27
|\ \ | | | | | | Actually set version for podman module / pypodman
| * | Actually set version for podman module / pypodmanAnders F Björklund2018-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The environment variable wasn't set, giving 0.0.0 It is a still a problem if you use python3 to build, rather than make. You *need* to set $PODMAN_VERSION, or your module and packages won't have the version. Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
* | | Merge pull request #1832 from giuseppe/always-make-explicit-tty-to-execOpenShift Merge Robot2018-11-27
|\ \ \ | | | | | | | | exec: always make explicit the tty value
| * | | exec: always make explicit the tty valueGiuseppe Scrivano2018-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise runc will take by default the value used for creating the container. Setting it explicit overrides its default value and we won't end up trying to use a terminal when not available. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1625876 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #1871 from ypu/ip-testOpenShift Merge Robot2018-11-27
|\ \ \ \ | | | | | | | | | | Add some tests for --ip flag with run and create command
| * | | | Add some tests for --ip flag with run and create commandYiqiao Pu2018-11-27
| | |_|/ | |/| | | | | | | | | | Signed-off-by: Yiqiao Pu <ypu@redhat.com>
* | | | Merge pull request #1850 from vrothberg/mount-propagationOpenShift Merge Robot2018-11-27
|\ \ \ \ | | | | | | | | | | set root propagation based on volume properties
| * | | | set root propagation based on volume propertiesValentin Rothberg2018-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the root propagation based on the properties of volumes and default mounts. To remain compatibility, follow the semantics of Docker. If a volume is shared, keep the root propagation shared which works for slave and private volumes too. For slave volumes, it can either be shared or rshared. Do not change the root propagation for private volumes and stick with the default. Fixes: #1834 Signed-off-by: Valentin Rothberg <vrothberg@suse.com>
* | | | | Merge pull request #1734 from rhatdan/networkOpenShift Merge Robot2018-11-27
|\ \ \ \ \ | |_|/ / / |/| | | | libpod should know if the network is disabled
| * | | | libpod should know if the network is disabledDaniel J Walsh2018-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /etc/resolv.conf and /etc/hosts should not be created and mounted when the network is disabled. We should not be calling the network setup and cleanup functions when it is disabled either. In doing this patch, I found that all of the bind mounts were particular to Linux along with the generate functions, so I moved them to container_internal_linux.go Since we are checking if we are using a network namespace, we need to check after the network namespaces has been created in the spec. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | | | Merge pull request #1868 from QiWang19/issue860OpenShift Merge Robot2018-11-26
|\ \ \ \ \ | | | | | | | | | | | | Add history field to image inspect
| * | | | | Add history and namespaceoptions to image inspectQi Wang2018-11-26
| | |/ / / | |/| | | | | | | | | | | | | Signed-off-by: Qi Wang <qiwan@redhat.com>
* | | | | Merge pull request #1838 from umohnani8/vendorOpenShift Merge Robot2018-11-26
|\ \ \ \ \ | | | | | | | | | | | | Vendor in latest containers/buildah
| * | | | | Vendor in latest containers/buildahUrvashi Mohnani2018-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pulls in fix for COPY --from when using --layers Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
* | | | | | Merge pull request #1865 from baude/existsOpenShift Merge Robot2018-11-26
|\ \ \ \ \ \ | | | | | | | | | | | | | | add podman container|image exists
| * | | | | | add podman container|image existsbaude2018-11-26
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an exists subcommand to podman container and podman image that allows users to verify the existence of a container or image by ID or name. The return code can be 0 (success), 1 (failed to find), or 125 (failed to work with runtime). Issue #1845 Signed-off-by: baude <bbaude@redhat.com>
* | | | | | Merge pull request #1860 from TomasTomecek/version-add-formatOpenShift Merge Robot2018-11-25
|\ \ \ \ \ \ | | | | | | | | | | | | | | implement --format for version command
| * | | | | | implement --format for version commandTomas Tomecek2018-11-25
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
* | | | | | Merge pull request #1862 from elimisteve/patch-1OpenShift Merge Robot2018-11-25
|\ \ \ \ \ \ | |/ / / / / |/| | | | | podman_tutorial.md typo: arguement -> argument
| * | | | | podman_tutorial.md typos: arguement -> argument; missing 'a'Steve Phillips2018-11-24
|/ / / / / | | | | | | | | | | | | | | | Signed-off-by: Steve Phillips <steve@tryingtobeawesome.com>
* | | | | Merge pull request #1858 from adrianreber/paprOpenShift Merge Robot2018-11-23
|\ \ \ \ \ | |_|/ / / |/| | | | Load NAT modules to fix tests involving CRIU
| * | | | Load NAT modules to fix tests involving CRIUAdrian Reber2018-11-23
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRIU uses iptables to lock and unlock the network during checkpoint and restore. If Podman is running in Podman the automatic loading of modules does not work and thus this commit pre-loads the necessary modules to make sure the checkpoint test cases are not failing. Signed-off-by: Adrian Reber <areber@redhat.com>
* | | | Merge pull request #1835 from adrianreber/masterOpenShift Merge Robot2018-11-21
|\ \ \ \ | | | | | | | | | | Added option to keep container running after checkpointing
| * | | | Update checkpoint/restore man pagesAdrian Reber2018-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the '--leave-running, -R' to the container-checkpoint man page. As the information for '--all, -a' and '--latest, -l' was also still missing it is included in this commit. Signed-off-by: Adrian Reber <areber@redhat.com>
| * | | | Added option to keep containers running after checkpointingAdrian Reber2018-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRIU supports to leave processes running after checkpointing: -R|--leave-running leave tasks in running state after checkpoint runc also support to leave containers running after checkpointing: --leave-running leave the process running after checkpointing With this commit the support to leave a container running after checkpointing is brought to Podman: --leave-running, -R leave the container running after writing checkpoint to disk Now it is possible to checkpoint a container at some point in time without stopping the container. This can be used to rollback the container to an early state: $ podman run --tmpfs /tmp --name podman-criu-test -d docker://docker.io/yovfiatbeb/podman-criu-test $ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample 3 $ podman container checkpoint -R -l $ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample 4 $ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample 5 $ podman stop -l $ podman container restore -l $ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample 4 So after checkpointing the container kept running and was stopped after some time. Restoring this container will restore the state right at the checkpoint. Signed-off-by: Adrian Reber <areber@redhat.com>
| * | | | Use a struct to pass options to Checkpoint()Adrian Reber2018-11-20
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For upcoming changes to the Checkpoint() functions this commit switches checkpoint options from a boolean to a struct, so that additional options can be passed easily to Checkpoint() without changing the function parameters all the time. Signed-off-by: Adrian Reber <areber@redhat.com>
* | | | Merge pull request #1810 from baude/inspectToKubeOpenShift Merge Robot2018-11-20
|\ \ \ \ | |_|/ / |/| | | generate kubernetes YAML from a libpod container
| * | | output libpod container to kubernetes yamlbaude2018-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scope out new kube subcommand where we can add generate. you can now generate kubernetes YAML that will allow you to run the container in a kubernetes environment. When The YAML description will always "wrap" a container in a simple v1.Pod description. Tests and further documentation will be added in additional PRs. This function should be considered very much "under heavy development" at this point. Signed-off-by: baude <bbaude@redhat.com>
* | | | Merge pull request #1829 from baude/enableportbindinginpodsOpenShift Merge Robot2018-11-20
|\ \ \ \ | | | | | | | | | | Allow users to expose ports from the pod to the host
| * | | | Allow users to expose ports from the pod to the hostbaude2018-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we need to allow users to expose ports to the host for the purposes of networking, like a webserver. the port exposure must be done at the time the pod is created. strictly speaking, the port exposure occurs on the infra container. Signed-off-by: baude <bbaude@redhat.com>
* | | | | Merge pull request #1831 from jwhonce/wip/cmdOpenShift Merge Robot2018-11-20
|\ \ \ \ \ | |_|_|/ / |/| | | | Improve speed of containers.list()
| * | | | Improve speed of containers.list()Jhon Honce2018-11-19
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Clean up code in containers.py * Pass pylint tests * Pass tox tests Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | | Merge pull request #1824 from afbjorklund/pypodman_userOpenShift Merge Robot2018-11-19
|\ \ \ \ | | | | | | | | | | pypodman: Don't use $HOST and $USER variables for remote
| * | | | Don't use $HOST and $USER variables for remoteAnders F Björklund2018-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, don't use $PORT. These are too generic. Make sure to read $LOGNAME _after_ the config. Prefix all the remote variables with PODMAN_ Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
* | | | | Merge pull request #1806 from giuseppe/rootless-create-default-filesOpenShift Merge Robot2018-11-19
|\ \ \ \ \ | |_|/ / / |/| | | | rootless: create user conf files when they don't exist
| * | | | rootless: create empty mounts.conf if it doesn't existGiuseppe Scrivano2018-11-19
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | | | registries: check user registries file only in rootless modeGiuseppe Scrivano2018-11-19
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | | | rootless: create storage.conf when it doesn't existGiuseppe Scrivano2018-11-19
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>