64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
- block:
|
|
- name: Disable ubuntu repos so system packages are not upgraded and do not change testing env
|
|
command: mv /etc/apt/sources.list /etc/apt/sources.list.backup
|
|
|
|
- name: install foo-1.0.0
|
|
apt:
|
|
name: foo=1.0.0
|
|
state: present
|
|
allow_unauthenticated: yes
|
|
|
|
- name: check foo version
|
|
shell: dpkg -s foo | grep Version | awk '{print $2}'
|
|
register: foo_version
|
|
|
|
- name: ensure the correct version of foo has been installed
|
|
assert:
|
|
that:
|
|
- "'1.0.0' in foo_version.stdout"
|
|
|
|
- name: "(upgrade type: {{upgrade_type}}) upgrade packages to latest version, force_apt_get: {{force_apt_get}}"
|
|
apt:
|
|
upgrade: "{{ upgrade_type }}"
|
|
force_apt_get: "{{ force_apt_get }}"
|
|
force: yes
|
|
register: upgrade_result
|
|
|
|
- name: check foo version
|
|
shell: dpkg -s foo | grep Version | awk '{print $2}'
|
|
register: foo_version
|
|
|
|
- name: check that warning is not given when force_apt_get set
|
|
assert:
|
|
that:
|
|
- "'warnings' not in upgrade_result"
|
|
when:
|
|
- force_apt_get
|
|
|
|
- name: check that old version upgraded correctly
|
|
assert:
|
|
that:
|
|
- "'1.0.0' not in foo_version.stdout"
|
|
- "{{ foo_version.changed }}"
|
|
|
|
- name: "(upgrade type: {{upgrade_type}}) upgrade packages to latest version (Idempotant)"
|
|
apt:
|
|
upgrade: "{{ upgrade_type }}"
|
|
force_apt_get: "{{ force_apt_get }}"
|
|
force: yes
|
|
register: second_upgrade_result
|
|
|
|
- name: check that nothing has changed (Idempotant)
|
|
assert:
|
|
that:
|
|
- "second_upgrade_result.changed == false"
|
|
|
|
always:
|
|
- name: Clean up
|
|
apt:
|
|
pkg: foo,foobar
|
|
state: absent
|
|
autoclean: yes
|
|
|
|
- name: Restore ubuntu repos
|
|
command: mv /etc/apt/sources.list.backup /etc/apt/sources.list
|