When setting up Foreman should this be setup on the same server as my puppet ro ansible master?
The Foreman comes with a Puppet Master whether you like it or not since The Foreman uses puppet as part of it's installer. This can't be disabled and The Forman will leave it behind and running - so you might as well use what is deployed anyway and make the Puppet Master and your Foreman server one in the same. You can keep your Ansible installation elsewhere, however The Forman integrates with Ansible and has Ansible callbacks
 so it might make sense to keep your configuration management stack all in one place.

On the other hand, The Forman can be a big install with lots of moving parts that seem to get gummed up from time to time,
 so you might be better off putting together an Ansible playbook to redeploy your Foreman stack since Ansible can also manage your Forman resources - so this would be a good argument to keep the Ansible bits seperated.