It seems this "cpu topology" thing is new to VMware 8. when a vm is created from vcenter, the default cpu topology is "Assigned at power on", and the cores per socket are ignored.
When the vm is created from the foreman, the cpu topology is created in "manual", but vmware complains that is better the other way, and also the cores per socket are ignored.
Much more of a workaround than an actual solution, but I was able to make it use the new CPU Topology by commenting out line 17 in lib/fog/vsphere/requests/compute/create_vm.rb
It seems this "cpu topology" thing is new to VMware 8. when a vm is created from vcenter, the default cpu topology is "Assigned at power on", and the cores per socket are ignored. When the vm is created from the foreman, the cpu topology is created in "manual", but vmware complains that is better the other way, and also the cores per socket are ignored.