summaryrefslogtreecommitdiff
path: root/cmd/podman
Commit message (Collapse)AuthorAge
* Handle images which contain no layersNalin Dahyabhai2019-06-26
| | | | | | | This fixes some of our handling of images which have no layers, i.e., those whose TopLayer is set to an empty value. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
* Merge pull request #3374 from giuseppe/cgroupsOpenShift Merge Robot2019-06-26
|\ | | | | cgroups: add initial support for cgroups v2
| * util: drop IsCgroup2UnifiedMode and use it from cgroupsGiuseppe Scrivano2019-06-26
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Merge pull request #3435 from mheon/fix_tmpfs_optionsOpenShift Merge Robot2019-06-26
|\ \ | |/ |/| Fix parsing of the --tmpfs option
| * Fix parsing of the --tmpfs optionMatthew Heon2019-06-25
| | | | | | | | | | | | | | | | | | With StringSlice, we're seeing individual options added and parsed separately, so `tmpfs:nosuid,nodev` turns into three tmpfs mounts passed into pkg/sec (tmpfs:, nosuid, nodev). Swap to StringArray to tell cobra this can't be split on commas. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | Merge pull request #3419 from baude/removelibpodfrommainphase1OpenShift Merge Robot2019-06-26
|\ \ | |/ |/| remove libpod from main
| * remove libpod from mainbaude2019-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | the compilation demands of having libpod in main is a burden for the remote client compilations. to combat this, we should move the use of libpod structs, vars, constants, and functions into the adapter code where it will only be compiled by the local client. this should result in cleaner code organization and smaller binaries. it should also help if we ever need to compile the remote client on non-Linux operating systems natively (not cross-compiled). Signed-off-by: baude <bbaude@redhat.com>
* | 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}}.
| * | | Support aliases for .Src and .Dst in inspect .MountsMatthew Heon2019-06-24
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | This provides backwards compatability with 1.4.0-1.4.2 releases which name .Source and .Destination as .Src and .Dst - useful for not breaking toolbox. Also add a test. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Merge pull request #3391 from QiWang19/cp_fileOpenShift Merge Robot2019-06-24
|\ \ \ | |/ / |/| | fix bug creats directory copying file
| * | fix bug creats directory copying fileQi Wang2019-06-20
| | | | | | | | | | | | | | | | | | close #3384 Signed-off-by: Qi Wang <qiwan@redhat.com>
* | | Add --latest, -l to 'podman diff'Adrian Reber2019-06-21
|/ / | | | | | | | | | | | | | | The man page of 'podman diff' claims that the diff sub-command knows about --latest, -l. This adds support, as described in the man-page, to the diff sub-command for --latest, -l. Signed-off-by: Adrian Reber <areber@redhat.com>
* | Merge pull request #3366 from edsantiago/test_typo_fixesOpenShift Merge Robot2019-06-19
|\ \ | | | | | | fix broken healthcheck tests
| * | fix broken healthcheck testsEd Santiago2019-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Four of the healthcheck tests were completely broken. They were written with the option '--healthcheck-cmd' which is not an option (it should be '--healthcheck-command', with 'command' as a full word). The tests were merely checking exit code, not error message, so of course they failed. I have fixed the command line and added checks for the expected diagnostic. (Side note: do not write tests that check exit code but nothing else. This should not need to be said). One of the four tests was invalid: --healthcheck-interval 0.5s. Per Brent: initially i was going to restrict sub one-second intervals That test has been removed. It would probably be a good idea for a future PR to add some validation such as preventing negative values, but that's left as an exercise for later. Also: grammar fix in an error message. Caught by my ginkgo log greasemonkey script, which highlights 'Error' messages and grabbed my attention. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | Merge pull request #3364 from jwhonce/wip/logrusOpenShift Merge Robot2019-06-19
|\ \ \ | | | | | | | | Vendor in logrus v1.4.2
| * | | Vendor in logrus v1.4.2Jhon Honce2019-06-18
| |/ / | | | | | | | | | | | | | | | Fixes #3346 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | 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>
* | cmd, docs, test: fix some typosGiuseppe Scrivano2019-06-18
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Merge pull request #3338 from jwhonce/issue/3299OpenShift Merge Robot2019-06-18
|\ \ | | | | | | Add remote client log to file
| * | Add remote client logging to a fileJhon Honce2019-06-17
| |/ | | | | | | | | | | | | | | | | | | Logging messages from the dependency libraries should not log onto the screen when using the remote client. This patch writes logging to ~/.config/containers/podman-remote.log Fixes #3299 Signed-off-by: Jhon Honce <jhonce@redhat.com>
* / API.md: fix few typosPetr Vaněk2019-06-15
|/ | | | | | | | Appropriate changes were applied to the file cmd/podman/varlink/io.podman.varlink, in order to make changes in API.md persistent. Signed-off-by: Petr Vaněk <arkamar@atlas.cz>
* Merge pull request #3094 from QiWang19/cpvolOpenShift Merge Robot2019-06-15
|\ | | | | podman copy files to the volume with a container
| * podman copy files to the volume with a containerQi Wang2019-06-03
| | | | | | | | | | | | | | enabls podman to cpoy files between the host machine and the volume related with a container. Close #3059 Signed-off-by: Qi Wang <qiwan@redhat.com>
* | Merge pull request #3328 from mheon/storage_opts_for_cleanupOpenShift Merge Robot2019-06-15
|\ \ | | | | | | When creating exit command, pass storage options on
| * | Fix storage-opts type in CobraMatthew Heon2019-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | StringSliceVar was distorting options. StringArrayVar seems to not mangle them, so use that instead. Thanks to Giuseppe for finding this one. Signed-off-by: Matthew Heon <mheon@redhat.com>
| * | When creating exit command, pass storage options onMatthew Heon2019-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We made changes earlier that empty storage options when setting storage driver explicitly. Unfortunately, this breaks rootless cleanup commands, as they lose the fuse-overlayfs mount program path. Fix this by passing along the storage options to the cleanup process. Also, fix --syslog, which was broken a while ago (probably when we broke up main to add main_remote). Fixes #3326 Signed-off-by: Matthew Heon <mheon@redhat.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>
* | 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 #3298 from ashley-cui/usernameOpenShift Merge Robot2019-06-12
|\ \ | | | | | | Fix podman-remote to user default username
| * | Fix podman-remote to user default usernameAshley Cui2019-06-11
| | | | | | | | | | | | | | | | | | Currently, you have to specify the username every time, rather than default like SSH does. Signed-off-by: Ashley Cui <ashleycui16@gmail.com>
* | | Merge pull request #3290 from edsantiago/batsOpenShift Merge Robot2019-06-11
|\ \ \ | | | | | | | | BATS tests - get working again
| * | | Prohibit use of positional args with --importEd Santiago2019-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I took the liberty of combining related checks together so as to avoid a little duplication; if this is not a Go best practice, I will revert. I also made a minor wording adjustment to an error message for clarity. Also: update wording of man page. Signed-off-by: Ed Santiago <santiago@redhat.com>
| * | | BATS tests - get working againEd Santiago2019-06-11
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various small fixes to get BATS tests working again. Split from #2947 because that one keeps getting stalled, and I'm hoping these separate changes get approved. I consider these changes urgent because RHEL8 gating tests are failing, and will fail even more if/when #2272 gets picked up and packaged for RHEL8, and I consider it important to have clean passing tests for RHEL8. * info test: 'insecure registries' is gone. A recent commit (d1a7378aa) changed the format of 'podman info', removing the 'insecure registries' key. Deal with it. * info test: remove check for .host.{Conmon,OCIRuntime}.package; the value on f28 and f29 is 'Unknown' (instead of an NVR). We can live without this check. * 'load' test: skip when running in CI, because stdin is not a tty. * container restore: fix arg processing. #2272 broke argument processing: 'podman container restore', with no args, should exit with 'argument required' error. Root cause is that the new --import option takes the place of an argument, so the checkAllAndLatest() call had to be changed to not exit on error. Workaround is (sigh) to copy/paste the skipped checkAllAndLatest() code, with minor tweaks to accommodate --import. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | Merge pull request #3293 from mheon/add_test_for_play_kubeOpenShift Merge Robot2019-06-11
|\ \ \ | |/ / |/| | Add a test for 'podman play kube' to prevent regression
| * | Add --filename option to generate kubeMatthew Heon2019-06-11
| | | | | | | | | | | | | | | | | | | | | | | | This allows writing output directly to a file, instead of STDOUT. Makes things easier for some scripting tasks. Like the unit tests for 'play kube'. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Merge pull request #3240 from rhatdan/storageoptsOpenShift Merge Robot2019-06-10
|\ \ \ | |/ / |/| | When you change the storage driver we ignore the storage-options
| * | When you change the storage driver we ignore the storage-optionsDaniel J Walsh2019-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The storage driver and the storage options in storage.conf should match, but if you change the storage driver via the command line then we need to nil out the default storage options from storage.conf. If the user wants to change the storage driver and use storage options, they need to specify them on the command line. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | | Merge pull request #3180 from mheon/inspect_volumesOpenShift Merge Robot2019-06-08
|\ \ \ | |/ / |/| | Begin to break up pkg/inspect
| * | Begin to break up pkg/inspectMatthew Heon2019-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's put inspect structs where they're actually being used. We originally made pkg/inspect to solve circular import issues. There are no more circular import issues. Image structs remain for now, I'm focusing on container inspect. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Default 'pause' to false for 'podman cp'Matthew Heon2019-06-07
| | | | | | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | Merge pull request #2272 from adrianreber/migrationOpenShift Merge Robot2019-06-07
|\ \ \ | | | | | | | | Add support to migrate containers
| * | | migration: add possibility to restore a container with a new nameAdrian Reber2019-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option to restore a container from an external checkpoint archive (podman container restore -i /tmp/checkpoint.tar.gz) restores a container with the same name and same ID as id had before checkpointing. This commit adds the option '--name,-n' to 'podman container restore'. With this option the restored container gets the name specified after '--name,-n' and a new ID. This way it is possible to restore one container multiple times. If a container is restored with a new name Podman will not try to request the same IP address for the container as it had during checkpointing. This implicitly assumes that if a container is restored from a checkpoint archive with a different name, that it will be restored multiple times and restoring a container multiple times with the same IP address will fail as each IP address can only be used once. Signed-off-by: Adrian Reber <areber@redhat.com>
| * | | Added support to migrate containersAdrian Reber2019-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds an option to the checkpoint command to export a checkpoint into a tar.gz file as well as importing a checkpoint tar.gz file during restore. With all checkpoint artifacts in one file it is possible to easily transfer a checkpoint and thus enabling container migration in Podman. With the following steps it is possible to migrate a running container from one system (source) to another (destination). Source system: * podman container checkpoint -l -e /tmp/checkpoint.tar.gz * scp /tmp/checkpoint.tar.gz destination:/tmp Destination system: * podman pull 'container-image-as-on-source-system' * podman container restore -i /tmp/checkpoint.tar.gz The exported tar.gz file contains the checkpoint image as created by CRIU and a few additional JSON files describing the state of the checkpointed container. Now the container is running on the destination system with the same state just as during checkpointing. If the container is kept running on the source system with the checkpoint flag '-R', the result will be that the same container is running on two different hosts. Signed-off-by: Adrian Reber <areber@redhat.com>
| * | | Fix restore options help text and commentsAdrian Reber2019-06-03
| | |/ | |/| | | | | | | Signed-off-by: Adrian Reber <areber@redhat.com>
* | | remove -c for podman remote global optionsbaude2019-06-04
| | | | | | | | | | | | | | | | | | it conflicts with commit Signed-off-by: baude <bbaude@redhat.com>
* | | Merge pull request #3231 from baude/remoteclientconfOpenShift Merge Robot2019-06-04
|\ \ \ | | | | | | | | podman-remote.conf enablement
| * | | podman-remote.conf enablementbaude2019-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add the ability for the podman remote client to use a configuration file which describes its connections. users can now define a connection the configuration and then call it by name like: podman-remote -c connection1 and the destination and user will be derived from the configuration file. if no -c is provided, we look for a connection in the configuration file designated as 'default'. If the configuration file has only one connection, it will be deemed the 'default'. Signed-off-by: baude <bbaude@redhat.com>