Juan Hernandez has uploaded a new change for review.

Change subject: restapi: Don't override potentially existing configuration
......................................................................

restapi: Don't override potentially existing configuration

Currently the mapping method that populates the configuration of a VM
(the OVF configuration, for example) doesn't take into account that it
may already contain other values, like cloud-init or sysprep
configuration.  As a result the existing configuration is completely
replaced, and a wrong result is returned to the user. This patch changes
that mapping method so that it uses the existing configuration should it
exist.

Change-Id: Ica89aac29e19e959f0a44402f2715f18de984c1f
Bug-Url: https://bugzilla.redhat.com/1218316
Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com>
---
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
1 file changed, 13 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/06/40506/1

diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
index ffef9e3..ce41d41 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
@@ -657,11 +657,19 @@
         }
     }
 
-    public static VM map(String configuration, ConfigurationType type, VM vm) {
-        vm.setInitialization(new Initialization());
-        vm.getInitialization().setConfiguration(new Configuration());
-        vm.getInitialization().getConfiguration().setData(configuration);
-        vm.getInitialization().getConfiguration().setType(type.value());
+    public static VM map(String data, ConfigurationType type, VM vm) {
+        Initialization initialization = vm.getInitialization();
+        if (initialization == null) {
+            initialization = new Initialization();
+            vm.setInitialization(initialization);
+        }
+        Configuration configuration = initialization.getConfiguration();
+        if (configuration == null) {
+            configuration = new Configuration();
+            initialization.setConfiguration(configuration);
+        }
+        configuration.setData(data);
+        configuration.setType(type.value());
         return vm;
     }
 


-- 
To view, visit https://gerrit.ovirt.org/40506
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ica89aac29e19e959f0a44402f2715f18de984c1f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to