The OpenShift scheduler takes all decisions regarding the placement of pods on nodes, taking into account factors such as the even distribution of pods, node affinity, and available resources. The whole point of default scheduling in OpenShift is to use of available resources as efficiently as possible, but it doesn't take into account the project pods that are created in them. The reason for this is that developers shouldn't be concerned with the placement of an applications' pods across the cluster, and that's why they have absolutely no control over where their pods end up. The problem starts to manifest itself in large organizations with multiple applications subject to different policies regarding security and compliance.
For example, an application handling bank account details must be subject to thorough audit...