Want to have install packages in an agnostic way (eg. apt, yum, etc.) if all the package names are the same – regardless of the system? There are two ways to do it.
Use an action, and iterate over each package
- action: "{{ansible_pkg_mgr}} name={{item}} state=latest" with_items: - ntp - acpid - haveged - irqbalance - nano - screen - wget - sysstat
Concatenate list and pass to package manager module
For the fast way, as all package manager modules support passing package names as a comma separated list (which will be executed in one go by the module – the faster way)
Site definition
vars: default_packages: - ntp - acpid - haveged - irqbalance - nano - screen - wget - sysstat
Task
- action: "{{ansible_pkg_mgr}} name={{default_packages|join(\",\")}} state=latest"