weizhouapache commented on code in PR #9531:
URL: https://github.com/apache/cloudstack/pull/9531#discussion_r3434307032
##########
engine/schema/src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java:
##########
@@ -998,7 +1005,12 @@ public Pair<List<Long>, Map<Long, Double>>
orderClustersByAggregateCapacity(long
sql.append(ORDER_CLUSTERS_BY_AGGREGATE_OVERCOMMIT_CAPACITY_PART1);
}
- sql.append(ORDER_CLUSTERS_BY_AGGREGATE_CAPACITY_JOIN_1);
+ if (isVr && allowRoutersOnDedicatedResources) {
+
sql.append(ORDER_CLUSTERS_BY_AGGREGATE_CAPACITY_INCLUDE_DEDICATED_JOIN_CLAUSE.replace("ownerId",
ownerId.toString()));
Review Comment:
this is not elegant I think
##########
api/src/main/java/com/cloud/deploy/DeploymentClusterPlanner.java:
##########
@@ -68,6 +68,14 @@ public interface DeploymentClusterPlanner extends
DeploymentPlanner {
ConfigKey.Kind.Select,
"random,firstfit,userdispersing,firstfitleastconsumed");
+ ConfigKey<Boolean> allowRoutersOnDedicatedResources = new ConfigKey<>(
Review Comment:
this may be not required.
in my opinion, the VR should always be allowed to deploy on resource
dedicated to the owner of the VR
##########
engine/schema/src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java:
##########
@@ -87,6 +87,13 @@ public class CapacityDaoImpl extends
GenericDaoBase<CapacityVO, Long> implements
"LEFT JOIN dedicated_resources dr_cluster ON
dr_cluster.cluster_id IS NOT NULL AND dr_cluster.cluster_id = host.cluster_id "
+
"LEFT JOIN dedicated_resources dr_host ON dr_host.host_id
IS NOT NULL AND dr_host.host_id = host.id ";
+ private static final String
ORDER_CLUSTERS_BY_AGGREGATE_CAPACITY_INCLUDE_DEDICATED_JOIN_CLAUSE =
+ "JOIN host ON capacity.host_id = host.id " +
+ "LEFT JOIN (SELECT affinity_group.id, agvm.instance_id
FROM affinity_group_vm_map agvm JOIN affinity_group ON agvm.affinity_group_id =
affinity_group.id AND affinity_group.type='ExplicitDedication') AS ag ON
ag.instance_id = ? " +
+ "LEFT JOIN dedicated_resources dr_pod ON dr_pod.pod_id IS
NOT NULL AND dr_pod.pod_id = host.pod_id AND dr_pod.account_id IS NOT NULL AND
dr_pod.account_id != ownerId " +
Review Comment:
what about resources dedicated to domain ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]