ansible/test/integration/targets/apt/tasks/apt-multiarch.yml
Pilou 226bf7b227 apt target: use 'until' when the cache is updated (#65456)
This integration target can be unstable due to network/mirror issues:

    TASK [apt : uninstall hello with apt] ***
    fatal: [testhost]: FAILED! => {
        "changed": false,
        "cmd": "apt-get update",
        "msg": "E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/universe/source/Sources.gz File has unexpected size (354740 != 354745). Mirror sync in progress? [...]",
        "rc": 100,
        [...]
2019-12-12 12:45:54 -07:00

34 lines
1.2 KiB
YAML

# verify that apt is handling multi-arch systems properly
- name: add architecture {{ apt_foreign_arch }}
command: dpkg --add-architecture {{ apt_foreign_arch }}
- name: install hello:{{ apt_foreign_arch }} with apt
apt: pkg=hello:{{ apt_foreign_arch }} state=present update_cache=yes
register: apt_result
until: apt_result is success
- name: uninstall hello:{{ apt_foreign_arch }} with apt
apt: pkg=hello:{{ apt_foreign_arch }} state=absent purge=yes
- name: install deb file
apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ apt_foreign_arch }}.deb"
register: apt_multi_initial
- name: install deb file again
apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ apt_foreign_arch }}.deb"
register: apt_multi_secondary
- name: verify installation of hello:{{ apt_foreign_arch }}
assert:
that:
- "apt_multi_initial.changed"
- "not apt_multi_secondary.changed"
- name: remove all {{ apt_foreign_arch }} packages
apt:
name: "*:{{ apt_foreign_arch }}"
state: absent
purge: yes
- name: remove {{ apt_foreign_arch }} architecture
command: dpkg --remove-architecture {{ apt_foreign_arch }}