mirror of https://github.com/apache/cloudstack.git
vmware: encode disk path for URL based access (#6989)
This commit is contained in:
parent
4d80ea6846
commit
e5158b29ee
|
|
@ -16,29 +16,6 @@
|
|||
// under the License.
|
||||
package com.cloud.hypervisor.vmware.util;
|
||||
|
||||
import com.cloud.hypervisor.vmware.mo.DatacenterMO;
|
||||
import com.cloud.hypervisor.vmware.mo.DatastoreFile;
|
||||
import com.cloud.utils.ActionDelegate;
|
||||
import com.cloud.utils.StringUtils;
|
||||
import com.vmware.pbm.PbmPortType;
|
||||
import com.vmware.pbm.PbmServiceInstanceContent;
|
||||
import com.vmware.vim25.ManagedObjectReference;
|
||||
import com.vmware.vim25.ObjectContent;
|
||||
import com.vmware.vim25.ObjectSpec;
|
||||
import com.vmware.vim25.PropertyFilterSpec;
|
||||
import com.vmware.vim25.PropertySpec;
|
||||
import com.vmware.vim25.ServiceContent;
|
||||
import com.vmware.vim25.TaskInfo;
|
||||
import com.vmware.vim25.TraversalSpec;
|
||||
import com.vmware.vim25.VimPortType;
|
||||
import org.apache.cloudstack.utils.security.SSLUtils;
|
||||
import org.apache.cloudstack.utils.security.SecureSSLSocketFactory;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.net.ssl.SSLSession;
|
||||
import javax.xml.ws.soap.SOAPFaultException;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.BufferedReader;
|
||||
|
|
@ -59,6 +36,31 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.net.ssl.SSLSession;
|
||||
import javax.xml.ws.soap.SOAPFaultException;
|
||||
|
||||
import org.apache.cloudstack.utils.security.SSLUtils;
|
||||
import org.apache.cloudstack.utils.security.SecureSSLSocketFactory;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.hypervisor.vmware.mo.DatacenterMO;
|
||||
import com.cloud.hypervisor.vmware.mo.DatastoreFile;
|
||||
import com.cloud.utils.ActionDelegate;
|
||||
import com.cloud.utils.StringUtils;
|
||||
import com.vmware.pbm.PbmPortType;
|
||||
import com.vmware.pbm.PbmServiceInstanceContent;
|
||||
import com.vmware.vim25.ManagedObjectReference;
|
||||
import com.vmware.vim25.ObjectContent;
|
||||
import com.vmware.vim25.ObjectSpec;
|
||||
import com.vmware.vim25.PropertyFilterSpec;
|
||||
import com.vmware.vim25.PropertySpec;
|
||||
import com.vmware.vim25.ServiceContent;
|
||||
import com.vmware.vim25.TaskInfo;
|
||||
import com.vmware.vim25.TraversalSpec;
|
||||
import com.vmware.vim25.VimPortType;
|
||||
|
||||
public class VmwareContext {
|
||||
private static final Logger s_logger = Logger.getLogger(VmwareContext.class);
|
||||
|
||||
|
|
@ -631,12 +633,12 @@ public class VmwareContext {
|
|||
sb.append("https://");
|
||||
sb.append(_serverAddress);
|
||||
sb.append("/folder/");
|
||||
sb.append(relativePath);
|
||||
try {
|
||||
sb.append(URLEncoder.encode(relativePath, "UTF-8"));
|
||||
sb.append("?dcPath=").append(URLEncoder.encode(dcName, "UTF-8"));
|
||||
sb.append("&dsName=").append(URLEncoder.encode(datastoreName, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
s_logger.error("Unable to encode URL. dcPath : " + dcName + ", dsName :" + datastoreName, e);
|
||||
s_logger.error(String.format("Unable to encode URL. relativePath : %s, dcPath : %s, dsName : %s", relativePath, dcName, datastoreName), e);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue