Ansible zypper update all packages on OpenSUSE/SUSE

Originally published at:

I got a cluster of servers powered by OpenSUSE / SUSE Enterprise Linux. How can I update all of them using the zypper module of Ansible? How can I use Ansible for system updates and reboot the server when kernel upgrades took place on SUSE/OpenSUSE?