From 9a8cd139510e23d2c4d7443f0d41b420ad45665e Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Mon, 2 Oct 2023 08:07:01 +0200 Subject: [PATCH 1/2] cleanup: remove unused class org.apache.cloudstack.network.NetworkOrchestrator (#7983) --- client/pom.xml | 5 -- engine/network/pom.xml | 47 ------------------- .../network/NetworkOrchestrator.java | 40 ---------------- engine/pom.xml | 1 - engine/service/pom.xml | 5 -- 5 files changed, 98 deletions(-) delete mode 100644 engine/network/pom.xml delete mode 100644 engine/network/src/main/java/org/apache/cloudstack/network/NetworkOrchestrator.java diff --git a/client/pom.xml b/client/pom.xml index 4882af17958..2ca3fcd2a2a 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -407,11 +407,6 @@ cloud-engine-components-api ${project.version} - - org.apache.cloudstack - cloud-engine-network - ${project.version} - org.apache.cloudstack cloud-engine-orchestration diff --git a/engine/network/pom.xml b/engine/network/pom.xml deleted file mode 100644 index 9057cccfbd6..00000000000 --- a/engine/network/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - 4.0.0 - cloud-engine-network - Apache CloudStack Cloud Engine API - - org.apache.cloudstack - cloud-engine - 4.18.2.0-SNAPSHOT - ../pom.xml - - - - org.apache.cloudstack - cloud-engine-api - ${project.version} - - - org.apache.cloudstack - cloud-engine-components-api - ${project.version} - - - org.apache.cloudstack - cloud-framework-ipc - ${project.version} - - - diff --git a/engine/network/src/main/java/org/apache/cloudstack/network/NetworkOrchestrator.java b/engine/network/src/main/java/org/apache/cloudstack/network/NetworkOrchestrator.java deleted file mode 100644 index 8b6b6e431d3..00000000000 --- a/engine/network/src/main/java/org/apache/cloudstack/network/NetworkOrchestrator.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.cloudstack.network; - -public interface NetworkOrchestrator { - - /** - * Prepares for a VM to join a network - * @param vm vm - * @param reservationId reservation id - */ - void prepare(String vm, String reservationId); - - /** - * Release all reservation - */ - void release(String vm, String reservationId); - - /** - * Cancel a previous reservation - * @param reservationId - */ - void cancel(String reservationId); -} diff --git a/engine/pom.xml b/engine/pom.xml index 834f546c21b..a6b3525ff96 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -47,7 +47,6 @@ api components-api - network orchestration schema service diff --git a/engine/service/pom.xml b/engine/service/pom.xml index e356193d19c..026edb5b7a4 100644 --- a/engine/service/pom.xml +++ b/engine/service/pom.xml @@ -54,11 +54,6 @@ cloud-engine-storage ${project.version} - - org.apache.cloudstack - cloud-engine-network - ${project.version} - org.springframework spring-context From 96205a51ef918313ad8b3288758e15184a710b91 Mon Sep 17 00:00:00 2001 From: Peinthor Rene Date: Mon, 2 Oct 2023 15:58:00 +0200 Subject: [PATCH 2/2] linstor: resize root disk on offerings with different size (#7952) --- .../LinstorPrimaryDataStoreDriverImpl.java | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java b/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java index bcbdc2244b1..d2d13eafc48 100644 --- a/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java +++ b/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java @@ -428,6 +428,19 @@ public class LinstorPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } } + private void resizeResource(DevelopersApi api, String resourceName, long sizeByte) throws ApiException { + VolumeDefinitionModify dfm = new VolumeDefinitionModify(); + dfm.setSizeKib(sizeByte / 1024); + + ApiCallRcList answers = api.volumeDefinitionModify(resourceName, 0, dfm); + if (answers.hasError()) { + s_logger.error("Resize error: " + answers.get(0).getMessage()); + throw new CloudRuntimeException(answers.get(0).getMessage()); + } else { + s_logger.info(String.format("Successfully resized %s to %d kib", resourceName, dfm.getSizeKib())); + } + } + private String cloneResource(long csCloneId, VolumeInfo volumeInfo, StoragePoolVO storagePoolVO) { // get the cached template on this storage VMTemplateStoragePoolVO tmplPoolRef = _vmTemplatePoolDao.findByPoolTemplate( @@ -452,6 +465,11 @@ public class LinstorPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } s_logger.info("Clone resource definition " + cloneRes + " to " + rscName + " finished"); + + if (volumeInfo.getSize() != null && volumeInfo.getSize() > 0) { + resizeResource(linstorApi, rscName, volumeInfo.getSize()); + } + applyAuxProps(linstorApi, rscName, volumeInfo.getName(), volumeInfo.getAttachedVmName()); applyQoSSettings(storagePoolVO, linstorApi, rscName, volumeInfo.getMaxIops()); @@ -738,26 +756,16 @@ public class LinstorPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver dfm.setSizeKib(resizeParameter.newSize / 1024); try { + resizeResource(api, rscName, resizeParameter.newSize); + applyQoSSettings(pool, api, rscName, resizeParameter.newMaxIops); { final VolumeVO volume = _volumeDao.findById(vol.getId()); volume.setMinIops(resizeParameter.newMinIops); volume.setMaxIops(resizeParameter.newMaxIops); + volume.setSize(resizeParameter.newSize); _volumeDao.update(volume.getId(), volume); } - - ApiCallRcList answers = api.volumeDefinitionModify(rscName, 0, dfm); - if (answers.hasError()) - { - s_logger.error("Resize error: " + answers.get(0).getMessage()); - errMsg = answers.get(0).getMessage(); - } else - { - s_logger.info(String.format("Successfully resized %s to %d kib", rscName, dfm.getSizeKib())); - vol.setSize(resizeParameter.newSize); - vol.update(); - } - } catch (ApiException apiExc) { s_logger.error(apiExc); @@ -765,12 +773,10 @@ public class LinstorPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } CreateCmdResult result; - if (errMsg != null) - { + if (errMsg != null) { result = new CreateCmdResult(null, new Answer(null, false, errMsg)); result.setResult(errMsg); - } else - { + } else { // notify guests result = notifyResize(vol, oldSize, resizeParameter); }