The overcommitment ratio is not the only restriction on the amount of assignable CPUs. While all VMs together may have <physical cores> * <overcommitment ratio>, there is also the limitation that a single VM cannot have more CPUs than its host. Your setup violates this last rule. AFAIK this rule is not implemented by OpenStack directly but rather through the hypervisor. Nova-compute merely communicates the fact that the hypervisor cannot host your VM.