Ori Liel has uploaded a new change for review. Change subject: restapi: Don't display PM type when PM disabled (#1191478) ......................................................................
restapi: Don't display PM type when PM disabled (#1191478) Currenly Power-Management type is disaplyed even when Power-Managemnent is disabled for the host. This patch fixed that. This patch also declares this field as deprecated, since speaking of the 'type' of Power-Management doesn't make sense since intorduction of fence-agents. Type should be associated with a specific agent, not the entire PM. It was not deleted from PM to maintain backwards compatibility. Bug-Url: http://bugzilla.redhat.com/1191478 Change-Id: I0630ebde2b342964f44c3fad51de1ca5032b5c23 Signed-off-by: Ori Liel <[email protected]> --- M backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapper.java M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java M backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapperTest.java 4 files changed, 14 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/82/40382/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd index f91d638..1bde347 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd +++ b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd @@ -1808,6 +1808,7 @@ <xs:element name="automatic_pm_enabled" type="xs:boolean" minOccurs="0" maxOccurs="1"/> <xs:element name="kdump_detection" type="xs:boolean" minOccurs="0" maxOccurs="1"/> </xs:sequence> + <!-- TODO: (deprecated) remove 'type' post 4.0 --> <xs:attribute name="type" type="xs:string"/> </xs:complexType> diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapper.java index 56856cb..d5ce965 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapper.java @@ -9,6 +9,7 @@ import org.ovirt.engine.api.model.Agents; import org.ovirt.engine.api.model.PowerManagement; import org.ovirt.engine.api.restapi.utils.AgentComparator; +import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.pm.FenceAgent; import org.ovirt.engine.core.compat.Guid; @@ -121,14 +122,18 @@ /** * Map the fence agents from this host into the PowerManagement object in the API. */ - public static PowerManagement map(List<FenceAgent> agents, PowerManagement pm) { + public static PowerManagement map(VDS host, PowerManagement pm) { if (pm == null) { pm = new PowerManagement(); } + List<FenceAgent> agents = host.getFenceAgents(); if (agents != null && !agents.isEmpty()) { Collections.sort(agents, new FenceAgent.FenceAgentOrderComparator()); // Set agent-related fields directly in PowerManagement object (for backwards compatibility). mapAgentToPm(agents.get(0), pm); + if (!host.isPmEnabled()) { + pm.setType(null); + } pm.setAgents(new Agents()); pm.getAgents().getAgents().add(new Agent()); // map the first agent diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java index 54fa462..048ecb6 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java @@ -236,7 +236,7 @@ model.getIscsi().setInitiator(entity.getIScsiInitiatorName()); } PowerManagement pm = map(entity, (PowerManagement) null); - model.setPowerManagement(DeprecatedPowerManagementMapper.map(entity.getFenceAgents(), pm)); + model.setPowerManagement(DeprecatedPowerManagementMapper.map(entity, pm)); model.setHardwareInformation(map(entity, (HardwareInformation)null)); model.setSsh(map(entity.getStaticData(), (SSH) null)); CPU cpu = new CPU(); @@ -390,7 +390,7 @@ model.setEnabled(entity.isPmEnabled()); model.setAutomaticPmEnabled(!entity.isDisablePowerManagementPolicy()); if (entity.isPmEnabled()) { - DeprecatedPowerManagementMapper.map(entity.getFenceAgents(), model); + DeprecatedPowerManagementMapper.map(entity, model); } return model; } diff --git a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapperTest.java b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapperTest.java index a235f1d..5eb07b8 100644 --- a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapperTest.java +++ b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapperTest.java @@ -11,6 +11,7 @@ import org.ovirt.engine.api.model.Option; import org.ovirt.engine.api.model.Options; import org.ovirt.engine.api.model.PowerManagement; +import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.pm.FenceAgent; import org.ovirt.engine.core.compat.Guid; @@ -114,6 +115,9 @@ String[] ip = { "1.1.1.111", "1.1.1.112" }; int i = 0; List<FenceAgent> agents = new LinkedList<>(); + VDS vds = new VDS(); + vds.setPmEnabled(true); + vds.setFenceAgents(agents); FenceAgent primaryAgent = createFenceAgent(new Guid("00000000-0000-0000-0000-000000000000"), ip[0], @@ -134,7 +138,7 @@ "secure=true", 1); // concurrent agents.add(secondaryAgent); - PowerManagement powerMgmt = DeprecatedPowerManagementMapper.map(agents, null); + PowerManagement powerMgmt = DeprecatedPowerManagementMapper.map(vds, null); assertEquals(powerMgmt.getAgents().getAgents().size(), 2); for (Agent agent : powerMgmt.getAgents().getAgents()) { assertEquals(agent.getAddress(), ip[i]); -- To view, visit https://gerrit.ovirt.org/40382 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0630ebde2b342964f44c3fad51de1ca5032b5c23 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ori Liel <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
