Somehow, openstack set hostname with .novalocal which will cause ansible not finding any playbook to run. Using hostname -s will get shortest hostname which trim .novalocal off.
.novalocal
hostname -s