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
