Juan Hernandez has submitted this change and it was merged.
Change subject: restapi: Remove scheduling policy built-in names and thresholds
......................................................................
restapi: Remove scheduling policy built-in names and thresholds
In the past the specification of scheduling policies for clusters was
based in built-in names and thresholds. For example a cluster that used
the evenly distributed scheduling policy was represented as follows:
<cluster>
<name>mycluster</name>
<scheduling_policy>
<policy>evenly_distributed</policy>
<thresholds high="80" duration="120"/>
</scheduling_policy>
...
</cluster>
This mechanism was replaced with a top level /schedulingpolicies
collection where scheduling policies can be defined with arbitrary names
and properties. For example, the same scheduling policy is represented
as follows in that top level collection:
<scheduling_policy>
<name>evenly_distributed</name>
<properties>
<property>
<name>CpuOverCommitDurationMinutes</name>
<value>2</value>
</property>
<property>
<name>HighUtilization</name>
<value>80</value>
</property>
</properties>
</scheduling_policy>
The representation of the cluster references the scheduling policy with
its identifier:
<cluster>
<name>mycluster</name>
<scheduling_policy id="..."/>
...
</cluster>
To preserve backwards compatibility the old "policy" and "thresholds"
elements were preserved. The scheduling policy representation embedded
within the cluster was also preserved. All these things have been
completely removed now, so the only way to specify a scheduling policy
when retrieving, creating or updating a cluster is to reference an
existing one using its identifier. For example, when retrieving a
cluster only the "id" (and "href") will be populated:
GET /clusters/{cluster:id}
<cluster>
...
<scheduling_policy id="..." href="..."/>
...
</cluster>
When creating or updating a cluster only the "id" will be accepted.
Change-Id: Iefabfc9b1d81ac650c2a7e352e9cbef9f1e63b49
Signed-off-by: Juan Hernandez <juan.hernandez(a)redhat.com>
---
M backend/manager/modules/restapi/README.md
D
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/SchedulingPolicyType.java
M
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
M backend/manager/modules/restapi/interface/definition/src/main/schema/api.xsd
M
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResource.java
M
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/ClusterValidator.java
D
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/SchedulingPolicyValidator.java
M
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendCapabilitiesResourceTest.java
M
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendCapabilityResourceTest.java
M
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/ClusterMapper.java
M
backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/ClusterMapperTest.java
11 files changed, 182 insertions(+), 318 deletions(-)
Approvals:
Juan Hernandez: Verified; Looks good to me, approved
Jenkins CI: Passed CI tests
--
To view, visit
https://gerrit.ovirt.org/46098
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iefabfc9b1d81ac650c2a7e352e9cbef9f1e63b49
Gerrit-PatchSet: 4
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <juan.hernandez(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Juan Hernandez <juan.hernandez(a)redhat.com>
Gerrit-Reviewer: Roy Golan <rgolan(a)redhat.com>
Gerrit-Reviewer: automation(a)ovirt.org