# 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 uninstalltion 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: - "'invocation' in yum_result" - "'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"