ansible/test/integration/targets/yum/tasks/yum.yml
Matt Clay e4096cc97a Use bc instead of sharutils in yum tests.
This allows the tests to pass on a stock RHEL 7.3 AMI.
2017-07-05 14:01:39 -07:00

234 lines
4.9 KiB
YAML

# UNINSTALL 'yum-utils'
# The `yum` module has the smarts to auto-install `yum-utils`. To test, we
# will first uninstall `yum-utils`.
- name: check yum-utils with rpm
shell: rpm -q yum-utils
register: rpm_result
ignore_errors: true
# Don't uninstall yum-utils with the `yum` module, it would be bad. The `yum`
# module does some `repoquery` magic after removing a package. It fails when you
# remove `yum-utils.
- name: uninstall yum-utils with shell
shell: yum -y remove yum-utils
when: rpm_result|success
# UNINSTALL
# With 'yum-utils' uninstalled, the first call to 'yum' should install
# yum-utils.
- name: uninstall sos
yum: name=sos state=removed
register: yum_result
- name: check sos with rpm
shell: rpm -q sos
failed_when: False
register: rpm_result
- debug: var=yum_result
- debug: var=rpm_result
- name: verify uninstallation of sos
assert:
that:
- "yum_result.rc == 0"
- "rpm_result.rc == 1"
# UNINSTALL AGAIN
- name: uninstall sos again
yum: name=sos state=removed
register: yum_result
- name: verify no change on re-uninstall
assert:
that:
- "not yum_result.changed"
# INSTALL
- name: install sos
yum: name=sos state=present
register: yum_result
- name: check sos with rpm
shell: rpm -q sos
failed_when: False
register: rpm_result
- debug: var=yum_result
- debug: var=rpm_result
- name: verify installation of sos
assert:
that:
- "yum_result.rc == 0"
- "yum_result.changed"
- "rpm_result.rc == 0"
- name: verify yum module outputs
assert:
that:
- "'changed' in yum_result"
- "'msg' in yum_result"
- "'rc' in yum_result"
- "'results' in yum_result"
# INSTALL AGAIN
- name: install sos again
yum: name=sos state=present
register: yum_result
- name: verify no change on second install
assert:
that:
- "not yum_result.changed"
# Multiple packages
- name: uninstall sos and bc
yum: name=sos,bc state=removed
register: yum_result
- name: check sos with rpm
shell: rpm -q sos
failed_when: False
register: rpm_sos_result
- name: check bc with rpm
shell: rpm -q bc
failed_when: False
register: rpm_bc_result
- name: verify packages installed
assert:
that:
- "rpm_sos_result.rc != 0"
- "rpm_bc_result.rc != 0"
- name: install sos and bc as comma separated
yum: name=sos,bc state=present
register: yum_result
- name: check sos with rpm
shell: rpm -q sos
failed_when: False
register: rpm_sos_result
- name: check bc with rpm
shell: rpm -q bc
failed_when: False
register: rpm_bc_result
- name: verify packages installed
assert:
that:
- "yum_result.rc == 0"
- "yum_result.changed"
- "rpm_sos_result.rc == 0"
- "rpm_bc_result.rc == 0"
- name: uninstall sos and bc
yum: name=sos,bc state=removed
register: yum_result
- name: install sos and bc as list
yum:
name:
- sos
- bc
state: present
register: yum_result
- name: check sos with rpm
shell: rpm -q sos
failed_when: False
register: rpm_sos_result
- name: check bc with rpm
shell: rpm -q bc
failed_when: False
register: rpm_bc_result
- name: verify packages installed
assert:
that:
- "yum_result.rc == 0"
- "yum_result.changed"
- "rpm_sos_result.rc == 0"
- "rpm_bc_result.rc == 0"
- name: uninstall sos and bc
yum: name=sos,bc state=removed
register: yum_result
- name: install sos and bc as comma separated with spaces
yum:
name: "sos, bc"
state: present
register: yum_result
- name: check sos with rpm
shell: rpm -q sos
failed_when: False
register: rpm_sos_result
- name: check sos with rpm
shell: rpm -q bc
failed_when: False
register: rpm_bc_result
- name: verify packages installed
assert:
that:
- "yum_result.rc == 0"
- "yum_result.changed"
- "rpm_sos_result.rc == 0"
- "rpm_bc_result.rc == 0"
- name: uninstall sos and bc
yum: name=sos,bc state=removed
- name: install non-existent rpm
yum: name="{{ item }}"
with_items:
- does-not-exist
register: non_existent_rpm
ignore_errors: True
- name: check non-existent rpm install failed
assert:
that:
- non_existent_rpm|failed
# Install in installroot='/'
- name: install sos
yum: name=sos state=present installroot='/'
register: yum_result
- name: check sos with rpm
shell: rpm -q sos --root=/
failed_when: False
register: rpm_result
- debug: var=yum_result
- debug: var=rpm_result
- name: verify installation of sos
assert:
that:
- "yum_result.rc == 0"
- "yum_result.changed"
- "rpm_result.rc == 0"
- name: verify yum module outputs
assert:
that:
- "'changed' in yum_result"
- "'msg' in yum_result"
- "'rc' in yum_result"
- "'results' in yum_result"
- name: uninstall sos
yum:
name: sos
installroot: '/'
state: removed
register: yum_result