mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Fix merge errors
This commit is contained in:
parent
dbfc7f23a7
commit
554ea220f0
@ -2171,11 +2171,11 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy {
|
|||||||
srcVolumeInfo.getTemplateId() != null &&
|
srcVolumeInfo.getTemplateId() != null &&
|
||||||
Objects.nonNull(vmTemplate) &&
|
Objects.nonNull(vmTemplate) &&
|
||||||
!Arrays.asList(KVM_VM_IMPORT_DEFAULT_TEMPLATE_NAME, VM_IMPORT_DEFAULT_TEMPLATE_NAME).contains(vmTemplate.getName())) {
|
!Arrays.asList(KVM_VM_IMPORT_DEFAULT_TEMPLATE_NAME, VM_IMPORT_DEFAULT_TEMPLATE_NAME).contains(vmTemplate.getName())) {
|
||||||
LOGGER.debug(String.format("Copying template [%s] of volume [%s] from source storage pool [%s] to target storage pool [%s].", srcVolumeInfo.getTemplateId(), srcVolumeInfo.getId(), sourceStoragePool.getId(), destStoragePool.getId()));
|
logger.debug(String.format("Copying template [%s] of volume [%s] from source storage pool [%s] to target storage pool [%s].", srcVolumeInfo.getTemplateId(), srcVolumeInfo.getId(), sourceStoragePool.getId(), destStoragePool.getId()));
|
||||||
copyTemplateToTargetFilesystemStorageIfNeeded(srcVolumeInfo, sourceStoragePool, destDataStore, destStoragePool, destHost);
|
copyTemplateToTargetFilesystemStorageIfNeeded(srcVolumeInfo, sourceStoragePool, destDataStore, destStoragePool, destHost);
|
||||||
return MigrationOptions.Type.LinkedClone;
|
return MigrationOptions.Type.LinkedClone;
|
||||||
}
|
}
|
||||||
LOGGER.debug(String.format("Skipping copy template from source storage pool [%s] to target storage pool [%s] before migration due to volume [%s] does not have a " +
|
logger.debug(String.format("Skipping copy template from source storage pool [%s] to target storage pool [%s] before migration due to volume [%s] does not have a " +
|
||||||
"template or we are doing full clone migration.", sourceStoragePool.getId(), destStoragePool.getId(), srcVolumeInfo.getId()));
|
"template or we are doing full clone migration.", sourceStoragePool.getId(), destStoragePool.getId(), srcVolumeInfo.getId()));
|
||||||
return MigrationOptions.Type.FullClone;
|
return MigrationOptions.Type.FullClone;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,8 +46,6 @@ import org.apache.cloudstack.storage.datastore.db.ObjectStoreDetailsDao;
|
|||||||
import org.apache.cloudstack.storage.datastore.db.ObjectStoreVO;
|
import org.apache.cloudstack.storage.datastore.db.ObjectStoreVO;
|
||||||
import org.apache.cloudstack.storage.object.BaseObjectStoreDriverImpl;
|
import org.apache.cloudstack.storage.object.BaseObjectStoreDriverImpl;
|
||||||
import org.apache.cloudstack.storage.object.BucketObject;
|
import org.apache.cloudstack.storage.object.BucketObject;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
import org.twonote.rgwadmin4j.RgwAdmin;
|
import org.twonote.rgwadmin4j.RgwAdmin;
|
||||||
import org.twonote.rgwadmin4j.RgwAdminBuilder;
|
import org.twonote.rgwadmin4j.RgwAdminBuilder;
|
||||||
import org.twonote.rgwadmin4j.model.BucketInfo;
|
import org.twonote.rgwadmin4j.model.BucketInfo;
|
||||||
@ -62,7 +60,6 @@ import java.util.Map;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class CephObjectStoreDriverImpl extends BaseObjectStoreDriverImpl {
|
public class CephObjectStoreDriverImpl extends BaseObjectStoreDriverImpl {
|
||||||
private static final Logger s_logger = LogManager.getLogger(CephObjectStoreDriverImpl.class);
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
AccountDao _accountDao;
|
AccountDao _accountDao;
|
||||||
@ -168,7 +165,7 @@ public class CephObjectStoreDriverImpl extends BaseObjectStoreDriverImpl {
|
|||||||
String policyConfig;
|
String policyConfig;
|
||||||
|
|
||||||
if (policy.equalsIgnoreCase("public")) {
|
if (policy.equalsIgnoreCase("public")) {
|
||||||
s_logger.debug("Setting public policy on bucket " + bucket.getName());
|
logger.debug("Setting public policy on bucket " + bucket.getName());
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
builder.append("{\n");
|
builder.append("{\n");
|
||||||
builder.append(" \"Statement\": [\n");
|
builder.append(" \"Statement\": [\n");
|
||||||
@ -192,7 +189,7 @@ public class CephObjectStoreDriverImpl extends BaseObjectStoreDriverImpl {
|
|||||||
builder.append("}\n");
|
builder.append("}\n");
|
||||||
policyConfig = builder.toString();
|
policyConfig = builder.toString();
|
||||||
} else {
|
} else {
|
||||||
s_logger.debug("Setting private policy on bucket " + bucket.getName());
|
logger.debug("Setting private policy on bucket " + bucket.getName());
|
||||||
policyConfig = "{\"Version\":\"2012-10-17\",\"Statement\":[]}";
|
policyConfig = "{\"Version\":\"2012-10-17\",\"Statement\":[]}";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,15 +215,15 @@ public class CephObjectStoreDriverImpl extends BaseObjectStoreDriverImpl {
|
|||||||
RgwAdmin rgwAdmin = getRgwAdminClient(storeId);
|
RgwAdmin rgwAdmin = getRgwAdminClient(storeId);
|
||||||
String username = account.getUuid();
|
String username = account.getUuid();
|
||||||
|
|
||||||
s_logger.debug("Attempting to create Ceph RGW user for account " + account.getAccountName() + " with UUID " + username);
|
logger.debug("Attempting to create Ceph RGW user for account " + account.getAccountName() + " with UUID " + username);
|
||||||
try {
|
try {
|
||||||
Optional<User> user = rgwAdmin.getUserInfo(username);
|
Optional<User> user = rgwAdmin.getUserInfo(username);
|
||||||
if (user.isPresent()) {
|
if (user.isPresent()) {
|
||||||
s_logger.info("User already exists in Ceph RGW: " + username);
|
logger.info("User already exists in Ceph RGW: " + username);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
s_logger.debug("User does not exist. Creating user in Ceph RGW: " + username);
|
logger.debug("User does not exist. Creating user in Ceph RGW: " + username);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -39,7 +39,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class CephObjectStoreLifeCycleImpl implements ObjectStoreLifeCycle {
|
public class CephObjectStoreLifeCycleImpl implements ObjectStoreLifeCycle {
|
||||||
|
|
||||||
private static final Logger s_logger = LogManager.getLogger(CephObjectStoreLifeCycleImpl.class);
|
private Logger logger = LogManager.getLogger(CephObjectStoreLifeCycleImpl.class);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ObjectStoreHelper objectStoreHelper;
|
ObjectStoreHelper objectStoreHelper;
|
||||||
@ -72,7 +72,7 @@ public class CephObjectStoreLifeCycleImpl implements ObjectStoreLifeCycle {
|
|||||||
objectStoreParameters.put("accesskey", accessKey);
|
objectStoreParameters.put("accesskey", accessKey);
|
||||||
objectStoreParameters.put("secretkey", secretKey);
|
objectStoreParameters.put("secretkey", secretKey);
|
||||||
|
|
||||||
s_logger.info("Attempting to connect to Ceph RGW at " + url + " with access key " + accessKey);
|
logger.info("Attempting to connect to Ceph RGW at " + url + " with access key " + accessKey);
|
||||||
|
|
||||||
RgwAdmin rgwAdmin = new RgwAdminBuilder()
|
RgwAdmin rgwAdmin = new RgwAdminBuilder()
|
||||||
.accessKey(accessKey)
|
.accessKey(accessKey)
|
||||||
@ -81,10 +81,10 @@ public class CephObjectStoreLifeCycleImpl implements ObjectStoreLifeCycle {
|
|||||||
.build();
|
.build();
|
||||||
try {
|
try {
|
||||||
List<String> buckets = rgwAdmin.listBucket();
|
List<String> buckets = rgwAdmin.listBucket();
|
||||||
s_logger.debug("Found " + buckets + " buckets at Ceph RGW: " + url);
|
logger.debug("Found " + buckets + " buckets at Ceph RGW: " + url);
|
||||||
s_logger.info("Successfully connected to Ceph RGW: " + url);
|
logger.info("Successfully connected to Ceph RGW: " + url);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
s_logger.debug("Error while initializing Ceph RGW Object Store: " + e.getMessage());
|
logger.debug("Error while initializing Ceph RGW Object Store: " + e.getMessage());
|
||||||
throw new RuntimeException("Error while initializing Ceph RGW Object Store. Invalid credentials or URL");
|
throw new RuntimeException("Error while initializing Ceph RGW Object Store. Invalid credentials or URL");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -319,7 +319,7 @@ public class SAMLUtils {
|
|||||||
}
|
}
|
||||||
String sameSite = ApiServlet.getApiSessionKeySameSite();
|
String sameSite = ApiServlet.getApiSessionKeySameSite();
|
||||||
String sessionKeyCookie = String.format("%s=%s;Domain=%s;Path=%s;%s", ApiConstants.SESSIONKEY, loginResponse.getSessionKey(), domain, path, sameSite);
|
String sessionKeyCookie = String.format("%s=%s;Domain=%s;Path=%s;%s", ApiConstants.SESSIONKEY, loginResponse.getSessionKey(), domain, path, sameSite);
|
||||||
s_logger.debug("Adding sessionkey cookie to response: " + sessionKeyCookie);
|
LOGGER.debug("Adding sessionkey cookie to response: " + sessionKeyCookie);
|
||||||
resp.addHeader("SET-COOKIE", sessionKeyCookie);
|
resp.addHeader("SET-COOKIE", sessionKeyCookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -310,7 +310,7 @@ public class ParamProcessWorker implements DispatchWorker {
|
|||||||
doAccessChecks(cmd, entitiesToAccess);
|
doAccessChecks(cmd, entitiesToAccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doAccessChecks(BaseCmd cmd, Map<Object, AccessType> entitiesToAccess) {
|
protected void doAccessChecks(BaseCmd cmd, Map<Object, AccessType> entitiesToAccess) {
|
||||||
Account caller = CallContext.current().getCallingAccount();
|
Account caller = CallContext.current().getCallingAccount();
|
||||||
List<Long> entityOwners = cmd.getEntityOwnerIds();
|
List<Long> entityOwners = cmd.getEntityOwnerIds();
|
||||||
Account[] owners = null;
|
Account[] owners = null;
|
||||||
|
|||||||
@ -749,9 +749,9 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
|
|||||||
} else if (Domain.class.isAssignableFrom(resourceClass)) {
|
} else if (Domain.class.isAssignableFrom(resourceClass)) {
|
||||||
checkAccess(account, (Domain) resource);
|
checkAccess(account, (Domain) resource);
|
||||||
} else if (InfrastructureEntity.class.isAssignableFrom(resourceClass)) {
|
} else if (InfrastructureEntity.class.isAssignableFrom(resourceClass)) {
|
||||||
s_logger.trace("Validation of access to infrastructure entity has been disabled in CloudStack version 4.4.");
|
logger.trace("Validation of access to infrastructure entity has been disabled in CloudStack version 4.4.");
|
||||||
}
|
}
|
||||||
s_logger.debug(String.format("Account [%s] has access to resource.", account.getUuid()));
|
logger.debug(String.format("Account [%s] has access to resource.", account.getUuid()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -174,7 +174,7 @@ public class ParamProcessWorkerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void doAccessChecksTestChecksCallerAccessToOwnerWhenCmdExtendsBaseAsyncCreateCmd() {
|
public void doAccessChecksTestChecksCallerAccessToOwnerWhenCmdExtendsBaseAsyncCreateCmd() {
|
||||||
Mockito.doReturn(owners).when(paramProcessWorkerSpy).getEntityOwners(Mockito.any());
|
Mockito.lenient().doReturn(owners).when(paramProcessWorkerSpy).getEntityOwners(Mockito.any());
|
||||||
Mockito.doNothing().when(paramProcessWorkerSpy).checkCallerAccessToEntities(Mockito.any(), Mockito.any(), Mockito.any());
|
Mockito.doNothing().when(paramProcessWorkerSpy).checkCallerAccessToEntities(Mockito.any(), Mockito.any(), Mockito.any());
|
||||||
|
|
||||||
paramProcessWorkerSpy.doAccessChecks(new AssociateIPAddrCmd(), entities);
|
paramProcessWorkerSpy.doAccessChecks(new AssociateIPAddrCmd(), entities);
|
||||||
@ -184,7 +184,7 @@ public class ParamProcessWorkerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void doAccessChecksTestChecksCallerAccessToEntities() {
|
public void doAccessChecksTestChecksCallerAccessToEntities() {
|
||||||
Mockito.doReturn(owners).when(paramProcessWorkerSpy).getEntityOwners(Mockito.any());
|
Mockito.lenient().doReturn(owners).when(paramProcessWorkerSpy).getEntityOwners(Mockito.any());
|
||||||
Mockito.doNothing().when(paramProcessWorkerSpy).checkCallerAccessToEntities(Mockito.any(), Mockito.any(), Mockito.any());
|
Mockito.doNothing().when(paramProcessWorkerSpy).checkCallerAccessToEntities(Mockito.any(), Mockito.any(), Mockito.any());
|
||||||
|
|
||||||
paramProcessWorkerSpy.doAccessChecks(new AssociateIPAddrCmd(), entities);
|
paramProcessWorkerSpy.doAccessChecks(new AssociateIPAddrCmd(), entities);
|
||||||
|
|||||||
@ -19,7 +19,8 @@ package org.apache.cloudstack.storage.formatinspector;
|
|||||||
|
|
||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -42,7 +43,7 @@ import java.util.Set;
|
|||||||
* and on the <a href="https://review.opendev.org/c/openstack/cinder/+/923247/2/cinder/image/format_inspector.py">OpenStack's Cinder implementation for Python</a>.
|
* and on the <a href="https://review.opendev.org/c/openstack/cinder/+/923247/2/cinder/image/format_inspector.py">OpenStack's Cinder implementation for Python</a>.
|
||||||
*/
|
*/
|
||||||
public class Qcow2Inspector {
|
public class Qcow2Inspector {
|
||||||
protected static Logger LOGGER = Logger.getLogger(Qcow2Inspector.class);
|
protected static Logger LOGGER = LogManager.getLogger(Qcow2Inspector.class);
|
||||||
|
|
||||||
private static final byte[] QCOW_MAGIC_STRING = ArrayUtils.add("QFI".getBytes(), (byte) 0xfb);
|
private static final byte[] QCOW_MAGIC_STRING = ArrayUtils.add("QFI".getBytes(), (byte) 0xfb);
|
||||||
private static final int INCOMPATIBLE_FEATURES_MAX_KNOWN_BIT = 4;
|
private static final int INCOMPATIBLE_FEATURES_MAX_KNOWN_BIT = 4;
|
||||||
|
|||||||
@ -3489,7 +3489,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S
|
|||||||
try {
|
try {
|
||||||
Qcow2Inspector.validateQcow2File(finalFilename);
|
Qcow2Inspector.validateQcow2File(finalFilename);
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
s_logger.error(String.format("Uploaded file [%s] is not a valid QCOW2.", finalFilename), e);
|
logger.error(String.format("Uploaded file [%s] is not a valid QCOW2.", finalFilename), e);
|
||||||
return "The uploaded file is not a valid QCOW2. Ask the administrator to check the logs for more details.";
|
return "The uploaded file is not a valid QCOW2. Ask the administrator to check the logs for more details.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,12 +119,12 @@ public class HttpUtils {
|
|||||||
final String jsessionidFromCookie = HttpUtils.findCookie(cookies, "JSESSIONID");
|
final String jsessionidFromCookie = HttpUtils.findCookie(cookies, "JSESSIONID");
|
||||||
if (jsessionidFromCookie == null
|
if (jsessionidFromCookie == null
|
||||||
|| !(jsessionidFromCookie.startsWith(session.getId() + '.'))) {
|
|| !(jsessionidFromCookie.startsWith(session.getId() + '.'))) {
|
||||||
s_logger.error("JSESSIONID from cookie is invalid.");
|
LOGGER.error("JSESSIONID from cookie is invalid.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final String sessionKey = (String) session.getAttribute(sessionKeyString);
|
final String sessionKey = (String) session.getAttribute(sessionKeyString);
|
||||||
if (sessionKey == null) {
|
if (sessionKey == null) {
|
||||||
s_logger.error("sessionkey attribute of the session is null.");
|
LOGGER.error("sessionkey attribute of the session is null.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final String sessionKeyFromCookie = HttpUtils.findCookie(cookies, sessionKeyString);
|
final String sessionKeyFromCookie = HttpUtils.findCookie(cookies, sessionKeyString);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user