012 Display iocage_properties

Extending example 010 Clone basejails and create inventory.

Use case

Enable and display iocage_properties.

Tree

shell> tree .
.
├── ansible.cfg
├── iocage.yml
└── pb-vars-properties.yml

Requirements

ansible.cfg

[defaults]
gathering = explicit
callback_result_format = yaml
display_skipped_hosts = false

[connection]
pipelining = true

Inventory iocage.yml

Enable get_properties. See Inventory vbotka.freebsd.iocage

plugin: vbotka.freebsd.iocage
host: 10.1.0.29
user: admin
get_properties: True
compose:
  ansible_host: iocage_ip4
  release: iocage_release | split('-') | first
  release_major: iocage_release | split('-') | first | split('.') | first
  release_minor: iocage_release | split('-') | first | split('.') | last
groups:
    test: inventory_hostname.startswith('test')
keyed_groups:
  - prefix: distro
    key: iocage_release
  - prefix: state
    key: iocage_state

Playbook pb-vars-properties.yml

- hosts: all

  tasks:

    - debug:
        var: iocage_properties

Playbook output - Display iocage_properties

(env) > ansible-playbook pb-vars-properties.yml -i iocage.yml -l test_133
PLAY [all] *********************************************************************

TASK [debug] *******************************************************************
ok: [test_133] => 
    iocage_properties:
        CONFIG_VERSION: '33'
        allow_chflags: '0'
        allow_mlock: '0'
        allow_mount: '0'
        allow_mount_devfs: '0'
        allow_mount_fdescfs: '0'
        allow_mount_fusefs: '0'
        allow_mount_linprocfs: '0'
        allow_mount_linsysfs: '0'
        allow_mount_nullfs: '0'
        allow_mount_procfs: '0'
        allow_mount_tmpfs: '0'
        allow_mount_zfs: '0'
        allow_nfsd: '0'
        allow_quotas: '0'
        allow_raw_sockets: '0'
        allow_set_hostname: '1'
        allow_socket_af: '0'
        allow_sysvipc: '0'
        allow_tun: '0'
        allow_vmm: '0'
        assign_localhost: '0'
        available: readonly
        basejail: '1'
        boot: '0'
        bpf: '0'
        children_max: '0'
        comment: none
        compression: 'on'
        compressratio: readonly
        coredumpsize: 'off'
        count: '1'
        cpuset: 'off'
        cputime: 'off'
        datasize: 'off'
        dedup: 'off'
        defaultrouter: 10.1.0.10
        defaultrouter6: auto
        depends: none
        devfs_ruleset: '4'
        dhcp: '0'
        enforce_statfs: '2'
        exec_clean: '1'
        exec_created: /usr/bin/true
        exec_fib: '0'
        exec_jail_user: root
        exec_poststart: /usr/bin/true
        exec_poststop: /usr/bin/true
        exec_prestart: /usr/bin/true
        exec_prestop: /usr/bin/true
        exec_start: /bin/sh /etc/rc
        exec_stop: /bin/sh /etc/rc.shutdown
        exec_system_jail_user: '0'
        exec_system_user: root
        exec_timeout: '60'
        host_domainname: none
        host_hostname: ansible-client
        host_hostuuid: test_133
        host_time: '1'
        hostid: d6add9ad-8b6e-4316-a226-345a60532b41
        hostid_strict_check: '0'
        interfaces: vnet0:bridge0
        ip4: new
        ip4_addr: vnet0|10.1.0.133/24
        ip4_saddrsel: '1'
        ip6: new
        ip6_addr: none
        ip6_saddrsel: '1'
        ip_hostname: '0'
        jail_zfs: '0'
        jail_zfs_dataset: iocage/jails/test_133/data
        jail_zfs_mountpoint: none
        last_started: '2026-02-24 21:58:41'
        localhost_ip: none
        login_flags: -f root
        mac_prefix: 5a9cfc
        maxproc: 'off'
        memorylocked: 'off'
        memoryuse: 'off'
        min_dyn_devfs_ruleset: '1000'
        mount_devfs: '1'
        mount_fdescfs: '1'
        mount_linprocfs: '0'
        mount_procfs: '0'
        mountpoint: readonly
        msgqqueued: 'off'
        msgqsize: 'off'
        nat: '0'
        nat_backend: ipfw
        nat_forwards: none
        nat_interface: none
        nat_prefix: '172.16'
        nmsgq: 'off'
        notes: none
        nsem: 'off'
        nsemop: 'off'
        nshm: 'off'
        nthr: 'off'
        openfiles: 'off'
        origin: readonly
        owner: root
        pcpu: 'off'
        plugin_name: none
        plugin_repository: none
        priority: '99'
        pseudoterminals: 'off'
        quota: none
        readbps: 'off'
        readiops: 'off'
        release: 15.0-RELEASE-p3
        reservation: none
        resolver: /etc/resolv.conf
        rlimits: 'off'
        rtsold: '0'
        securelevel: '2'
        shmsize: 'off'
        stacksize: 'off'
        state: up
        stop_timeout: '30'
        swapuse: 'off'
        sync_state: none
        sync_target: none
        sync_tgt_zpool: none
        sysvmsg: new
        sysvsem: new
        sysvshm: new
        template: '0'
        type: jail
        used: readonly
        vmemoryuse: 'off'
        vnet: '1'
        vnet0_mac: 5a9cfc882ebc 5a9cfc882ebd
        vnet0_mtu: auto
        vnet1_mac: none
        vnet1_mtu: auto
        vnet2_mac: none
        vnet2_mtu: auto
        vnet3_mac: none
        vnet3_mtu: auto
        vnet_default_interface: none
        vnet_default_mtu: '1500'
        vnet_interfaces: none
        wallclock: 'off'
        writebps: 'off'
        writeiops: 'off'

PLAY RECAP *********************************************************************
test_133                   : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0