ansible-experiments/package_updates/roles/freebsd-update/tasks/main.yml
Serge van Ginderachter 1671c7b1e2
fix: pkg upgrade --dry-run always returns an error
It is considered as the same flow as the user refusing to perform the actual
upgrade See https://github.com/freebsd/pkg/issues/1470
2018-05-12 12:50:57 +02:00

38 lines
1.2 KiB
YAML

---
- name: Fetch any new FreeBSD updates
command: freebsd-update fetch --not-running-from-cron
check_mode: no
when: ansible_distribution == 'FreeBSD'
register: result_update
changed_when: "'No updates needed' not in result_update.stdout"
- debug: var=result_update
when: result_update.changed
- name: Install FreeBSD updates
command: freebsd-update install --not-running-from-cron
when: ansible_distribution == 'FreeBSD' and result_update.changed and not ansible_check_mode
register: result_update_install
- debug: var=result_update_install
when: result_update_install.changed
- name: Upgrade FreeBSD packages - dry-run
command: pkg upgrade --dry-run
failed_when: False # --dry-run always returns failure
# https://github.com/freebsd/pkg/issues/1470
check_mode: no
when: ansible_distribution == 'FreeBSD' and ansible_check_mode
register: result_pkg
changed_when: "'Your packages are up to date' not in result_pkg.stdout"
- name: Upgrade FreeBSD packages
command: pkg upgrade --yes
when: ansible_distribution == 'FreeBSD' and not ansible_check_mode
register: result_pkg
changed_when: "'Your packages are up to date' not in result_pkg.stdout"
- debug: var=result_pkg
when: result_pkg.changed