The linbit.common Ansible collection providing shared utilities for the LINBIT® Ansible collections:
Includes LINBIT customer portal registration, public package repository setup for Ubuntu LTS and Proxmox VE, DRBD® Proxy license retrieval, and filter plugins that detect the running kernel.
- ansible-core 2.16 or newer
- Debian and Ubuntu targets need the
python3-debianpackage for thedeb822_repositorymodule that thecustomer_repo,public_repo, andzfs_installroles use to write APT sources. The roles install it from the distribution archive before the first repository task, so minimal cloud images that omit it work without preparation.
Install the collection with the Ansible Galaxy command-line tool:
# Install from GitHub until published in Ansible Galaxy
ansible-galaxy collection install git+https://github.com/LINBIT/ansible-common-collection.gitYou can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml:
collections:
- name: linbit.common
source: https://github.com/LINBIT/ansible-common-collection.git
type: gitTo upgrade to the latest available version:
# Upgrade from GitHub until published in Ansible Galaxy
ansible-galaxy collection install --upgrade git+https://github.com/LINBIT/ansible-common-collection.gitSee using Ansible collections for more details.
| Role | Description |
|---|---|
customer_repo |
Register nodes with the LINBIT subscription portal (my.linbit.com) |
public_repo |
Configure the LINBIT public APT repository for Ubuntu (PPA) and Proxmox VE |
zfs_install |
Install OpenZFS packages and load the zfs kernel module across distributions |
| Module | Description |
|---|---|
linbit_register_node |
Register a node with the LINBIT customer portal API. Used internally by customer_repo; can also be invoked directly for advanced workflows. |
linbit_proxy_license |
Fetch the DRBD Proxy license file for a registered node. Reads identity from /var/lib/drbd-support/registration.json and POSTs to my.linbit.com/v1/license-from-nodehash. |
| Filter | Description |
|---|---|
is_pve |
Returns true when running on a Proxmox VE kernel ('pve' in ansible_kernel). Used to gate Proxmox-specific tasks. |
is_uek |
Returns true when running on an Oracle Linux UEK kernel ('uek' in ansible_kernel). Used to choose between RHCK and UEK kernel-devel packages. |
in_network |
Returns the addresses from a list that are inside the network of an address in CIDR notation, for IPv4 and IPv6. |
This collection is primarily licensed and distributed as a whole under the MIT License. See LICENSE for the full text.
The following files are licensed under the GNU General Public License v3.0 or later, as required by the Ansible community package inclusion rules:
Created in 2026 by Ryan Ronnander on behalf of LINBIT.
Inspired by earlier Ansible contributions from Matt Kereczman, Ryan Ronnander, Michael Troutman, and Devin Vance.