summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Do not initialize locks dir in BoltDBMatthew Heon2018-12-02
| | | | | | | We already create the locks directory as part of the libpod runtime's init - no need to do it again as part of BoltDB's init. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Move rootless storage config into libpodMatthew Heon2018-12-02
| | | | | | | | | | | | | | Previous commits ensured that we would use database-configured paths if not explicitly overridden. However, our runtime generation did unconditionally override storage config, which made this useless. Move rootless storage configuration setup to libpod, and change storage setup so we only override if a setting is explicitly set, so we can still override what we want. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Set default paths from DB if not explicitly overriddenMatthew Heon2018-12-02
| | | | | | | | | | | If the DB contains default paths, and the user has not explicitly overridden them, use the paths in the DB over our own defaults. The DB validates these paths, so it would error and prevent operation if they did not match. As such, instead of erroring, we can use the DB's paths instead of our own. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Add a struct indicating if some Runtime fields were setMatthew Heon2018-12-02
| | | | | | | | | | | | | | | | To configure runtime fields from the database, we need to know whether they were explicitly overwritten by the user (we don't want to overwrite anything that was explicitly set). Store a struct containing whether the variables we'll grab from the DB were explicitly set by the user so we know what we can and can't overwrite. This determines whether libpod runtime and static dirs were set via config file in a horribly hackish way (double TOML decode), but I can't think of a better way, and it shouldn't be that expensive as the libpod config is tiny. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Make DB config validation an explicit stepMatthew Heon2018-12-02
| | | | | | | | | | Previously, we implicitly validated runtime configuration against what was stored in the database as part of database init. Make this an explicit step, so we can call it after the database has been initialized. This will allow us to retrieve paths from the database and use them to overwrite our defaults if they differ. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Move DB configuration up in runtime setupMatthew Heon2018-12-02
| | | | | | | When we configure a runtime, we now will need to hit the DB early on, so we can verify the paths we're going to use for c/storage are correct. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Add ability to retrieve runtime configuration from DBMatthew Heon2018-12-02
| | | | | | | | | | When we create a Libpod database, we store a number of runtime configuration fields in it. If we can retrieve those, we can use them to configure the runtime to match the DB instead of inbuilt defaults, helping to ensure that we don't error in cases where our compiled-in defaults changed. Signed-off-by: Matthew Heon <mheon@redhat.com>
* Merge pull request #1903 from giuseppe/fix-rootless-testsOpenShift Merge Robot2018-12-01
|\ | | | | tests: fix rootless tests on Ubuntu
| * tests: always install runc on UbuntuGiuseppe Scrivano2018-12-01
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * cirrus: update ubuntu imageGiuseppe Scrivano2018-11-30
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * cirrus: make apt noninteractiveGiuseppe Scrivano2018-11-30
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * Dockerfile, .cirrus.yml: update runc commitGiuseppe Scrivano2018-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we need to inherit this change from runc. commit 869add33186caff4a22e3e11a7472a2d48d77889: rootless: fix running with /proc/self/setgroups set to deny This is a regression from 06f789cf26774dd64cb2a9cc0b3c6a6ff832733b when the user namespace was configured without a privileged helper. To allow a single mapping in an user namespace, it is necessary to set /proc/self/setgroups to "deny". For a simple reproducer, the user namespace can be created with "unshare -r". Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * rootless: propagate XDG_RUNTIME_DIR to the OCI runtimeGiuseppe Scrivano2018-11-30
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * Update ubuntu VM image w/ newer runcChris Evich2018-11-30
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #1896 from ypu/mount-create-testOpenShift Merge Robot2018-11-30
|\ | | | | Add create test with --mount flag
| * Add create test with --mount flagYiqiao Pu2018-11-29
| | | | | | | | Signed-off-by: Yiqiao Pu <ypu@redhat.com>
* | Merge pull request #1886 from edsantiago/pypod_run_argsOpenShift Merge Robot2018-11-30
|\ \ | | | | | | pypod run: ignore args intended for container command
| * | pypod create/run: ignore args for container commandEd Santiago2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't try to argparse command-line arguments on the right-hand side of the image; those are intended for the container command: pypodman create fedora ls -l pypodman run fedora find / -name foo pypodman run fedora bash -c 'echo hi' If/when `pypodman exec` gets implemented, it should use this too. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | Merge pull request #1317 from rhatdan/privilegedOpenShift Merge Robot2018-11-30
|\ \ \ | | | | | | | | Disable mount options when running --privileged
| * | | Disable mount options when running --privilegedDaniel J Walsh2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now default to setting storage options to "nodev", when running privileged containers, we need to turn this off so the processes can manipulate the image. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
| * | | Vendor in latest containers/storageDaniel J Walsh2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | This allows us to modify the containers mount option on a per/container basis Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | | Merge pull request #1777 from rhatdan/shmOpenShift Merge Robot2018-11-30
|\ \ \ \ | | | | | | | | | | /dev/shm should be mounted even in rootless mode.
| * | | | /dev/shm should be mounted even in rootless mode.Daniel J Walsh2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we are mounting /dev/shm from disk, it should be from a tmpfs. User Namespace supports tmpfs mounts for nonroot users, so this section of code should work fine in bother root and rootless mode. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | | | Merge pull request #1906 from baude/addpspOpenShift Merge Robot2018-11-30
|\ \ \ \ \ | |_|_|_|/ |/| | | | add pod short option to ps
| * | | | add pod short option to psbaude2018-11-30
|/ / / / | | | | | | | | | | | | | | | | | | | | podman ps has a flag --pod; simply adding a short option of -p Signed-off-by: baude <bbaude@redhat.com>
* | | | Merge pull request #1890 from baude/disablecheckpointtestsOpenShift Merge Robot2018-11-28
|\ \ \ \ | | | | | | | | | | disable checkpoint tests on f29
| * | | | disable checkpoint tests on f29baude2018-11-28
| | |_|/ | |/| | | | | | | | | | | | | | | | | | temporarily disabling checkpoint tests on f29 as they don't currently pass. Signed-off-by: baude <bbaude@redhat.com>
* | | | Merge pull request #1714 from giuseppe/fix-rootless-testsOpenShift Merge Robot2018-11-28
|\ \ \ \ | | | | | | | | | | tests: fix rootless tests with an updated runc
| * | | | test, rootless: specify USER env variableGiuseppe Scrivano2018-11-28
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | | | Revert "downgrade runc due a rootless bug"Giuseppe Scrivano2018-11-28
| | |/ / | |/| | | | | | | | | | | | | | | | | | This reverts commit 803efd4d380f091c85cd45e0b3c35cf6333d47b7. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #1852 from rhatdan/completionsOpenShift Merge Robot2018-11-28
|\ \ \ \ | |/ / / |/| | | Cleaning up completions.
| * | | Fix completions to work with podman run commandDaniel J Walsh2018-11-28
| |/ / | | | | | | | | | | | | | | | | | | Also add missing --help and -h and add some consistency to the usage of boolean_options. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | Merge pull request #1888 from baude/hidekubeOpenShift Merge Robot2018-11-28
|\ \ \ | |/ / |/| | hide kube command for now
| * | hide kube command for nowbaude2018-11-28
|/ / | | | | | | | | | | | | until the kube commands are ironed out, we dont want it drawing attention in any release Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #1851 from jwhonce/wip/cmdOpenShift Merge Robot2018-11-28
|\ \ | | | | | | Add support for --all in pypodman ps command
| * | Add support for --all in pypodman ps commandJhon Honce2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | * Updated field widths to match changes in go code Fixes #1654 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | Merge pull request #1798 from giuseppe/fix-notify-socketOpenShift Merge Robot2018-11-28
|\ \ \ | | | | | | | | systemd: fix NOTIFY_SOCKET with patched runc
| * | | tests: fix NOTIFY_SOCKET testGiuseppe Scrivano2018-11-28
| | | | | | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | | oci: propagate NOTIFY_SOCKET on runtime startGiuseppe Scrivano2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with https://github.com/opencontainers/runc/pull/1807 we moved the systemd notify initialization from "create" to "start", so that the OCI runtime doesn't hang while waiting on reading from the notify socket. This means we also need to set the correct NOTIFY_SOCKET when start'ing the container. Closes: https://github.com/containers/libpod/issues/746 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | | test: fix test for NOTIFY_SOCKETGiuseppe Scrivano2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | do not make any assumption on the path inside of the container. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #1885 from edsantiago/split_token_noneOpenShift Merge Robot2018-11-28
|\ \ \ \ | | | | | | | | | | _split_token(): handle None
| * | | | _split_token(): handle NoneEd Santiago2018-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conditional + list comprehension in images.py:_split_token() wasn't quite working as intended; in particular, when fed None, it chokes with TypeError: 'NoneType' object is not iterable This is the correct behavior: comprehensions iterate first, then apply the conditional. Solution: special-case None, and remove the now-unnecessary conditional. Context: seen when trying 'pypodman run' against docker.io/stackbrew/centos:7, which has no .ContainerConfig.Eng Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | | | Merge pull request #1881 from jwhonce/bug/1867OpenShift Merge Robot2018-11-28
|\ \ \ \ \ | | | | | | | | | | | | Fixes #1867
| * | | | | Fixes #1867Jhon Honce2018-11-28
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | * Some items included in the CLI and currently not supported by the API. Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | | | Merge pull request #1880 from baude/f29fixesOpenShift Merge Robot2018-11-28
|\ \ \ \ \ | | | | | | | | | | | | Fix golang formatting issues
| * | | | | Fix golang formatting issuesbaude2018-11-28
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Whe running unittests on newer golang versions, we observe failures with some formatting types when no declared correctly. Signed-off-by: baude <bbaude@redhat.com>
* | | | | Merge pull request #1846 from cgwalters/netns-dns-localhostOpenShift Merge Robot2018-11-28
|\ \ \ \ \ | |_|/ / / |/| | | | Use host's resolv.conf if no network namespace enabled
| * | | | Use host's resolv.conf if no network namespace enabledColin Walters2018-11-27
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My host system runs Fedora Silverblue 29 and I have NetworkManager's `dns=dnsmasq` setting enabled, so my `/etc/resolv.conf` only has `127.0.0.1`. I also run my development podman containers with `--net=host` for various reasons. If we have a host network namespace, there's no reason not to just use the host's nameserver configuration either. This fixes e.g. accessing content on a VPN, and is also faster since the container is using cached DNS. I know this doesn't solve the bigger picture issue of localhost-DNS conflicting with bridged networking, but that's far more involved, probably requiring a DNS proxy in the container. This patch makes my workflow a lot nicer and was easy to write. Signed-off-by: Colin Walters <walters@verbum.org>
* | | | Merge pull request #1879 from mheon/stop_stopped_is_validOpenShift Merge Robot2018-11-28
|\ \ \ \ | |_|/ / |/| | | Stopping a stopped container is not an error for Podman
| * | | Add test to ensure stopping a stopped container worksMatthew Heon2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We regressed on this at some point. Adding a new test should help ensure that doesn't happen again. Signed-off-by: Matthew Heon <matthew.heon@gmail.com>