containers.podman.podman_network module – Manage podman networks

Note

This module is part of the containers.podman collection (version 1.12.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install containers.podman. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: containers.podman.podman_network.

New in containers.podman 1.0.0

Synopsis

  • Manage podman networks with podman network command.

Requirements

The below requirements are needed on the host that executes this module.

  • podman

Parameters

Parameter

Comments

debug

boolean

Return additional information which can be helpful for investigations.

Choices:

  • false ← (default)

  • true

disable_dns

boolean

disable dns plugin (default “false”)

Choices:

  • false

  • true

driver

string

Driver to manage the network (default “bridge”)

executable

string

Path to podman executable if it is not in the $PATH on the machine running podman

Default: "podman"

force

boolean

Remove all containers that use the network. If the container is running, it is stopped and removed.

Choices:

  • false ← (default)

  • true

gateway

string

IPv4 or IPv6 gateway for the subnet

interface_name

string

For bridge, it uses the bridge interface name. For macvlan, it is the parent device on the host (it is the same as ‘opt.parent’)

internal

boolean

Restrict external access from this network (default “false”)

Choices:

  • false

  • true

ip_range

string

Allocate container IP from range

ipv6

boolean

Enable IPv6 (Dual Stack) networking. You must pass a IPv6 subnet. The subnet option must be used with the ipv6 option.

Choices:

  • false

  • true

macvlan

string

Create a Macvlan connection based on this device

name

string / required

Name of the network

opt

dictionary

Add network options. Currently ‘vlan’ and ‘mtu’ are supported.

isolate

boolean

This option isolates networks by blocking traffic between those that have this option enabled.

Choices:

  • false

  • true

metric

integer

Sets the Route Metric for the default route created in every container joined to this network. Can only be used with the Netavark network backend.

mode

string

This option sets the specified ip/macvlan mode on the interface.

mtu

integer

MTU size for bridge network interface.

parent

string

The host device which should be used for the macvlan interface (it is the same as ‘interface’ in that case). Defaults to the default route interface.

vlan

integer

VLAN tag for bridge which enables vlan_filtering.

recreate

boolean

Recreate network even if exists.

Choices:

  • false ← (default)

  • true

state

string

State of network, default ‘present’

Choices:

  • "present" ← (default)

  • "absent"

subnet

string

Subnet in CIDR format

Examples

- name: Create a podman network
  containers.podman.podman_network:
    name: podman_network
  become: true

- name: Create internal podman network
  containers.podman.podman_network:
    name: podman_internal
    internal: true
    ip_range: 192.168.22.128/25
    subnet: 192.168.22.0/24
    gateway: 192.168.22.1
  become: true

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

network

list / elements=string

Facts from created or updated networks

Returned: always

Sample: [{"cniVersion": "0.4.0", "name": "podman", "plugins": [{"bridge": "cni-podman0", "ipMasq": true, "ipam": {"ranges": [[{"gateway": "10.88.0.1", "subnet": "10.88.0.0/16"}]], "routes": [{"dst": "0.0.0.0/0"}], "type": "host-local"}, "isGateway": true, "type": "bridge"}, {"capabilities": {"portMappings": true}, "type": "portmap"}, {"backend": "iptables", "type": "firewall"}]}]

Authors

  • Sagi Shnaidman (@sshnaidm)