mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.8 KiB
YAML
77 lines
1.8 KiB
YAML
# https://github.com/ansible/ansible/issues/46314
|
|
- block:
|
|
- name: Remove upgrades from the equation
|
|
apt:
|
|
upgrade: true
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Install foobar, installs foo as a dependency
|
|
apt:
|
|
name: foobar=1.0.0
|
|
allow_unauthenticated: true
|
|
|
|
- name: Check foobar version
|
|
shell: dpkg -s foobar | grep Version | awk '{print $2}'
|
|
register: foobar_version
|
|
|
|
- name: Ensure the correct version of foobar has been installed
|
|
assert:
|
|
that:
|
|
- "'1.0.0' in foobar_version.stdout"
|
|
|
|
- name: Remove foobar, leaving behind its dependency foo
|
|
apt:
|
|
name: foobar=1.0.0
|
|
state: absent
|
|
|
|
- name: Test autoremove + upgrade (check mode)
|
|
apt:
|
|
autoremove: true
|
|
upgrade: true
|
|
diff: true
|
|
check_mode: true
|
|
register: autoremove_check_mode
|
|
|
|
- name: Test autoremove + upgrade
|
|
apt:
|
|
autoremove: true
|
|
upgrade: true
|
|
diff: true
|
|
register: autoremove
|
|
|
|
- name: Check that something is changed
|
|
assert:
|
|
that:
|
|
- autoremove.changed
|
|
- autoremove_check_mode.changed
|
|
|
|
- name: Check foo version
|
|
shell: dpkg -s foo | grep Version | awk '{print $2}'
|
|
register: foo_version
|
|
|
|
- name: Check that old version removed correctly
|
|
assert:
|
|
that:
|
|
- "'1.0.1' not in foo_version.stdout"
|
|
- "{{ foo_version.changed }}"
|
|
|
|
- name: Test autoremove + upgrade (Idempotant)
|
|
apt:
|
|
autoremove: true
|
|
upgrade: true
|
|
diff: true
|
|
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: true
|