# 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