Alona Kaplan has uploaded a new change for review. Change subject: engine: adding maintenacneReason to vdsDynamic ......................................................................
engine: adding maintenacneReason to vdsDynamic This patch includes- 1. Adding the field to the business entity. 2. Adding a column to the table. 3. Modifying table's update method to support the new propery/column (The insert method wasn't updated since this property is not relevant when creating a vds). Change-Id: Iac900c656e8309bf9f32fcc9fa9f5c32ed26298c Bug-Url: https://bugzilla.redhat.com/678977 Signed-off-by: Alona Kaplan <[email protected]> --- 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/VdsDynamic.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java M backend/manager/modules/dal/src/test/resources/fixtures.xml M packaging/dbscripts/create_views.sql A packaging/dbscripts/upgrade/03_06_0940_add_maintenance_reason_to_vds_dynamic.sql M packaging/dbscripts/vds_sp.sql 7 files changed, 44 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/96/38296/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java index fb083a3..11b5bf6 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java @@ -7,8 +7,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; - import java.util.Set; + import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.utils.ObjectUtils; @@ -16,7 +16,7 @@ import org.ovirt.engine.core.compat.RpmVersion; import org.ovirt.engine.core.compat.Version; -public class VDS extends IVdcQueryable implements Serializable, BusinessEntityWithStatus<Guid, VDSStatus>, HasStoragePool<Guid>, Commented, Nameable, Cloneable { +public class VDS extends IVdcQueryable implements Serializable, BusinessEntityWithStatus<Guid, VDSStatus>, HasStoragePool<Guid>, Commented, Nameable, Cloneable, Reasoned { private static final long serialVersionUID = -7893976203379789926L; private VdsStatic vdsStatic; private VdsDynamic vdsDynamic; @@ -1305,4 +1305,14 @@ public boolean isFenceAgentsExist() { return !getFenceAgents().isEmpty(); } + + @Override + public String getStopReason() { + return vdsDynamic.getMaintenanceReason(); + } + + @Override + public void setStopReason(String value) { + vdsDynamic.setMaintenanceReason(value); + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java index 8f65a97..2d8ca75 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import java.util.Set; + import javax.validation.constraints.Size; import org.ovirt.engine.core.common.utils.ObjectUtils; @@ -154,6 +155,8 @@ private boolean numaSupport; private Set<VmRngDevice.Source> supportedRngSources; + + private String maintenanceReason; public VdsDynamic() { rpmVersion = new RpmVersion(); @@ -667,6 +670,14 @@ this.supportedEmulatedMachines = supportedEmulatedMachines; } + public String getMaintenanceReason() { + return maintenanceReason; + } + + public void setMaintenanceReason(String stopReason) { + this.maintenanceReason = stopReason; + } + @Override public int hashCode() { final int prime = 31; @@ -728,6 +739,7 @@ result = prime * result + (numaSupport ? 0 : 1); result = prime * result + (liveSnapshotSupport ? 0 : 1); result = prime * result + (liveMergeSupport ? 0 : 1); + result = prime * result + (maintenanceReason == null ? 0 : maintenanceReason.hashCode()); return result; } @@ -799,6 +811,7 @@ && powerManagementControlledByPolicy == other.powerManagementControlledByPolicy && ObjectUtils.objectsEqual(supportedRngSources, other.supportedRngSources) && liveSnapshotSupport == other.liveSnapshotSupport - && liveMergeSupport == other.liveMergeSupport; + && liveMergeSupport == other.liveMergeSupport + && ObjectUtils.objectsEqual(maintenanceReason, other.maintenanceReason); } } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java index 27bbefd..eda6853 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDAODbFacadeImpl.java @@ -105,6 +105,7 @@ entity.setLiveMergeSupport(rs.getBoolean("is_live_merge_supported")); entity.setSupportedEmulatedMachines(rs.getString("supported_emulated_machines")); entity.getSupportedRngSources().addAll(VmRngDevice.csvToSourcesSet(rs.getString("supported_rng_sources"))); + entity.setMaintenanceReason(rs.getString("maintenance_reason")); return entity; } } @@ -256,7 +257,8 @@ .addValue("supported_rng_sources", VmRngDevice.sourcesToCsv(vds.getSupportedRngSources())) .addValue("supported_emulated_machines", vds.getSupportedEmulatedMachines()) .addValue("is_live_snapshot_supported", vds.getLiveSnapshotSupport()) - .addValue("is_live_merge_supported", vds.getLiveMergeSupport()); + .addValue("is_live_merge_supported", vds.getLiveMergeSupport()) + .addValue("maintenance_reason", vds.getMaintenanceReason()); return parameterSource; } diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml b/backend/manager/modules/dal/src/test/resources/fixtures.xml index 67e8aaa..4db39e6 100644 --- a/backend/manager/modules/dal/src/test/resources/fixtures.xml +++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml @@ -3241,6 +3241,7 @@ <column>is_live_snapshot_supported</column> <column>is_live_merge_supported</column> <column>online_cpus</column> + <column>maintenance_reason</column> <row> <value>afce7a39-8e8c-4819-ba9c-796d316592e6</value> <value>3</value> @@ -3295,6 +3296,7 @@ <value>true</value> <value>true</value> <value>0,1,2,3</value> + <null /> </row> <row> <value>afce7a39-8e8c-4819-ba9c-796d316592e7</value> @@ -3350,6 +3352,7 @@ <value>false</value> <value>false</value> <value>0,2,4</value> + <null /> </row> <row> <value>afce7a39-8e8c-4819-ba9c-796d316592e8</value> @@ -3405,6 +3408,7 @@ <value>false</value> <value>false</value> <value>0,8,16,24,32</value> + <null /> </row> <row> <value>23f6d691-5dfb-472b-86dc-9e1d2d3c18f3</value> @@ -3460,6 +3464,7 @@ <value>true</value> <value>true</value> <value>0,128</value> + <null /> </row> <row> <value>2001751e-549b-4e7a-aff6-32d36856c125</value> @@ -3515,6 +3520,7 @@ <value>true</value> <value>true</value> <value>0,1,2,3,4,5,6,7,8</value> + <null /> </row> </table> diff --git a/packaging/dbscripts/create_views.sql b/packaging/dbscripts/create_views.sql index e003ffe..e6f201d 100644 --- a/packaging/dbscripts/create_views.sql +++ b/packaging/dbscripts/create_views.sql @@ -1412,7 +1412,8 @@ fence_agents.agent_user AS agent_user, fence_agents.agent_password AS agent_password, fence_agents.port AS agent_port, - fence_agents.options AS agent_options + fence_agents.options AS agent_options, + vds_dynamic.maintenance_reason AS maintenance_reason FROM vds_groups INNER JOIN vds_static ON vds_groups.vds_group_id = vds_static.vds_group_id @@ -1547,7 +1548,8 @@ fence_agents.agent_user AS agent_user, fence_agents.agent_password AS agent_password, fence_agents.port AS agent_port, - fence_agents.options AS agent_options + fence_agents.options AS agent_options, + vds_dynamic.maintenance_reason AS maintenance_reason FROM vds_groups INNER JOIN vds_static ON vds_groups.vds_group_id = vds_static.vds_group_id diff --git a/packaging/dbscripts/upgrade/03_06_0940_add_maintenance_reason_to_vds_dynamic.sql b/packaging/dbscripts/upgrade/03_06_0940_add_maintenance_reason_to_vds_dynamic.sql new file mode 100644 index 0000000..6366798 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_06_0940_add_maintenance_reason_to_vds_dynamic.sql @@ -0,0 +1 @@ +select fn_db_add_column('vds_dynamic', 'maintenance_reason', 'text'); diff --git a/packaging/dbscripts/vds_sp.sql b/packaging/dbscripts/vds_sp.sql index 66232ca..756f781 100644 --- a/packaging/dbscripts/vds_sp.sql +++ b/packaging/dbscripts/vds_sp.sql @@ -293,7 +293,8 @@ v_supported_rng_sources VARCHAR(255), v_is_live_snapshot_supported BOOLEAN, v_is_live_merge_supported BOOLEAN, - v_online_cpus TEXT) + v_online_cpus TEXT, + v_maintenance_reason TEXT) RETURNS VOID --The [vds_dynamic] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated @@ -331,7 +332,8 @@ supported_rng_sources = v_supported_rng_sources, is_live_snapshot_supported = v_is_live_snapshot_supported, is_live_merge_supported = v_is_live_merge_supported, - online_cpus = v_online_cpus + online_cpus = v_online_cpus, + maintenance_reason = v_maintenance_reason WHERE vds_id = v_vds_id; END; -- To view, visit https://gerrit.ovirt.org/38296 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iac900c656e8309bf9f32fcc9fa9f5c32ed26298c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
