Daniel Erez has uploaded a new change for review.

Change subject: core: add RegisterLibvritVdsCommand
......................................................................

core: add RegisterLibvritVdsCommand

Adding RegisterLibvirtSecretsVDSCommand and integrate
with vdsm's registerSecrets api.

Change-Id: Ib14bbf18dff4d89bf0bb29cdbdd65547cb72a178
Bug-Url: https://bugzilla.redhat.com/1185826
Signed-off-by: Daniel Erez <[email protected]>
---
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/RegisterLibvirtSecretsVDSParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/RegisterLibvirtSecretsVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
7 files changed, 99 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/41557/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/RegisterLibvirtSecretsVDSParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/RegisterLibvirtSecretsVDSParameters.java
new file mode 100644
index 0000000..fd46448
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/RegisterLibvirtSecretsVDSParameters.java
@@ -0,0 +1,34 @@
+package org.ovirt.engine.core.common.vdscommands;
+
+import org.ovirt.engine.core.common.businessentities.storage.LibvirtSecret;
+import org.ovirt.engine.core.common.utils.ToStringBuilder;
+import org.ovirt.engine.core.compat.Guid;
+
+import java.util.List;
+
+public class RegisterLibvirtSecretsVDSParameters extends 
VdsIdVDSCommandParametersBase {
+
+    private List<LibvirtSecret> libvirtSecrets;
+
+    public RegisterLibvirtSecretsVDSParameters(Guid vdsId, List<LibvirtSecret> 
libvirtSecrets) {
+        super(vdsId);
+        this.libvirtSecrets = libvirtSecrets;
+    }
+
+    public RegisterLibvirtSecretsVDSParameters() {
+    }
+
+    public List<LibvirtSecret> getLibvirtSecrets() {
+        return libvirtSecrets;
+    }
+
+    public void setLibvirtSecrets(List<LibvirtSecret> libvirtSecrets) {
+        this.libvirtSecrets = libvirtSecrets;
+    }
+
+    @Override
+    protected ToStringBuilder appendAttributes(ToStringBuilder tsb) {
+        return super.appendAttributes(tsb)
+                .append("libvirtSecrets", getLibvirtSecrets());
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
index 1eab009..ef31f02 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java
@@ -193,6 +193,7 @@
     HostDevListByCaps("org.ovirt.engine.core.vdsbroker"),        // get all 
host devices with passthrough information
     Destroy("org.ovirt.engine.core.vdsbroker.vdsbroker"),        // Clean a 
DOWN VM from the vms list
     HostDevChangeNumVfs("org.ovirt.engine.core.vdsbroker.vdsbroker"),
+    RegisterLibvirtSecrets("org.ovirt.engine.core.vdsbroker.vdsbroker"),
     /**
      * Get Host capabilities
      */
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
index 5720e45..987da0a 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
@@ -1878,4 +1878,13 @@
         return new StatusOnlyReturnForXmlRpc(response);
     }
 
+    @Override
+    public StatusOnlyReturnForXmlRpc registerSecrets(Map<String, String>[] 
libvirtSecrets) {
+        JsonRpcRequest request =
+                new 
RequestBuilder("Host.registerSecrets").withParameter("secrets", libvirtSecrets)
+                        .build();
+        Map<String, Object> response = new FutureMap(this.client, request);
+        return new StatusOnlyReturnForXmlRpc(response);
+    }
+
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
index 8a3ba99..530049f 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
@@ -438,4 +438,6 @@
     StorageDeviceListReturnForXmlRpc glusterStorageDeviceList();
 
     StatusOnlyReturnForXmlRpc hostdevChangeNumvfs(String deviceName, int 
numOfVfs);
+
+    StatusOnlyReturnForXmlRpc registerSecrets(Map<String, String>[] 
libvirtSecrets);
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/RegisterLibvirtSecretsVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/RegisterLibvirtSecretsVDSCommand.java
new file mode 100644
index 0000000..df87d13
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/RegisterLibvirtSecretsVDSCommand.java
@@ -0,0 +1,41 @@
+package org.ovirt.engine.core.vdsbroker.vdsbroker;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.ovirt.engine.core.common.businessentities.storage.LibvirtSecret;
+import 
org.ovirt.engine.core.common.vdscommands.RegisterLibvirtSecretsVDSParameters;
+
+public class RegisterLibvirtSecretsVDSCommand<P extends 
RegisterLibvirtSecretsVDSParameters> extends VdsBrokerCommand<P> {
+
+    public RegisterLibvirtSecretsVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        status = 
getBroker().registerSecrets(buildStructFromLibvirtSecretsList());
+        proceedProxyReturnValue();
+    }
+
+    @SuppressWarnings({"unchecked", "SuspiciousToArrayCall"})
+    protected Map<String, String>[] buildStructFromLibvirtSecretsList() {
+        final List<Map<String, String>> structs = new ArrayList<>();
+        for (LibvirtSecret libvirtSecret : 
getParameters().getLibvirtSecrets()) {
+            structs.add(createStructFromLibvirtSecret(libvirtSecret));
+        }
+        return structs.toArray(new HashMap[structs.size()]);
+    }
+
+    public static Map<String, String> 
createStructFromLibvirtSecret(LibvirtSecret libvirtSecret) {
+        HashMap<String, String> con = new HashMap<>();
+        con.put("uuid", libvirtSecret.getId().toString());
+        con.put("password", libvirtSecret.getValue());
+        con.put("description", libvirtSecret.getDescription());
+        con.put("usageType", libvirtSecret.getUsageType().name());
+        con.put("usageID", String.format("ovirt/%s/%s", 
libvirtSecret.getProviderId(), libvirtSecret.getId()));
+        return con;
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
index ee97b86..9f90deb 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java
@@ -409,4 +409,6 @@
             Map<String, Object> raidParams);
 
     public Map<String, Object> hostdevChangeNumvfs(String deviceName, int 
numOfVfs);
+
+    public Map<String, Object> registerSecrets(Map<String, String>[] 
libvirtSecrets);
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
index 878a63a..9397d14 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
@@ -1859,4 +1859,14 @@
 
     }
 
+    @Override
+    public StatusOnlyReturnForXmlRpc registerSecrets(Map<String, String>[] 
libvirtSecrets) {
+        try {
+            Map<String, Object> xmlRpcReturnValue = 
vdsServer.registerSecrets(libvirtSecrets);
+            return new StatusOnlyReturnForXmlRpc(xmlRpcReturnValue);
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
 }


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

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

Reply via email to