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.
ansible/test/integration/targets/dpkg_selections/tasks/dpkg_selections.yaml

102 lines
2.1 KiB
YAML

- name: download and install old version of hello
apt: "deb=https://ci-files.testing.ansible.com/test/integration/targets/dpkg_selections/hello_{{ hello_old_version }}_amd64.deb"
- name: freeze version for hello
dpkg_selections:
name: hello
selection: hold
- name: get dpkg selections
shell: "dpkg --get-selections | grep hold"
register: result
- debug: var=result
- name: check that hello is marked as hold
assert:
that:
- "'hello' in result.stdout"
- name: attempt to upgrade hello
apt:
name: hello
state: latest
ignore_errors: yes
- name: check hello version
shell: dpkg -s hello | grep Version | awk '{print $2}'
register: hello_version
- name: ensure hello was not upgraded
assert:
that:
- hello_version.stdout == hello_old_version
- name: remove version freeze
dpkg_selections:
name: hello
selection: install
- name: upgrade hello
apt:
name: hello
state: latest
- name: check hello version
shell: dpkg -s hello | grep Version | awk '{print $2}'
register: hello_version
- name: check that old version upgraded correctly
assert:
that:
- hello_version.stdout != hello_old_version
- name: set hello to deinstall
dpkg_selections:
name: hello
selection: deinstall
- name: get dpkg selections
shell: "dpkg --get-selections | grep deinstall"
register: result
- debug: var=result
- name: check that hello is marked as deinstall
assert:
that:
- "'hello' in result.stdout"
- name: set hello to purge
dpkg_selections:
name: hello
selection: purge
- name: get dpkg selections
shell: "dpkg --get-selections | grep purge"
register: result
- debug: var=result
- name: check that hello is marked as purge
assert:
that:
- "'hello' in result.stdout"
- name: remove hello
apt:
name: hello
state: absent
- name: Try to select non-existent package
dpkg_selections:
name: kerfufle_bad_name_test
selection: hold
ignore_errors: yes
register: result
- name: Check that module fails for non-existent package
assert:
that:
- "'Failed to find package' in result.msg"