Hostname and certs when using openstack


I been having issues using foreman in centos 7 with puppet 7.x and foreman
11.x My problem is that when I install foreman it causes issues because
openstack uses two hostname/IP's in each VM. When a VM its created it adds
a private hostname/IP and a public hostname/IP. So for example when you
install foreman it uses the private hostname but, this becomes a problem
because the private hostname/IP cannot resolve or be routable. I have tried
to change the hostname to something can be routable or resolved but, it
ends up breaking the puppet agent with 400 errors. As anyone used foreman
in Openstack?