Gilad Chaplik has uploaded a new change for review.

Change subject: core: create default disk profile for attached SD
......................................................................

core: create default disk profile for attached SD

Disk profile wasn't created for 'old' storage domain that
is attached to 3.5 data center.

Also added compensation support for disk profile.

Change-Id: Ic59d6f38096fb5e20fee5b9b4705b4603fdf0d4f
Bug-Url: https://bugzilla.redhat.com/1146073
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
2 files changed, 26 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/33463/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
index 9a57721..7278aa6f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
@@ -12,6 +12,7 @@
 import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
 import org.ovirt.engine.core.bll.RetrieveImageDataParameters;
 import org.ovirt.engine.core.bll.context.CommandContext;
+import org.ovirt.engine.core.bll.profiles.DiskProfileHelper;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.FeatureSupported;
 import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
@@ -31,6 +32,7 @@
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId;
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
+import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile;
 import org.ovirt.engine.core.common.errors.VdcBLLException;
 import org.ovirt.engine.core.common.errors.VdcBllErrors;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
@@ -150,6 +152,7 @@
                                 }
                             }
                         }
+                        createDefaultDiskProfile();
                     }
 
                     runVdsCommand(VDSCommandType.AttachStorageDomain,
@@ -194,6 +197,27 @@
         }
     }
 
+    /**
+     * Creating default disk profile for existing storage domain.
+     */
+    private void createDefaultDiskProfile() {
+        if 
(FeatureSupported.storageQoS(getStoragePool().getcompatibility_version())
+                && 
getDiskProfileDao().getAllForStorageDomain(getStorageDomain().getId()).isEmpty())
 {
+            final DiskProfile diskProfile =
+                    
DiskProfileHelper.createDiskProfile(getStorageDomain().getId(),
+                            getStorageDomainName());
+            executeInNewTransaction(new TransactionMethod<Object>() {
+                @Override
+                public Void runInTransaction() {
+                    getDiskProfileDao().save(diskProfile);
+                    getCompensationContext().snapshotNewEntity(diskProfile);
+                    getCompensationContext().stateChanged();
+                    return null;
+                }
+            });
+        }
+    }
+
     protected List<OvfEntityData> getEntitiesFromStorageOvfDisk() {
         // Initialize a new ArrayList with all the ovfDisks in the specified 
Storage Domain,
         // so the entities can be removed from the list every time we register 
the latest OVF disk and we can keep the
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
index 0d92b27..85a4211 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java
@@ -51,6 +51,7 @@
 import org.ovirt.engine.core.common.businessentities.network.VmNic;
 import org.ovirt.engine.core.common.businessentities.network.VnicProfile;
 import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
+import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile;
 import org.ovirt.engine.core.common.job.Job;
 import org.ovirt.engine.core.common.job.Step;
 import org.ovirt.engine.core.compat.Guid;
@@ -204,6 +205,7 @@
             put(ExternalVariable.class, ExternalVariableDao.class);
             put(VdsKdumpStatus.class, VdsKdumpStatusDao.class);
             put(VmJob.class, VmJobDao.class);
+            put(DiskProfile.class, DiskProfileDao.class);
         }
     };
 


-- 
To view, visit http://gerrit.ovirt.org/33463
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic59d6f38096fb5e20fee5b9b4705b4603fdf0d4f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to