by Rafael Folco <email@example.com> and Mikhail Medvedev <firstname.lastname@example.org>
Nova Scheduler provides the RAM Weigher to weigh hosts by their RAM usage. The default behavior is to spread instances across all hosts.
However, if you have nodes with different memory sizes, the scheduler will run all VMs on the large memory systems first (until the VMs per node limit exceeds), and then start choosing the other hosts. There is nothing wrong with this, but you may want to spread your VMs among all the hosts regardless of their memory sizes. To accomplish this, you can disable RAM weigher and Nova scheduler will start choosing hosts randomly (after applying filters).