This is an automated email from the ASF dual-hosted git repository. dahn pushed a commit to branch 4.19 in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 050ee44137a1662b59b888c3ed58f2335c94d200 Merge: 6c7426e3a7e 7c5b7ca0777 Author: Daan Hoogland <d...@onecht.net> AuthorDate: Tue Jun 18 16:05:45 2024 +0200 Merge branch '4.18' into 4.19 .../java/com/cloud/storage/StorageService.java | 3 + .../command/admin/storage/UpdateImageStoreCmd.java | 21 ++- .../api/response/ImageStoreResponse.java | 14 +- .../java/com/cloud/storage/StorageManager.java | 2 + .../java/com/cloud/api/query/QueryManagerImpl.java | 2 +- .../deploy/DeploymentPlanningManagerImpl.java | 174 +++++++++++---------- .../main/java/com/cloud/server/StatsCollector.java | 17 +- .../java/com/cloud/storage/StorageManagerImpl.java | 25 ++- .../SecondaryStorageManagerImpl.java | 4 +- .../storage/resource/IpTablesHelper.java | 66 ++++++++ .../resource/NfsSecondaryStorageResource.java | 20 +-- .../storage/template/DownloadManagerImpl.java | 40 ++--- systemvm/debian/opt/cloud/bin/cs/CsHelper.py | 2 +- ui/src/config/section/infra/secondaryStorages.js | 17 +- ui/src/views/AutogenView.vue | 1 - .../main/java/com/cloud/utils/script/Script.java | 11 +- 16 files changed, 265 insertions(+), 154 deletions(-) diff --cc api/src/main/java/com/cloud/storage/StorageService.java index c3609cfd8ee,d11246b8eaf..77800d8955c --- a/api/src/main/java/com/cloud/storage/StorageService.java +++ b/api/src/main/java/com/cloud/storage/StorageService.java @@@ -28,7 -27,7 +28,8 @@@ import org.apache.cloudstack.api.comman import org.apache.cloudstack.api.command.admin.storage.DeletePoolCmd; import org.apache.cloudstack.api.command.admin.storage.DeleteSecondaryStagingStoreCmd; import org.apache.cloudstack.api.command.admin.storage.SyncStoragePoolCmd; +import org.apache.cloudstack.api.command.admin.storage.UpdateObjectStoragePoolCmd; + import org.apache.cloudstack.api.command.admin.storage.UpdateImageStoreCmd; import org.apache.cloudstack.api.command.admin.storage.UpdateStoragePoolCmd; import com.cloud.exception.DiscoveryException; diff --cc server/src/main/java/com/cloud/storage/StorageManagerImpl.java index adece636501,290c6922e0d..02edd02fa94 --- a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java @@@ -61,11 -57,8 +61,12 @@@ import org.apache.cloudstack.api.comman import org.apache.cloudstack.api.command.admin.storage.DeletePoolCmd; import org.apache.cloudstack.api.command.admin.storage.DeleteSecondaryStagingStoreCmd; import org.apache.cloudstack.api.command.admin.storage.SyncStoragePoolCmd; +import org.apache.cloudstack.api.command.admin.storage.UpdateObjectStoragePoolCmd; + import org.apache.cloudstack.api.command.admin.storage.UpdateImageStoreCmd; import org.apache.cloudstack.api.command.admin.storage.UpdateStoragePoolCmd; +import org.apache.cloudstack.api.command.admin.storage.heuristics.CreateSecondaryStorageSelectorCmd; +import org.apache.cloudstack.api.command.admin.storage.heuristics.RemoveSecondaryStorageSelectorCmd; +import org.apache.cloudstack.api.command.admin.storage.heuristics.UpdateSecondaryStorageSelectorCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.ClusterScope; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; @@@ -131,14 -115,8 +132,13 @@@ import org.apache.cloudstack.storage.da import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; +import org.apache.cloudstack.storage.object.ObjectStore; +import org.apache.cloudstack.storage.object.ObjectStoreEntity; import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.time.DateUtils; +import org.apache.commons.lang3.EnumUtils; - import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@@ -3279,10 -2998,13 +3280,15 @@@ public class StorageManagerImpl extend return discoverImageStore(name, url, providerName, null, details); } + @Override + public ImageStore updateImageStore(UpdateImageStoreCmd cmd) { + return updateImageStoreStatus(cmd.getId(), cmd.getName(), cmd.getReadonly(), cmd.getCapacityBytes()); + } + @Override + @ActionEvent(eventType = EventTypes.EVENT_UPDATE_IMAGE_STORE_ACCESS_STATE, + eventDescription = "image store access updated") - public ImageStore updateImageStoreStatus(Long id, Boolean readonly) { + public ImageStore updateImageStoreStatus(Long id, String name, Boolean readonly, Long capacityBytes) { // Input validation ImageStoreVO imageStoreVO = _imageStoreDao.findById(id); if (imageStoreVO == null) { diff --cc services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java index e1e69028a9b,4d68aff76a2..11878ae6400 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java @@@ -48,11 -59,10 +48,12 @@@ import org.apache.cloudstack.storage.co import org.apache.cloudstack.storage.command.DownloadCommand.ResourceType; import org.apache.cloudstack.storage.command.DownloadProgressCommand; import org.apache.cloudstack.storage.command.DownloadProgressCommand.RequestType; -import org.apache.cloudstack.storage.NfsMountManagerImpl.PathParser; + import org.apache.cloudstack.storage.resource.IpTablesHelper; import org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource; import org.apache.cloudstack.storage.resource.SecondaryStorageResource; +import org.apache.cloudstack.utils.security.ChecksumValue; +import org.apache.cloudstack.utils.security.DigestHelper; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.storage.DownloadAnswer; diff --cc utils/src/main/java/com/cloud/utils/script/Script.java index cdab31f1865,31585534cbd..d7eaec27887 --- a/utils/src/main/java/com/cloud/utils/script/Script.java +++ b/utils/src/main/java/com/cloud/utils/script/Script.java @@@ -369,14 -241,21 +369,21 @@@ public class Script implements Callable //process execution completed within timeout period if (_process.waitFor(_timeout, TimeUnit.MILLISECONDS)) { //process completed successfully - if (_process.exitValue() == 0) { + if (_process.exitValue() == 0 || _process.exitValue() == exitValue) { _logger.debug("Execution is successful."); + String result; + String method; if (interpreter != null) { - return interpreter.drain() ? task.getResult() : interpreter.interpret(ir); + _logger.debug("interpreting the result..."); + method = "result interpretation of execution: "; + result= interpreter.drain() ? task.getResult() : interpreter.interpret(ir); } else { // null return exitValue apparently - return String.valueOf(_process.exitValue()); + method = "return code of execution: "; + result = String.valueOf(_process.exitValue()); } + _logger.debug(method + result); + return result; } else { //process failed break; }