1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-04-10 11:25:01 +00:00
Commit graph

164 commits

Author SHA1 Message Date
Pavel Dostál
d2daf7262e
Optimize the podman_runlabel integration test (#640)
I used [1] as example.

[1]: https://fossies.org/linux/podman/test/system/037-runlabel.bats

Signed-off-by: Pavel Dostál <pdostal@pdostal.cz>
2023-09-05 11:28:58 +03:00
Sergey
ba5fa945ef
Add target support for podman build image (#632)
Fix #631
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-08-22 20:54:10 +03:00
nishipy
bc3670f8dc
Add podman_container_exec module (#627)
* Add podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Update podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Add tests for podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Update examples for podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix CI errors

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix CI errors

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix typo

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Add workflow for podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix python version in the workflow for podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix python version in the workflow for podman_container_exec

Signed-off-by: nishipy <goodisonev4@gmail.com>

---------

Signed-off-by: nishipy <goodisonev4@gmail.com>
2023-08-22 18:52:07 +03:00
Pavel Dostál
c6ae4b97e7
Add podman_runlabel module (#626)
This is implementing the [podman container runlabel](https://docs.podman.io/en/latest/markdown/podman-container-runlabel.1.html) command.

Signed-off-by: Pavel Dostál <pdostal@suse.cz>
2023-08-22 16:47:52 +03:00
nishipy
04f455bec1
Add a force field to podman_generate_systemd (#624)
* Add tests for podman_generate_systemd

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Add force option for podman_generate_systemd

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix test code for podman_generate_systemd

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix CI error

Signed-off-by: nishipy <goodisonev4@gmail.com>

---------

Signed-off-by: nishipy <goodisonev4@gmail.com>
2023-08-13 21:51:13 +03:00
Sergey
c6a80a5573
Add example with quotes in command to docs (#623)
Fix #449

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-08-12 15:04:00 +03:00
Sergey
4812aea6b8
Improve docs about container env_file on remote machine (#621)
Fix #583
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-08-12 13:53:59 +03:00
DilasserT
e4cd2c4493
Adding volume import and export option (#617)
* Adding volume import and export option

adding volume import and volume export to podman_import and podman_export
Updating integration tests

Signed-off-by: DilasserT <dilassert@gmail.com>

* Fixes and linting

Signed-off-by: DilasserT <dilassert@gmail.com>

---------

Signed-off-by: DilasserT <dilassert@gmail.com>
2023-08-11 16:29:22 +03:00
Sergey
ff12ccddaf
Add restart-sec and other options to systemd generation. (#615)
Add restart_sec, start_timeout_sec and stop_timeout_sec

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-08-06 21:15:36 +03:00
Sergey
b91ddd3db7
Fix pulling short image name (#614)
Also return image data when pulling it.
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-08-06 16:39:06 +03:00
Sergey
7a307453a5
Add diff and change detection to systemd generation (#608)
Fix #339
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-08-03 16:26:18 +03:00
Holger Müller
cc34c2b780
added cpu_quota parameter to podman_container (#612)
* added cpu_qouta parameter to podman_container

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

* add missing key to parameter dict

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

---------

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>
Co-authored-by: Holger Mueller <holger.mueller@inovex.de>
2023-08-03 15:57:10 +03:00
Holger Müller
2914785411
Fixed idempotency with cpus parameter (#581)
* Added cpu_quota parameter and fixed #559

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

* force float for cpu parameter in diff

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

* fixed typo

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

* revert linebreak caused by linting with too short lines

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

* removed quota parameter from patch

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

* readded already existing quota key to defaults

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>

---------

Signed-off-by: Holger Mueller <holger.mueller@inovex.de>
Co-authored-by: Holger Mueller <holger.mueller@inovex.de>
2023-08-03 15:29:06 +03:00
benblasco
fc47f86a18
Added support for "userns" parameter to "play" module (#577)
Co-authored-by: Benjamin Blasco <bblasco@redhat.com>
2023-05-31 13:23:55 +03:00
Simon
52911bfc22
fix(podman-play): fix regex for pod kube recreate (#582)
Signed-off-by: Simon Kuhball <simon@kuhball.de>
Co-authored-by: rwxd <rwxd@pm.me>
2023-05-31 10:27:49 +03:00
Sergey
181de14633
Add stdout to podman build and push actions (#586)
Fix #584
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-05-02 17:54:34 +03:00
nishipy
ab64d5f953
Update podman_image to specify CPU arch when pulling image (#578)
* Add test to sprcify CPU arch when pulling image

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Update to specify CPU arch when pulling image

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Add document for specifying arch

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Fix for idempotency

Signed-off-by: nishipy <goodisonev4@gmail.com>

* Update plugins/modules/podman_image.py

Signed-off-by: nishipy <goodisonev4@gmail.com>

---------

Signed-off-by: nishipy <goodisonev4@gmail.com>
2023-04-15 13:49:16 +03:00
nishipy
e8c270370d
Convert str to json format before evaluating length. (#574)
Signed-off-by: nishipy <goodisonev4@gmail.com>
2023-04-06 13:44:26 +03:00
Sergey
d5f7655464
Support SHA256 tag for podman images (#570)
Fix #569
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-04-03 23:56:11 +03:00
Sergey
bb4b14bc5d
Add more explanation about cmd_args command usage (#568)
Fix #567

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-04-01 22:01:08 +03:00
spmfox
1a7dc953b4
podman-login - fix FIPS md5 issue and registry requirement (#566)
* Changing md5 to sha256 for FIPS compliance

Signed-off-by: spmfox <spmfox@foxwd.com>

* Removing check for registry

Signed-off-by: spmfox <spmfox@foxwd.com>

* Adding contributor name

Signed-off-by: spmfox <spmfox@foxwd.com>

---------

Signed-off-by: spmfox <spmfox@foxwd.com>
2023-04-01 13:56:09 +03:00
Sergey
0332db2aad
Change yes/no to true/false in the modules (#561)
Fix #560
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-03-08 23:28:52 +02:00
Sergey
dba0d78844
podman_systemd: Ignore header when comparing systemd files content (#558)
Fix #557
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-03-04 18:06:23 +02:00
Sergey
1bfa6396a5
Fix pylint issues for CI ansible-test (#550)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-02-14 16:22:36 +02:00
Jannik Vieten
f618b5ccc6
Improved documentation of podman_generate_systemd module (#542)
* podman_generate_systemd: fixed typos in docs and put 'dest' option hints where they belong

Signed-off-by: Jannik Vieten <me@exploide.net>

* podman_generate_systemd: added an idempotent example when using podman_generate_systemd with new:true

Signed-off-by: Jannik Vieten <me@exploide.net>

---------

Signed-off-by: Jannik Vieten <me@exploide.net>
2023-02-12 13:58:18 +02:00
Sergey
132baa18e4
Add hooks-dir parameter for containers (#547)
Fix #539
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-02-12 01:47:46 +02:00
Roberto Alfieri
7d1d016fe9
added podman_prune module (#538)
* added podman-prune module


---------

Signed-off-by: Roberto Alfieri <ralfieri@redhat.com>
Signed-off-by: Roberto Alfieri <me@rebtoor.com>
2023-01-31 02:22:57 +02:00
Sergey
877581e31f
Add missing options to podman network (#535)
Fix #534

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2023-01-01 18:20:51 +02:00
Sergey
f8a70fe5b0
Fix podman logout tests for v4 (#526)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-11-29 00:41:17 +02:00
Sergey
4f6ed89607
Run CI jobs with newer podman 4 (#525)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-11-29 00:02:24 +02:00
phong-ngthanh
ed69d3c143
feat: allow empty string for prefixes (#517)
Signed-off-by: zephyros-dev <phong.ngthanh@outlook.com>

Signed-off-by: zephyros-dev <phong.ngthanh@outlook.com>
2022-11-21 18:19:27 +02:00
Sergey
a3f8901c4c
Fix docs issues in podman_image (#507)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-11-02 16:56:24 +02:00
Alessandro Re
1fa3dda67b
docs: added simple extra_args example (#493) 2022-11-01 01:15:40 +02:00
Sergey
9e92a6e90c
Fix podman load module for Podman 4 (#503)
Fix #486
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-10-31 22:23:35 +02:00
Sergey
712c3230b2
Fix example in systemd generate module (#502)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-10-31 21:59:21 +02:00
CyberFox001
6cf118e7a9
Podman generate systemd (#498)
* Start a new Ansible module: podman_generate_systemd

This module, when finished, will let user generate a systemd .service
unit file from a pod or a container.

If a pod is specified, then the .service file is made for the pod and
its containers.

This commit is only the beginning, with two empty functions and the
base for a Python script.

* podman_generate_systemd : Remove not needed import from __future__

* podman_generate_systemd : Import AnsibleModule and json

* podman_generate_systemd : Build podman comand from user parameters

* podman_generate_systemd : Run the podman command and manage error

* podman_generate_systemd : Manage writing of systemd files, if needed

* podman_generate_systemd : In generate_systemd(), return needed infos

In case of success in generate_systemd() function, return:
- A boolean, indicate if the state of the target systemd is modified
- A copy of the systemd unit content

* podman_generate_systemd : Write run_module() function

This function:
- Build the list of parameters user can use
- Build a default result dictionary
- Build the Ansible Module
- Generate the systemd units (with generate_systemd())
- Return the result, with module.exit_json

* podman_generate_systemd : In main(), call run_module()

* podman_generate_systemd: Return podman command, and remove debug param

The run podman command is now returned by the module, and the "debug"
option is removed.

* podman_generate_systemd: Use more direct #! to python interpreter

The run podman command is now returned by the module, and the "debug"
option is removed.

* podman_generate_systemd: Write DOCUMENTATION variable

* podman_generate_systemd: Write EXAMPLES variable

* podman_generate_systemd: Write RETURN variable

* podman_generate_systemd: Fix typo

* podman_generate_systemd: 'restart_policy, remove default

* podman_generate_systemd: Fix missing "command" return when error

When error in command execution, generate_systemd() was not returning
the command. Now it's done.

* podman_generate_systemd: Remove unnecessary return in case of fail

In generate_systemd(), in case of fail in executing the podman
command, we call module.fail_json() then we return the usual data of
generate_systemd() function.

But module.fail_json() will stop the execution of the module, so it's
not necessary to return a value from generate_systemd() after calling
module.fail_json().

* podman_generate_systemd: Remove TODO

* podman_generate_systemd: Add missing double lines between functions

* podman_generate_systemd: More readability in EXAMPLES variable

* podman_generate_systemd: EXAMPLES, add minimum podman version

When a module option require a minimum Podman version, I indicate
this required version in option description.

For example: The module option `start_timeout` use the Podman option
`--start-timout`, which was introduced in Podman 4.0.0. So, I add in
the description of `start_timeout`: Only with Podman 4.0.0 and above

Options with this information:
- start_timeout
- restart_sec
- wants
- after
- requires

* podman_generate_systemd: EXAMPLES, fix type

* podman_generate_systemd: Simpler code for wants, after and requires

`after`, `wants` and `requires` are of type list. So, no need to
test their type and manage the case where they are of type string.

* podman_generate_systemd, generate_systemd(): Improve returned command

Improve how the used Podman command, returned by generate_systemd(),
is built. Instead of print a list in a formatted string, I join the
list elements with a space char as separator.

* podman_generate_systemd: Add support for the `env` option

Add, to the podman_generate_systemd module, the support for the `env`
option. This commit include the code, the option definition for the
module, the modification of the DOCUMENTATION variable and the add of
an usage example of this new option in the EXAMPLE variable.

* podman_generate_systemd: Write the integration test

* generate_systemd: Fix of the integration test and the --env command option

On the module, I now use the command option `-e=` for the definition
of environment variables. Because the option `--env` give an error
from Podman.

Also, fix errors in the integration test for this module.

* podman_generate_systemd: Add __future__ and __metaclass__ in the module

* podman_generate_systemd: Add author github ID

* podman_generate_systemd: Use argspec type path instead of str for dest option

In the module argspec, I now use the type `path` instead of `str` for
the option `dest`. `os.path.expanduser()` is no more necessary.

* podman_generate_systemd: remove all trailing whitespaces

* podman_generate_systemd: Remove type hint for compatibility with older Python

* podman_generate_systemd: Fix Documentation

Add a default for option `new` and fix typo in `use_names` option name.

* podman_generate_systemd: restart_policy option, new choices

The choice `no` is replaced by `no-restart`

* podman_generate_systemd: dest option in documentation, set type as path

Instead of str

* DNM add CI bits for new module tests

Made by sshnaidm.

* podman_generate_systemd: Better use of fail_json()

First: When calling the method fail_json(), name the `msg` argument to
avoid confusion.

Second: In case of calling fail_json(), I now return the same
arguments than the ones returned by a success: `changed`,
`systemd_units` and `podman_command`.

For future refactoring: Instead of calling fail_json() inside
generate_systemd(), raise custom exceptions and manage calling
fail_json() or exit_json() outside of generate_systemd().

* podman_generate_systemd: Add utf-8

* podman_generate_systemd: Remove `required: false` for DOCUMENTATION var

* podman_generate_systemd: DOCUMENTATION var, use bool instead of yes/no

* podman_generate_systemd: Remove non-necessary check of restart_policy option

The possible choices for this options are set in `ansible_spec` and
will be checked by AnsibleModule code. So, no need to check manually:
`ansible_spec` won't be anything other that the possible choices.

* podman_generate_systemd: On module params, use direct access to dict

Use `module.params['']` instead of `module.params.get('')`.

Because all module's options are defined with the `argument_spec`, the
options used here exist in the params. And if the user don't set
them, the value of the option is `None`.

* podman_generate_systemd: use shlex join for command_str

* podman_generate_systemd: use same quotes for messages

* podman_generate_systemd: Replace f-strings with .format(), for Python 2

* podman_generate_systemd: Revert usage of shlex

It add weird quotes around command options like `-e='ENV_VAR=value'`.

* podman_generate_systemd: Podman command build, more Python 2 compatible

Don't use any more the asterisk to add command options to the command.

* podman_generate_systemd: Better check-mode management

Now, when check mode is enabled, the module report "changed" is
something would be changed, but w/o actually doing anything.

* podman_generate_systemd: remove all trailing whitespaces

Co-authored-by: Sébastien Gendre <seb@k-7.ch>
2022-10-31 20:51:29 +02:00
Yuriy Gabuev
dbdac4a52b
podman_image: add file parameter for Containerfile location (#492)
* `podman_image`: correct `path` parameter description

The `path` parameter is the last parameter when running `podman build
...`. As specified in the manpage, it is defined as the build context,
and not necessarily should it contain the Containerfile.

Signed-off-by: Yuriy Gabuev <yuriy.gabuev@holoplot.com>

* `podman_image`: add `file` parameter for Containerfile location

Add the `file` parameter to `podman_image` module which mirrors the
`--file` command line argument for `podman build ...`. This parameter
specifies the location of the Containerfile to use in case it should be
different from the one contained in the build context directory.

Signed-off-by: Yuriy Gabuev <yuriy.gabuev@holoplot.com>

* `podman_image`: add integration tests for `file` parameter

Add tests to ensure that:
- building from a directory without a Containerfile (or Dockerfile)
  fails
- specifying the location of Containerfile with `file` parameter works

Signed-off-by: Yuriy Gabuev <yuriy.gabuev@holoplot.com>

Signed-off-by: Yuriy Gabuev <yuriy.gabuev@holoplot.com>
2022-10-25 17:48:14 +03:00
Sergey
bd0f6f9bc4
Improve networks idempotency for v4 (#471)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-09-02 19:33:16 +03:00
dada513
b72a026328
generate_systemd: implement --wants, --after and --requires (GH-431) (#432)
* generate_systemd: implement --wants, --after and --requires (GH-431)

Signed-off-by: dada513 <dada513@protonmail.com>
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
Co-authored-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-09-01 20:28:07 +03:00
Sergey
cecb29222e
Add --sdnotify option for container (#465)
Fix #464

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-08-28 16:42:31 +03:00
Albrecht
08dd7b0ceb
add required argument to example (#461)
Signed-off-by: weichweich <archbelt@posteo.de>
2022-08-08 22:28:15 +03:00
Sergey
e6544bdd0a
Fix PEP8 issue in podman_image (#459)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-07-31 22:47:17 +03:00
Sagi Shnaidman
6c862b29e7 Fix pods list retrieve
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-07-01 10:23:12 +03:00
Sagi Shnaidman
542986cd8a Pass errors as a string instead of list 2022-07-01 10:23:12 +03:00
Sergey
2577f5b0f5
Remove distutils as deprecated (#437)
Fix #422
The distutils package is deprecated and slated for removal in Python 3.12

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-06-12 22:54:03 +03:00
Sergey
25b9516488
Allow specify podman_network options MTU and VLAN separately (#435)
Before that it didn't work when only one option set.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2022-06-08 19:37:06 +03:00
nishipy
acedce8b4b
Update podman_image to remove image with image id (#434)
* Update to remove image with image id.

Signed-off-by: nishipy <goodisonev4@gmail.com>
2022-06-08 18:51:25 +03:00
Clemens Lange
b33a657f00
Fix idempotency for podman_login (#430)
Signed-off-by: Clemens Lange <clemens.lange@cern.ch>
2022-06-06 12:18:08 +03:00
Benjamin Schubert
15dae0d9ad
podman_container.py: Fix typo in the documentation (#424)
I believe "prefix" is what was meant here

Signed-off-by: Benjamin Schubert <contact@benschubert.me>
2022-05-22 15:08:16 +03:00
Oscar
20a982b564
Fix play_kube not working when yaml not installed on target (#415) (#419)
Signed-off-by: tcmal <oscar.shrimpton.personal@gmail.com>
2022-05-01 11:48:43 +03:00