301 Module vbotka.freebsd.ucl
Use case
Test the module vbotka.freebsd.ucl.
Tree
shell> tree .
.
├── ansible.cfg
├── iocage.ini
├── pb-test-01.yml
└── pb-test-02.yml
Synopsis
On a managed node:
Playbook
pb-test-01.yml: GetFreeBSD.urlfrom/etc/pkg/FreeBSD.conf.Playbook
pb-test-02.yml: UpdateFreeBSD.enabledin/etc/pkg/FreeBSD.conf.
Requirements
Installed uclcmd
Notes
TBD
ansible.cfg
[defaults]
callback_result_format = yaml
deprecation_warnings = False
display_skipped_hosts = False
gathering = explicit
interpreter_python = auto_silent
log_path = /var/log/ansible.log
[connection]
pipelining = true
Inventory iocage.ini
iocage_06
[iocage]
iocage_06
[iocage:vars]
ansible_user=admin
ansible_become=true
ansible_python_interpreter=auto_silent
Playbook pb-test-01.yml
- name: Test module vbotka.freebsd.ucl
hosts: iocage
tasks:
- name: Install devel/uclcmd
when: install | d(false) | bool
community.general.pkgng:
name: devel/uclcmd
use_globs: false
- name: Get /etc/pkg/FreeBSD.conf
register: out
vbotka.freebsd.ucl:
path: /etc/pkg/FreeBSD.conf
- ansible.builtin.debug:
var: out.stdout
- name: Get FreeBSD-base repository url.
register: out
vbotka.freebsd.ucl:
path: /etc/pkg/FreeBSD.conf
upath: FreeBSD-base.url
- ansible.builtin.debug:
var: out.stdout
Playbook output - Get FreeBSD.url
(env) > ansible-playbook -i iocage.ini pb-test-01.yml
PLAY [Test module vbotka.freebsd.ucl] ******************************************
TASK [Get /etc/pkg/FreeBSD.conf] ***********************************************
ok: [iocage_06]
TASK [ansible.builtin.debug] ***************************************************
ok: [iocage_06] =>
out.stdout: |-
FreeBSD-ports {
url = "pkg+https://pkg.FreeBSD.org/${ABI}/quarterly";
mirror_type = "srv";
signature_type = "fingerprints";
fingerprints = "/usr/share/keys/pkg";
enabled = true;
}
FreeBSD-ports-kmods {
url = "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}";
mirror_type = "srv";
signature_type = "fingerprints";
fingerprints = "/usr/share/keys/pkg";
enabled = true;
}
FreeBSD-base {
url = "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_${VERSION_MINOR}";
mirror_type = "srv";
signature_type = "fingerprints";
fingerprints = "/usr/share/keys/pkgbase-${VERSION_MAJOR}";
enabled = true;
}
TASK [Get FreeBSD-base repository url.] ****************************************
ok: [iocage_06]
TASK [ansible.builtin.debug] ***************************************************
ok: [iocage_06] =>
out.stdout: |-
"pkg+https://pkg.FreeBSD.org/${ABI}/base_release_${VERSION_MINOR}"
PLAY RECAP *********************************************************************
iocage_06 : ok=4 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
Playbook pb-test-02.yml
- name: Test module vbotka.freebsd.ucl
hosts: iocage
tasks:
- name: Disable FreeBSD-ports repository.
register: out
vbotka.freebsd.ucl:
path: /etc/pkg/FreeBSD.conf
upath: FreeBSD-ports.enabled
value: false
Playbook output - Disable FreeBSD repository
(env) > ansible-playbook -i iocage.ini --check --diff pb-test-02.yml
PLAY [Test module vbotka.freebsd.ucl] ******************************************
TASK [Disable FreeBSD-ports repository.] ***************************************
--- before: /etc/pkg/FreeBSD.conf (content)
+++ after: /etc/pkg/FreeBSD.conf (content)
@@ -3,7 +3,7 @@
mirror_type = "srv";
signature_type = "fingerprints";
fingerprints = "/usr/share/keys/pkg";
- enabled = true;
+ enabled = false;
}
FreeBSD-ports-kmods {
url = "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}";
changed: [iocage_06]
PLAY RECAP *********************************************************************
iocage_06 : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0