001 Install iocage

Use case

Use the role vbotka.freebsd.iocage to install the package iocage.

Tree

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

Synopsis

Requirements

Notes

  • Put -l iocage_02 into the run-strings to limit the play to the manged node iocage_02

  • Remove the limits -l iocage_0* to run the play on all managed nodes.

  • By default, iocage installation is enabled freebsd_iocage_install: true

  • By default, debug is disabled freebsd_iocage_debug: false

ansible.cfg

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

[connection]
pipelining = true

Inventory iocage.ini

iocage_02 ansible_host=10.1.0.73
iocage_04 ansible_host=10.1.0.29

[iocage]
iocage_02
iocage_04

[iocage:vars]
ansible_user=admin
ansible_become=true
ansible_python_interpreter=auto_silent

Playbook pb-iocage.yml

- hosts: iocage
  gather_facts: true

  roles:
    - vbotka.freebsd.iocage

Playbook output - Display variables

(env) > ansible-playbook pb-iocage.yml -i iocage.ini -l iocage_04 \
                                       -t freebsd_iocage_debug \
                                       -e freebsd_iocage_debug=true
PLAY [iocage] ******************************************************************

TASK [Gathering Facts] *********************************************************
ok: [iocage_04]

TASK [vbotka.freebsd.iocage : Debug iocage freebsd_iocage_debug=true] **********
ok: [iocage_04] => 
    msg: |-
        freebsd_iocage_role_version: 1.2.0
        ansible_role_name: vbotka.freebsd.iocage

        ansible_facts.architecture: amd64
        ansible_facts.os_family: FreeBSD
        ansible_facts.distribution: FreeBSD
        ansible_facts.distribution_major_version: 15
        ansible_facts.distribution_version: 15.0
        ansible_facts.distribution_release: 15.0-RELEASE-p1
        ansible_facts.python_version: 3.11.14

        freebsd_install_method: packages
        freebsd_use_packages: True
        freebsd_install_retries: 10
        freebsd_install_delay: 5

        freebsd_iocage_install: True
        freebsd_iocage_packages:
          - sysutils/iocage

        freebsd_iocage_enable: True
        freebsd_iocage_start: False
        freebsd_iocage_restart: False
        freebsd_iocage_stop: False

        freebsd_iocage_backup_conf: False
        freebsd_iocage_assert_quiet: True

        freebsd_iocage_pool: zroot
        freebsd_iocage_pool_mount: /mnt/zroot
        freebsd_iocage_mount: /mnt/zroot/iocage

        freebsd_iocage_activate: False
        freebsd_iocage_activate_fatal: True

        freebsd_iocage_sanity: True
        freebsd_iocage_sanity_service: True
        freebsd_iocage_sanity_env: True
        freebsd_iocage_sanity_fdesc: True
        freebsd_iocage_sanity_kernel: True
        freebsd_iocage_sanity_kernel_sctp: False
        freebsd_iocage_sanity_loader: True
        freebsd_iocage_sanity_injail: True
        freebsd_iocage_sanity_zfs: True
        freebsd_iocage_sanity_zfs_pool_exists: True
        freebsd_iocage_sanity_zfs_pool_active: False

        freebsd_iocage_lang: en_US.UTF-8
        freebsd_iocage_env:
          CRYPTOGRAPHY_OPENSSL_NO_LEGACY: '1'

        freebsd_iocage_sysctl_update:
          {}

        freebsd_iocage_defaults_override_int: False
        freebsd_iocage_defaults_override_bool: False
        freebsd_iocage_defaults_update:
          {}

        freebsd_iocage_data: False
        freebsd_iocage_data_mount_enable: False
        freebsd_iocage_data_fstab: False
        freebsd_iocage_data_root: zroot/iocage-data
        freebsd_iocage_data_mount: /mnt/zroot/iocage-data
        freebsd_iocage_data_dir: mnt
        freebsd_iocage_data_jails:
          {}

        freebsd_iocage_stat: False
        freebsd_iocage_stat_fatal: True

        freebsd_iocage_runner: False
        freebsd_iocage_runner_fatal: True
        freebsd_iocage_runner_env:
          {}

        freebsd_iocage_runner_exec:
        freebsd_iocage_runner_cmd:
          {}

        freebsd_iocage_clean: False
        freebsd_iocage_clean_jails:
          {}


        freebsd_iocage_facts: False
        freebsd_iocage_facts_scripts:
          - iocage.fact

PLAY RECAP *********************************************************************
iocage_04                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

See also

Playbook output - Install iocage

(env) > ansible-playbook pb-iocage.yml -i iocage.ini -l iocage_04 \
                                       -t freebsd_iocage_pkg \
                                       -e freebsd_iocage_debug=true
PLAY [iocage] ******************************************************************

TASK [Gathering Facts] *********************************************************
ok: [iocage_04]

TASK [vbotka.freebsd.iocage : Pkg: Install iocage packages.] *******************
ok: [iocage_04]

TASK [vbotka.freebsd.iocage : Pkg: Debug Install iocage packages freebsd_iocage_debug=true] ***
ok: [iocage_04] => 
    result:
        attempts: 1
        changed: false
        failed: false
        msg: package(s) already present
        stderr: ''
        stderr_lines: []
        stdout: |-
            Updating FreeBSD-ports repository catalogue...
            FreeBSD-ports repository is up to date.
            Updating FreeBSD-ports-kmods repository catalogue...
            FreeBSD-ports-kmods repository is up to date.
            Updating FreeBSD-base repository catalogue...
            FreeBSD-base repository is up to date.
            All repositories are up to date.
        stdout_lines:
        - Updating FreeBSD-ports repository catalogue...
        - FreeBSD-ports repository is up to date.
        - Updating FreeBSD-ports-kmods repository catalogue...
        - FreeBSD-ports-kmods repository is up to date.
        - Updating FreeBSD-base repository catalogue...
        - FreeBSD-base repository is up to date.
        - All repositories are up to date.

PLAY RECAP *********************************************************************
iocage_04                  : ok=3    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0   

Note

This debug shows the result of already installed package.