Use ansible provisioner
This MR changes the packer code to use the ansible provisioner instead of the shell provisioner. We use remote-exec for the ansible provisioner because it allows us to use the latest ansible version (the packer-OpenStack provider plugin for ansible takes care of it). The ansible version provided by epel is stuck at 2.9 . This restricts us from moving some code in packer specific to xdmod to ansible roles because we want to keep the packer template as generic as possible. The character for the image comes from the ansible roles.
We could change the way we do ansible install to use pip instead of yum so that it would allow installing latest version but we were trying to make move away from using shell provisioners for ansible because we want to keep the packer code consistent for all the builds across the projects. So we decided to use ansible provisioners in packer.
We can also control the verbosity and debug level via vars in CICD settings for ansible with this MR.