Commit Graph

1109 Commits

Author SHA1 Message Date
OpenShift Merge Robot e239bfa15b
Merge pull request #8391 from baude/networkconnectdisconnect
add network connect|disconnect compat endpoints
2020-11-19 16:54:29 +01:00
baude a3e0b7d117 add network connect|disconnect compat endpoints
this enables the ability to connect and disconnect a container from a
given network. it is only for the compatibility layer. some code had to
be refactored to avoid circular imports.

additionally, tests are being deferred temporarily due to some
incompatibility/bug in either docker-py or our stack.

Signed-off-by: baude <bbaude@redhat.com>
2020-11-19 08:16:19 -06:00
Paul Holzinger e7fd9234cd Align the podman pod ps --filter behavior with podman ps
Filters with the same key work inclusive with the only exception being
`label` which is exclusive. Filters with different keys always work exclusive.

Also update the documentation with the new behavior.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-18 19:31:25 +01:00
OpenShift Merge Robot 770b03a50c
Merge pull request #8363 from AlbanBedel/play-kube-create-only
Add an option to control if play kube should start the pod
2020-11-17 22:40:28 +01:00
OpenShift Merge Robot eefa18f2b6
Merge pull request #8356 from rhatdan/docs
[CI:DOCS] Cleanup tutorials
2020-11-17 20:11:51 +01:00
Alban Bedel 7ab936eafa Add an option to control if play kube should start the pod
Having play kube start the pod is not always appropriate, one might
for example like to have the pod running as a set of systemd services.
Add a `start` option to the command line and API to control if the pod
should be started or not; it defaults to true for backward
compatibility.

Signed-off-by: Alban Bedel <albeu@free.fr>
2020-11-17 20:00:58 +01:00
TomSweeneyRedHat 586a7d97c2 [CI:DOCS] fix an apostrophe nit in man page
A quick follow up to #8367 to add a missing apostrophe in three
man pages.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-11-17 11:43:03 -05:00
Daniel J Walsh d200801152
Cleanup tutorials
Inspired by @kannkyo PR.

Eliminate sudo when commands will work fine in rootless mode.

Make all commands in tutorials easily cut and pastable, by eliminating
$ and > symbols.

This should make them all consistant agross different tutorials.

Also make all systemctl enable calls use the --now option.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-17 06:49:53 -05:00
Paul Holzinger 31ceaf7bd4 Explain the relation between --pod and --network
Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-17 11:57:28 +01:00
OpenShift Merge Robot e59394973a
Merge pull request #8335 from Luap99/fix-html-tables
[CI:DOCS] Fix markdown tables on docs.podman.io
2020-11-16 21:40:10 +01:00
OpenShift Merge Robot 392075631a
Merge pull request #8345 from afbjorklund/volume-filter
Add support for volume ls --filter label=key=value
2020-11-15 15:13:51 +01:00
Anders F Björklund 0dad2499a3 Add support for volume ls --filter label=key=value
Supposed to be able to search for labels with a given value.

Previously it meant searching for label key and label value:

--filter label=key --filter label=value

Add some documentation and integration tests for it as well.

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2020-11-14 20:18:52 +01:00
TomSweeneyRedHat 928e3a65a9 [CI:DOCS] Touch up Podman description in man page menu
The title for the Podman man page on the commands menu was a little
light, adding a few more words to it.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-11-13 20:28:52 -05:00
OpenShift Merge Robot 738d62ea96
Merge pull request #7964 from vrothberg/shortnames
short-name aliasing
2020-11-13 18:28:17 +01:00
OpenShift Merge Robot 2993e97dec
Merge pull request #6442 from Luap99/podman-autocomplete
Shell completion
2020-11-13 16:46:51 +01:00
OpenShift Merge Robot 6d9d9fee30
Merge pull request #8326 from Luap99/fix-build-namespace
Fix namespace flag parsing for podman build
2020-11-13 16:44:45 +01:00
Paul Holzinger 80b613d237 Fix markdown tables on docs.podman.io
Sphinx with recommonmark cannot render markdown tables at all.
There is a python package called `sphinx-markdown-tables` which
adds the markdown table support to recommonmark.
https://pypi.org/project/sphinx-markdown-tables/

By utilising this package we don't have to change our doc format.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-13 16:42:13 +01:00
Valentin Rothberg 8e4a42aa42 short-name aliasing
Add support for short-name aliasing.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-11-13 15:40:06 +01:00
OpenShift Merge Robot 0b1a60ec27
Merge pull request #8308 from jwhonce/jira/run-976
Refactor to use DockerClient vs APIClient
2020-11-13 15:00:01 +01:00
OpenShift Merge Robot 42a5b0fd93
Merge pull request #8301 from TomSweeneyRedHat/dev/tsweeney/fixpully
Change podman build --pull=true to PullIfMissing
2020-11-13 10:42:13 +01:00
OpenShift Merge Robot b2d281afcc
Merge pull request #8328 from FreedomBen/add-socket-start
[CI:DOCS] Add missing --now in systemctl start command
2020-11-13 09:50:58 +01:00
Benjamin Porter ba8a71f9ce Add missing --now in systemctl start command
If you don't use --now or also run systemctl --user start podman.socket
then the socket won't start until a reboot.  Much easier to just start
the socket at the same time as enabling it.

Signed-off-by: Benjamin Porter <FreedomBen@users.noreply.github.com>
2020-11-12 19:18:59 -07:00
TomSweeneyRedHat 6ea13fd872 Change podman build --pull=true to PullIfMissing
One last tweak to the man page for 'build --pull' and after
further testing against Docker, one slight change to the
pull policy.  First I changed `--pull=false` from PullNever
to PullIfMissing.  This matches Docker and will pull the
image if it's not present rather than erroring.  We've
the `--pull-never` option if someone wants the pull to
not do an actual pull and to error if the image isn't
local.

Then for the man page, I'd a much bigger change, in the
initial PR, I've backed most of that out and just
added a tweak.

Hopefully this puts this portion of the pull work behind
us for a while.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-11-12 18:50:31 -05:00
OpenShift Merge Robot 2fc2d4643e
Merge pull request #8316 from rhatdan/codespell
Fix issues found with codespell
2020-11-12 23:29:51 +01:00
Paul Holzinger 79f5aed316 Add podman build --net alias for --network
Fixes #8332

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-12 23:17:42 +01:00
Jhon Honce a1187ee6f3 Refactor to use DockerClient vs APIClient
* Update tests and framework
* remove tests for APIClient methods

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-11-12 15:13:09 -07:00
Paul Holzinger f5a2e578eb Maintain consistent order of short and long flag names in docs
Make the order of short and long flag names in the documentation
consistent. Also adjust the man page validaten script to only allow
the `**--long**, **-s**` syntax.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-12 21:46:17 +01:00
Daniel J Walsh a7431003b8
Fix issues found with codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-12 13:37:38 -05:00
OpenShift Merge Robot 53c60a68db
Merge pull request #8300 from TomSweeneyRedHat/dev/tsweeney/addmain
Add podman(1) to the list of man pages on docs.podman.io
2020-11-12 11:54:16 +01:00
Paul Holzinger ae3816614d Install the new shell completion logic
Add a new make target (completion) to generate the shell
completion scripts. This will generate the scripts for bash,
zsh and fish for both podman and podman-remote with `podman completion`.
The scripts are put into the completions directory and can be
installed system wide with `sudo make install.completions`.

This commit replaces the current handwritten scripts for bash and zsh.

The `validate.completion` target has been adjusted to make sure nobody
edits these scripts directly.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-12 11:40:29 +01:00
Paul Holzinger b5d1d89a37 Add shell completion with cobra
Allow automatic generation for shell completion scripts
with the internal cobra functions (requires v1.0.0+).

This should replace the handwritten completion scripts
and even adds support for fish. With this approach it is
less likley that completions and code are out of sync.

We can now create the scripts with
- podman completion bash
- podman completion zsh
- podman completion fish

To test the completion run:
source <(podman completion bash)

The same works for podman-remote and podman --remote and
it will complete your remote containers/images with
the correct endpoints values from --url/--connection.

The completion logic is written in go and provided by the
cobra library. The completion functions lives in
`cmd/podman/completion/completion.go`.

The unit test at cmd/podman/shell_completion_test.go checks
if each command and flag has an autocompletion function set.
This prevents that commands and flags have no shell completion set.

This commit does not replace the current autocompletion scripts.

Closes #6440

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-12 11:38:31 +01:00
Ed Santiago b0601cb34a [CI:DOCS] Restore man page cross-checker
Somewhere in the CIv2 migration we lost the man page vs --help
cross-checker. Add it back, by adding it into the man-page-check
Makefile target; this is part of 'make validate', which is run
in CI even on CI:DOCS PRs.

As happens when CI doesn't run, things broke. Man pages got out
of sync with --help. This PR:

 1) Fixes hack/xref-helpmsgs-manpages to deal with the new
    "Options" (instead of "Flags") form of podman help. #8034
    did part of that, but one of my review comments was
    accidentally left out.

 2) Fixes hack/xref-helpmsgs-manpages to deal with the new
    option syntax in man pages, post- #8292, in which each
    option is preceded by four hashes so as to make them
    HTML <h4> elements with named anchors.

 3) Fixes man pages that #8292 accidentally missed.

 4) Adds man page entries for two flags that got added
    to podman but not documented (pod create --network-alias,
    play kube --log-driver)

Fixes: #8296

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-11-11 08:31:30 -07:00
TomSweeneyRedHat 4c422cbc34 Add podman(1) to the list of man pages on docs.podman.io
As the title says.

Addresses: #7219

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-11-10 19:36:18 -05:00
OpenShift Merge Robot ca672373b5
Merge pull request #8292 from Luap99/doc-anchors
[CI:DOCS] Add anchors for flag names on docs.podman.io
2020-11-10 19:12:58 +01:00
OpenShift Merge Robot ce2ac7d2d2
Merge pull request #8251 from baude/networkaliases
network aliases for container creation
2020-11-10 19:10:59 +01:00
Paul Holzinger 52a8694705 Add anchors for flag names on docs.podman.io
Change the docs markdown so that flag names will be h4 headers.
Sphinx will automatically add anchors to headers. Add css to
make sure the flag names are not to big compared to the text.

The man pages also still renders fine but it looks a bit different.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-10 15:27:08 +01:00
OpenShift Merge Robot da01191aa3
Merge pull request #8278 from rhatdan/man1
[CI:DOCS] Add example of fuse-overlay to podman system reset
2020-11-10 14:25:44 +00:00
Daniel J Walsh 0ba2261528
Add example of fuse-overlay to podman system reset
A fairly common mistake users are hitting is running rootless podman without
installing fuse-overlay.  Then they want to reset storage.  Sometimes they
modify storage.conf first and `podman system reset` fails.

This PR attempts to explain how to convert properly.

Fixes: https://github.com/containers/podman/issues/7446

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-10 07:24:13 -05:00
Antonio Ojea e7a72d72fd enable ipv6 network configuration options
enable the ipv6 flag in podman network to be able to create
dual-stack networks for containers.

This is required to be compatible with docker, where --ipv6
really means dual stack.

podman, unlike docker, support IPv6 only containers since
07e3f1bba9.

Signed-off-by: Antonio Ojea <aojea@redhat.com>
2020-11-10 08:34:52 +01:00
baude b7b5b6f8e3 network aliases for container creation
podman can now support adding network aliases when running containers
(--network-alias).  It requires an updated dnsname plugin as well as an
updated ocicni to work properly.

Signed-off-by: baude <bbaude@redhat.com>
2020-11-09 15:08:58 -06:00
Daniel J Walsh c12065401f
Update podman build man page to match buildah bud man page
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-09 15:10:20 -05:00
Kier Davis 71fe822434 podman-pull.1.md: add example for pulling an image by hash
Signed-off-by: Kier Davis <me@kierdavis.com>
2020-11-09 13:18:38 -06:00
Kier Davis c20a70f8c3 podman-import.1.md: fix paragraph formatting
Signed-off-by: Kier Davis <me@kierdavis.com>
2020-11-09 13:18:38 -06:00
Kier Davis f29cda6d92 podman-import.1.md: fix shell syntax
Signed-off-by: Kier Davis <me@kierdavis.com>
2020-11-09 13:18:38 -06:00
OpenShift Merge Robot 4d013caffc
Merge pull request #8249 from marcnuri-forks/fix/doc-typo
[CI:DOCS] fix: podman-system-service doc time is seconds
2020-11-05 16:03:52 +01:00
Marc Nuri 59a3078853 fix: podman-system-service doc time is seconds
Signed-off-by: Marc Nuri <marc@marcnuri.com>
2020-11-05 14:44:25 +01:00
Daniel J Walsh 6ca705bf1a
Add support for mounting external containers
Continue progress on use of external containers.

This PR adds the ability to mount, umount and list the
storage containers whether they are in libpod or not.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-04 13:52:08 -05:00
OpenShift Merge Robot 5b17f58e7e
Merge pull request #8219 from rhafer/rootless-mounts
docs: Mention mounts.conf location for non-root users
2020-11-03 14:34:08 -05:00
JJ Asghar 1147bc7e7b Update README.md
Typo

Signed-off-by: JJ Asghar <jjasghar@gmail.com>
2020-11-02 16:22:52 -06:00
OpenShift Merge Robot 8dfbdb561b
Merge pull request #8166 from rhatdan/unbindable
Allow users to mount with unbindable flag
2020-11-02 18:19:39 +01:00