Change in ovirt-engine[master]: Host Power-Management Refactor (#977674)

Eli Mesika has submitted this change and it was merged. Change subject: Host Power-Management Refactor (#977674) ...................................................................... Host Power-Management Refactor (#977674) This patch refactors Power-Management to work with 'n' fence agents. Fence agents now have their own table in the database. Each fence agent has an 'order' field, and agents are run sequentially according to their order until the fence operation succeeds. When 2 or more agents have the same order they are run concurrently. Power-Management health check was also modified to consider n agents. API was enhanced to include 'n' or more agents. Now fence-agents have their own API context: .../api/hosts/xxx/fenceagents. Agents can by added, updated and deleted. Change-Id: Id0b384347a52db8b0aa6ae684fad40a5491dd2f7 Signed-off-by: Ori Liel <oliel@redhat.com> Signed-off-by: emesika <emesika@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddFenceAgentCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ClearNonResponsiveVdsVmsCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/FenceAgentCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/FenceExecutor.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/FenceProxyLocator.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/FenceVdsBaseCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAgentFenceOptionsQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetFenceAgentByIdQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetFenceAgentsByVdsIdQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetNewVdsFenceStatusQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsFenceStatusQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InstallVdsInternalCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RegisterVdsQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveFenceAgentCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestartVdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StartVdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVdsCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateFenceAgentCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpgradeOvirtNodeInternalCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsGroupOperationCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsNotRespondingTreatmentCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/RemoveFenceAgentsByVdsIdCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PmHealthCheckManager.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PowerManagementHelper.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/FenceValidator.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVdsCommandTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsCommandTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVdsActionParameters.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/FenceAgentCommandParameterBase.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateVdsActionParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdsOperationActionParameters.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FenceAgent.java D backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/FenceAgentOrder.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatic.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetNewVdsFenceStatusParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSFenceReturnValue.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSReturnValue.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AlertDirector.java A backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/FenceAgentDAO.java A backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/FenceAgentDaoDbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties M backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties M backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties M backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VdsDAOTest.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VdsStaticDAOTest.java M backend/manager/modules/dal/src/test/resources/fixtures.xml A backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentResource.java A backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/FenceAgentsResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/HostResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java M backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd M backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml A backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentResource.java A backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFenceAgentsResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostResourceTest.java A backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapper.java A backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/FenceAgentMapper.java M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java A backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/utils/AgentComparator.java A backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DeprecatedPowerManagementMapperTest.java M backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/HostMapperTest.java M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/pm/VdsFenceOptions.java M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializer.java D backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonVDSMixIn.java D backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonVdsStaticMixIn.java M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/threadpool/ThreadPoolUtil.java M backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializationEntitiesTest.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/FenceVdsVDSCommand.java M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java M packaging/dbscripts/create_dwh_views.sql M packaging/dbscripts/create_tables.sql M packaging/dbscripts/create_views.sql A packaging/dbscripts/fence_agents_sp.sql A packaging/dbscripts/upgrade/03_06_0620_create_fence_agents_table.sql M packaging/dbscripts/upgrade/post_upgrade/0010_add_object_column_white_list_table.sql M packaging/dbscripts/vds_sp.sql 99 files changed, 3,770 insertions(+), 2,508 deletions(-) Approvals: Eli Mesika: Verified; Looks good to me, approved -- To view, visit http://gerrit.ovirt.org/27578 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id0b384347a52db8b0aa6ae684fad40a5491dd2f7 Gerrit-PatchSet: 46 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ori Liel <oliel@redhat.com> Gerrit-Reviewer: Eli Mesika <emesika@redhat.com> Gerrit-Reviewer: Liran Zelkha <lzelkha@redhat.com> Gerrit-Reviewer: Martin Peřina <mperina@redhat.com> Gerrit-Reviewer: Ori Liel <oliel@redhat.com> Gerrit-Reviewer: Oved Ourfali <oourfali@redhat.com> Gerrit-Reviewer: Ravi Nori <rnori@redhat.com> Gerrit-Reviewer: Yair Zaslavsky <yzaslavs@redhat.com> Gerrit-Reviewer: automation@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server
participants (1)
-
emesika@redhat.com