diff --git a/agent/pom.xml b/agent/pom.xml
index d8ca0ccdd1f..92a23ba5e3e 100644
--- a/agent/pom.xml
+++ b/agent/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/api/pom.xml b/api/pom.xml
index 2f6c4c60fe1..ba32bd1671d 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/api/src/main/java/com/cloud/hypervisor/Hypervisor.java b/api/src/main/java/com/cloud/hypervisor/Hypervisor.java
index e1108b34a83..e12d469d2e0 100644
--- a/api/src/main/java/com/cloud/hypervisor/Hypervisor.java
+++ b/api/src/main/java/com/cloud/hypervisor/Hypervisor.java
@@ -23,34 +23,52 @@ import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
+import java.util.Set;
+import java.util.EnumSet;
public class Hypervisor {
public static class HypervisorType {
+ public static enum Functionality {
+ DirectDownloadTemplate,
+ RootDiskSizeOverride;
+ }
+
private static final Map hypervisorTypeMap = new LinkedHashMap<>();
public static final HypervisorType None = new HypervisorType("None"); //for storage hosts
- public static final HypervisorType XenServer = new HypervisorType("XenServer", ImageFormat.VHD);
- public static final HypervisorType KVM = new HypervisorType("KVM", ImageFormat.QCOW2);
- public static final HypervisorType VMware = new HypervisorType("VMware", ImageFormat.OVA);
+ public static final HypervisorType XenServer = new HypervisorType("XenServer", ImageFormat.VHD,
+ EnumSet.of(Functionality.RootDiskSizeOverride));
+ public static final HypervisorType KVM = new HypervisorType("KVM", ImageFormat.QCOW2,
+ EnumSet.of(Functionality.DirectDownloadTemplate, Functionality.RootDiskSizeOverride));
+ public static final HypervisorType VMware = new HypervisorType("VMware", ImageFormat.OVA,
+ EnumSet.of(Functionality.RootDiskSizeOverride));
public static final HypervisorType Hyperv = new HypervisorType("Hyperv");
public static final HypervisorType VirtualBox = new HypervisorType("VirtualBox");
public static final HypervisorType Parralels = new HypervisorType("Parralels");
public static final HypervisorType BareMetal = new HypervisorType("BareMetal");
- public static final HypervisorType Simulator = new HypervisorType("Simulator");
+ public static final HypervisorType Simulator = new HypervisorType("Simulator", null,
+ EnumSet.of(Functionality.RootDiskSizeOverride));
public static final HypervisorType Ovm = new HypervisorType("Ovm", ImageFormat.RAW);
public static final HypervisorType Ovm3 = new HypervisorType("Ovm3", ImageFormat.RAW);
public static final HypervisorType LXC = new HypervisorType("LXC");
- public static final HypervisorType Custom = new HypervisorType("Custom");
+ public static final HypervisorType Custom = new HypervisorType("Custom", null,
+ EnumSet.of(Functionality.RootDiskSizeOverride));
public static final HypervisorType Any = new HypervisorType("Any"); /*If you don't care about the hypervisor type*/
private final String name;
private final ImageFormat imageFormat;
+ private final Set supportedFunctionalities;
public HypervisorType(String name) {
- this(name, null);
+ this(name, null, EnumSet.noneOf(Functionality.class));
}
public HypervisorType(String name, ImageFormat imageFormat) {
+ this(name, imageFormat, EnumSet.noneOf(Functionality.class));
+ }
+
+ public HypervisorType(String name, ImageFormat imageFormat, Set supportedFunctionalities) {
this.name = name;
this.imageFormat = imageFormat;
+ this.supportedFunctionalities = supportedFunctionalities;
if (name.equals("Parralels")){ // typo in the original code
hypervisorTypeMap.put("parallels", this);
} else {
@@ -102,6 +120,15 @@ public class Hypervisor {
return name;
}
+ /**
+ * Make this method to be part of the properties of the hypervisor type itself.
+ *
+ * @return true if the hypervisor plugin support the specified functionality
+ */
+ public boolean isFunctionalitySupported(Functionality functionality) {
+ return supportedFunctionalities.contains(functionality);
+ }
+
@Override
public int hashCode() {
return Objects.hash(name);
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
index 5dfcd41c2e0..e1b77603250 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
@@ -344,7 +344,9 @@ public class RegisterTemplateCmd extends BaseCmd implements UserCmd {
"Parameter zoneids cannot combine all zones (-1) option with other zones");
String customHypervisor = HypervisorGuru.HypervisorCustomDisplayName.value();
- if (isDirectDownload() && !(getHypervisor().equalsIgnoreCase(Hypervisor.HypervisorType.KVM.toString())
+ if (isDirectDownload() &&
+ !(Hypervisor.HypervisorType.getType(getHypervisor())
+ .isFunctionalitySupported(Hypervisor.HypervisorType.Functionality.DirectDownloadTemplate)
|| getHypervisor().equalsIgnoreCase(customHypervisor))) {
throw new ServerApiException(ApiErrorCode.PARAM_ERROR, String.format("Parameter directdownload " +
"is only allowed for KVM or %s templates", customHypervisor));
diff --git a/client/pom.xml b/client/pom.xml
index a7cfdfb661f..57593381dee 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/core/pom.xml b/core/pom.xml
index 53b9c316863..cf3fff2d30d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/developer/pom.xml b/developer/pom.xml
index f8f527118e2..71ee644dab4 100644
--- a/developer/pom.xml
+++ b/developer/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/engine/api/pom.xml b/engine/api/pom.xml
index d43fccceb52..8cf38af978a 100644
--- a/engine/api/pom.xml
+++ b/engine/api/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/components-api/pom.xml b/engine/components-api/pom.xml
index 836610debb9..84223ca93f8 100644
--- a/engine/components-api/pom.xml
+++ b/engine/components-api/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/network/pom.xml b/engine/network/pom.xml
index 6d9bfb3ebc1..f6791c134bf 100644
--- a/engine/network/pom.xml
+++ b/engine/network/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/orchestration/pom.xml b/engine/orchestration/pom.xml
index 19f42376c45..01b64391504 100755
--- a/engine/orchestration/pom.xml
+++ b/engine/orchestration/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/pom.xml b/engine/pom.xml
index c7f7166c6e9..0b8651d46e8 100644
--- a/engine/pom.xml
+++ b/engine/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/schema/pom.xml b/engine/schema/pom.xml
index 57b9b96b808..cda4934567b 100644
--- a/engine/schema/pom.xml
+++ b/engine/schema/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java
index e5b2df77ccf..d918373a759 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java
@@ -81,6 +81,7 @@ import com.cloud.upgrade.dao.Upgrade41700to41710;
import com.cloud.upgrade.dao.Upgrade41710to41720;
import com.cloud.upgrade.dao.Upgrade41720to41800;
import com.cloud.upgrade.dao.Upgrade41800to41810;
+import com.cloud.upgrade.dao.Upgrade41811to41812;
import com.cloud.upgrade.dao.Upgrade420to421;
import com.cloud.upgrade.dao.Upgrade421to430;
import com.cloud.upgrade.dao.Upgrade430to440;
@@ -218,6 +219,7 @@ public class DatabaseUpgradeChecker implements SystemIntegrityChecker {
.next("4.17.1.0", new Upgrade41710to41720())
.next("4.17.2.0", new Upgrade41720to41800())
.next("4.18.0.0", new Upgrade41800to41810())
+ .next("4.18.1.0", new Upgrade41811to41812())
.build();
}
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41811to41812.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41811to41812.java
new file mode 100644
index 00000000000..23af4bbcf52
--- /dev/null
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41811to41812.java
@@ -0,0 +1,69 @@
+// 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 com.cloud.upgrade.dao;
+
+import com.cloud.utils.exception.CloudRuntimeException;
+import org.apache.log4j.Logger;
+
+import java.io.InputStream;
+import java.sql.Connection;
+
+public class Upgrade41811to41812 implements DbUpgrade {
+ final static Logger LOG = Logger.getLogger(Upgrade41811to41812.class);
+
+ @Override
+ public String[] getUpgradableVersionRange() {
+ return new String[]{"4.18.1.1", "4.18.1.2"};
+ }
+
+ @Override
+ public String getUpgradedVersion() {
+ return "4.18.1.2";
+ }
+
+ @Override
+ public boolean supportsRollingUpgrade() {
+ return true;
+ }
+
+ @Override
+ public InputStream[] getPrepareScripts() {
+ final String scriptFile = "META-INF/db/schema-41811to41812.sql";
+ final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
+ if (script == null) {
+ throw new CloudRuntimeException("Unable to find " + scriptFile);
+ }
+
+ return new InputStream[]{script};
+ }
+
+ @Override
+ public void performDataMigration(Connection conn) {
+ }
+
+
+ @Override
+ public InputStream[] getCleanupScripts() {
+ final String scriptFile = "META-INF/db/schema-41811to41812-cleanup.sql";
+ final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
+ if (script == null) {
+ throw new CloudRuntimeException("Unable to find " + scriptFile);
+ }
+
+ return new InputStream[]{script};
+ }
+}
diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41811to41812-cleanup.sql b/engine/schema/src/main/resources/META-INF/db/schema-41811to41812-cleanup.sql
new file mode 100644
index 00000000000..01d5cef1e5e
--- /dev/null
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41811to41812-cleanup.sql
@@ -0,0 +1,20 @@
+-- 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.
+
+--;
+-- Schema upgrade cleanup from to 4.18.1.2
+--;
\ No newline at end of file
diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41811to41812.sql b/engine/schema/src/main/resources/META-INF/db/schema-41811to41812.sql
new file mode 100644
index 00000000000..62aafa640b6
--- /dev/null
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41811to41812.sql
@@ -0,0 +1,41 @@
+-- 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.
+
+--;
+-- Schema upgrade from 4.18.1.2
+--;
+
+-- These fields have been added in 4.18.0, however due to issues with update process (sql updated after version update)
+-- adding one more time here in case if migration from 4.18.0 didn't go through
+CREATE PROCEDURE `cloud`.`ADD_RESOURCE_RESERVATION_MGMT_SERVER_ID_CREATED`()
+BEGIN
+ DECLARE created_column_not_exists TINYINT DEFAULT FALSE
+; IF NOT EXISTS (SELECT * FROM `information_schema`.`columns` WHERE `table_schema` = 'cloud' AND `table_name` = 'resource_reservation' AND `column_name` = 'mgmt_server_id') THEN
+ CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.resource_reservation', 'mgmt_server_id', 'bigint unsigned NULL COMMENT "management server id" ')
+; END IF
+; IF NOT EXISTS (SELECT * FROM `information_schema`.`columns` WHERE `table_schema` = 'cloud' AND `table_name` = 'resource_reservation' AND `column_name` = 'created') THEN
+ SET created_column_not_exists = TRUE
+; END IF
+; IF created_column_not_exists THEN
+ CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.resource_reservation', 'created', 'datetime DEFAULT NULL COMMENT "date when the reservation was created" ')
+; END IF
+; IF created_column_not_exists THEN
+ UPDATE `cloud`.`resource_reservation` SET `created` = now() WHERE `created` IS NULL
+; END IF
+; END;
+CALL `cloud`.`ADD_RESOURCE_RESERVATION_MGMT_SERVER_ID_CREATED`();
+DROP PROCEDURE IF EXISTS `cloud`.`ADD_RESOURCE_RESERVATION_MGMT_SERVER_ID_CREATED`;
diff --git a/engine/service/pom.xml b/engine/service/pom.xml
index f04d7e0772d..1539d13cd04 100644
--- a/engine/service/pom.xml
+++ b/engine/service/pom.xml
@@ -22,7 +22,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
cloud-engine-service
war
diff --git a/engine/storage/cache/pom.xml b/engine/storage/cache/pom.xml
index bbbe2232d92..8f312a5e184 100644
--- a/engine/storage/cache/pom.xml
+++ b/engine/storage/cache/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/storage/configdrive/pom.xml b/engine/storage/configdrive/pom.xml
index ad4ae103f60..3f0d661da5c 100644
--- a/engine/storage/configdrive/pom.xml
+++ b/engine/storage/configdrive/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/storage/datamotion/pom.xml b/engine/storage/datamotion/pom.xml
index 55ea472c6da..90147d9ad05 100644
--- a/engine/storage/datamotion/pom.xml
+++ b/engine/storage/datamotion/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/storage/image/pom.xml b/engine/storage/image/pom.xml
index 98ba4f19678..37b66129a4c 100644
--- a/engine/storage/image/pom.xml
+++ b/engine/storage/image/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/storage/integration-test/pom.xml b/engine/storage/integration-test/pom.xml
index b38fb372802..80013a0ab3c 100644
--- a/engine/storage/integration-test/pom.xml
+++ b/engine/storage/integration-test/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/storage/pom.xml b/engine/storage/pom.xml
index 9a8dbd46ab2..1fb4e9b2816 100644
--- a/engine/storage/pom.xml
+++ b/engine/storage/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/engine/storage/snapshot/pom.xml b/engine/storage/snapshot/pom.xml
index 1abe3cb3d02..975fa40dee8 100644
--- a/engine/storage/snapshot/pom.xml
+++ b/engine/storage/snapshot/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/storage/volume/pom.xml b/engine/storage/volume/pom.xml
index 351f43508c2..15626620ff2 100644
--- a/engine/storage/volume/pom.xml
+++ b/engine/storage/volume/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/userdata/cloud-init/pom.xml b/engine/userdata/cloud-init/pom.xml
index 427c4bcc449..726047be75d 100644
--- a/engine/userdata/cloud-init/pom.xml
+++ b/engine/userdata/cloud-init/pom.xml
@@ -23,7 +23,7 @@
cloud-engine
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/engine/userdata/pom.xml b/engine/userdata/pom.xml
index 48073b176c3..1b803ed8355 100644
--- a/engine/userdata/pom.xml
+++ b/engine/userdata/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloud-engine
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/agent-lb/pom.xml b/framework/agent-lb/pom.xml
index d6d1b078fda..d575134ab4a 100644
--- a/framework/agent-lb/pom.xml
+++ b/framework/agent-lb/pom.xml
@@ -24,7 +24,7 @@
cloudstack-framework
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/ca/pom.xml b/framework/ca/pom.xml
index 4f4d07acd85..0015306b08f 100644
--- a/framework/ca/pom.xml
+++ b/framework/ca/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/cluster/pom.xml b/framework/cluster/pom.xml
index 832023e60bd..dbe35ad2005 100644
--- a/framework/cluster/pom.xml
+++ b/framework/cluster/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/config/pom.xml b/framework/config/pom.xml
index d50c47f2b84..49c1c306651 100644
--- a/framework/config/pom.xml
+++ b/framework/config/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/db/pom.xml b/framework/db/pom.xml
index 362083a1acb..0d46d5220d5 100644
--- a/framework/db/pom.xml
+++ b/framework/db/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/direct-download/pom.xml b/framework/direct-download/pom.xml
index 56d03c34ad1..d986eaf9c8d 100644
--- a/framework/direct-download/pom.xml
+++ b/framework/direct-download/pom.xml
@@ -25,14 +25,14 @@
org.apache.cloudstack
cloud-utils
- 4.18.1.1
+ 4.18.1.2
compile
cloudstack-framework
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
\ No newline at end of file
diff --git a/framework/events/pom.xml b/framework/events/pom.xml
index 333de2b2c8e..c1365c4a12a 100644
--- a/framework/events/pom.xml
+++ b/framework/events/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/ipc/pom.xml b/framework/ipc/pom.xml
index 1148b846bde..92bb0b75914 100644
--- a/framework/ipc/pom.xml
+++ b/framework/ipc/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/jobs/pom.xml b/framework/jobs/pom.xml
index 6f71728bc24..556c14ac682 100644
--- a/framework/jobs/pom.xml
+++ b/framework/jobs/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/managed-context/pom.xml b/framework/managed-context/pom.xml
index 1c72c59da78..97cc88a742e 100644
--- a/framework/managed-context/pom.xml
+++ b/framework/managed-context/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/framework/pom.xml b/framework/pom.xml
index d2641d2a49a..bb61e5712e1 100644
--- a/framework/pom.xml
+++ b/framework/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/framework/quota/pom.xml b/framework/quota/pom.xml
index d35ce3c7f41..dc3952938b0 100644
--- a/framework/quota/pom.xml
+++ b/framework/quota/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/rest/pom.xml b/framework/rest/pom.xml
index da21a7fdc4b..5733894af13 100644
--- a/framework/rest/pom.xml
+++ b/framework/rest/pom.xml
@@ -22,7 +22,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
cloud-framework-rest
diff --git a/framework/security/pom.xml b/framework/security/pom.xml
index a46526f984e..c8713314203 100644
--- a/framework/security/pom.xml
+++ b/framework/security/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-framework
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/framework/spring/lifecycle/pom.xml b/framework/spring/lifecycle/pom.xml
index 6994b24497f..730bcd5ea98 100644
--- a/framework/spring/lifecycle/pom.xml
+++ b/framework/spring/lifecycle/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/framework/spring/module/pom.xml b/framework/spring/module/pom.xml
index 4913be7baf1..7631a866bb1 100644
--- a/framework/spring/module/pom.xml
+++ b/framework/spring/module/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/acl/dynamic-role-based/pom.xml b/plugins/acl/dynamic-role-based/pom.xml
index 4d1519b5d0d..aae1908dc81 100644
--- a/plugins/acl/dynamic-role-based/pom.xml
+++ b/plugins/acl/dynamic-role-based/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/acl/project-role-based/pom.xml b/plugins/acl/project-role-based/pom.xml
index 216ad4def33..c356f86c179 100644
--- a/plugins/acl/project-role-based/pom.xml
+++ b/plugins/acl/project-role-based/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/acl/static-role-based/pom.xml b/plugins/acl/static-role-based/pom.xml
index 851dd77f993..541975e891e 100644
--- a/plugins/acl/static-role-based/pom.xml
+++ b/plugins/acl/static-role-based/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/affinity-group-processors/explicit-dedication/pom.xml b/plugins/affinity-group-processors/explicit-dedication/pom.xml
index 524474a6fb6..d85230d9cfd 100644
--- a/plugins/affinity-group-processors/explicit-dedication/pom.xml
+++ b/plugins/affinity-group-processors/explicit-dedication/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/affinity-group-processors/host-affinity/pom.xml b/plugins/affinity-group-processors/host-affinity/pom.xml
index 21589613be7..340deda4cd0 100644
--- a/plugins/affinity-group-processors/host-affinity/pom.xml
+++ b/plugins/affinity-group-processors/host-affinity/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/affinity-group-processors/host-anti-affinity/pom.xml b/plugins/affinity-group-processors/host-anti-affinity/pom.xml
index 8a6dfe067ed..81947a62412 100644
--- a/plugins/affinity-group-processors/host-anti-affinity/pom.xml
+++ b/plugins/affinity-group-processors/host-anti-affinity/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/affinity-group-processors/non-strict-host-affinity/pom.xml b/plugins/affinity-group-processors/non-strict-host-affinity/pom.xml
index 945b5a87789..f6968c7c44f 100644
--- a/plugins/affinity-group-processors/non-strict-host-affinity/pom.xml
+++ b/plugins/affinity-group-processors/non-strict-host-affinity/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/affinity-group-processors/non-strict-host-anti-affinity/pom.xml b/plugins/affinity-group-processors/non-strict-host-anti-affinity/pom.xml
index aec218e073f..b90f70c0d8a 100644
--- a/plugins/affinity-group-processors/non-strict-host-anti-affinity/pom.xml
+++ b/plugins/affinity-group-processors/non-strict-host-anti-affinity/pom.xml
@@ -25,14 +25,14 @@
org.apache.cloudstack
cloud-plugin-non-strict-host-affinity
- 4.18.1.1
+ 4.18.1.2
compile
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/alert-handlers/snmp-alerts/pom.xml b/plugins/alert-handlers/snmp-alerts/pom.xml
index 53fa8fd9456..4c915bc72ad 100644
--- a/plugins/alert-handlers/snmp-alerts/pom.xml
+++ b/plugins/alert-handlers/snmp-alerts/pom.xml
@@ -24,7 +24,7 @@
cloudstack-plugins
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/alert-handlers/syslog-alerts/pom.xml b/plugins/alert-handlers/syslog-alerts/pom.xml
index 11af0e1f226..cffc6c2734a 100644
--- a/plugins/alert-handlers/syslog-alerts/pom.xml
+++ b/plugins/alert-handlers/syslog-alerts/pom.xml
@@ -24,7 +24,7 @@
cloudstack-plugins
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/api/discovery/pom.xml b/plugins/api/discovery/pom.xml
index fe5d0005d9c..c6afcbdeeef 100644
--- a/plugins/api/discovery/pom.xml
+++ b/plugins/api/discovery/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/api/rate-limit/pom.xml b/plugins/api/rate-limit/pom.xml
index 04af3723b64..92c6bb25fdd 100644
--- a/plugins/api/rate-limit/pom.xml
+++ b/plugins/api/rate-limit/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/api/solidfire-intg-test/pom.xml b/plugins/api/solidfire-intg-test/pom.xml
index cfdf8917af6..43ae554c2b9 100644
--- a/plugins/api/solidfire-intg-test/pom.xml
+++ b/plugins/api/solidfire-intg-test/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/api/vmware-sioc/pom.xml b/plugins/api/vmware-sioc/pom.xml
index 44d6598c122..e9b3504358e 100644
--- a/plugins/api/vmware-sioc/pom.xml
+++ b/plugins/api/vmware-sioc/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/backup/dummy/pom.xml b/plugins/backup/dummy/pom.xml
index e53fee435f5..0155f4a66c5 100644
--- a/plugins/backup/dummy/pom.xml
+++ b/plugins/backup/dummy/pom.xml
@@ -23,7 +23,7 @@
cloudstack-plugins
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/backup/networker/pom.xml b/plugins/backup/networker/pom.xml
index 7754fea2ca3..bfcd7fb3873 100644
--- a/plugins/backup/networker/pom.xml
+++ b/plugins/backup/networker/pom.xml
@@ -25,7 +25,7 @@
cloudstack-plugins
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/backup/veeam/pom.xml b/plugins/backup/veeam/pom.xml
index 643d73b64fe..793366e17e0 100644
--- a/plugins/backup/veeam/pom.xml
+++ b/plugins/backup/veeam/pom.xml
@@ -23,7 +23,7 @@
cloudstack-plugins
org.apache.cloudstack
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/ca/root-ca/pom.xml b/plugins/ca/root-ca/pom.xml
index 033889fe69a..feaed5c00b2 100644
--- a/plugins/ca/root-ca/pom.xml
+++ b/plugins/ca/root-ca/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/database/mysql-ha/pom.xml b/plugins/database/mysql-ha/pom.xml
index 854bb7c0a3e..563f8127636 100644
--- a/plugins/database/mysql-ha/pom.xml
+++ b/plugins/database/mysql-ha/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/database/quota/pom.xml b/plugins/database/quota/pom.xml
index a18039997cd..1ca1302a044 100644
--- a/plugins/database/quota/pom.xml
+++ b/plugins/database/quota/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/dedicated-resources/pom.xml b/plugins/dedicated-resources/pom.xml
index f0e062f3c8f..c59ca4ae6ae 100644
--- a/plugins/dedicated-resources/pom.xml
+++ b/plugins/dedicated-resources/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/plugins/deployment-planners/implicit-dedication/pom.xml b/plugins/deployment-planners/implicit-dedication/pom.xml
index 98a9d207e76..5765abfe6b5 100644
--- a/plugins/deployment-planners/implicit-dedication/pom.xml
+++ b/plugins/deployment-planners/implicit-dedication/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/deployment-planners/user-concentrated-pod/pom.xml b/plugins/deployment-planners/user-concentrated-pod/pom.xml
index e531512c258..71f8cc128f4 100644
--- a/plugins/deployment-planners/user-concentrated-pod/pom.xml
+++ b/plugins/deployment-planners/user-concentrated-pod/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/deployment-planners/user-dispersing/pom.xml b/plugins/deployment-planners/user-dispersing/pom.xml
index 99ca783bd1b..90b716146f1 100644
--- a/plugins/deployment-planners/user-dispersing/pom.xml
+++ b/plugins/deployment-planners/user-dispersing/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/event-bus/inmemory/pom.xml b/plugins/event-bus/inmemory/pom.xml
index aa068d26445..d957fbcd79b 100644
--- a/plugins/event-bus/inmemory/pom.xml
+++ b/plugins/event-bus/inmemory/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/event-bus/kafka/pom.xml b/plugins/event-bus/kafka/pom.xml
index 31f163448db..43c000c81b8 100644
--- a/plugins/event-bus/kafka/pom.xml
+++ b/plugins/event-bus/kafka/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/event-bus/rabbitmq/pom.xml b/plugins/event-bus/rabbitmq/pom.xml
index 10825ec394b..b0f49f95555 100644
--- a/plugins/event-bus/rabbitmq/pom.xml
+++ b/plugins/event-bus/rabbitmq/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/ha-planners/skip-heurestics/pom.xml b/plugins/ha-planners/skip-heurestics/pom.xml
index f9d1015476e..556e4afa05a 100644
--- a/plugins/ha-planners/skip-heurestics/pom.xml
+++ b/plugins/ha-planners/skip-heurestics/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/host-allocators/random/pom.xml b/plugins/host-allocators/random/pom.xml
index c68c5028aae..a29f1f6ae96 100644
--- a/plugins/host-allocators/random/pom.xml
+++ b/plugins/host-allocators/random/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/hypervisors/baremetal/pom.xml b/plugins/hypervisors/baremetal/pom.xml
index 65ab8328f17..12650a989c1 100755
--- a/plugins/hypervisors/baremetal/pom.xml
+++ b/plugins/hypervisors/baremetal/pom.xml
@@ -22,7 +22,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
cloud-plugin-hypervisor-baremetal
diff --git a/plugins/hypervisors/hyperv/pom.xml b/plugins/hypervisors/hyperv/pom.xml
index 188351e567f..17b62f40395 100644
--- a/plugins/hypervisors/hyperv/pom.xml
+++ b/plugins/hypervisors/hyperv/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/hypervisors/kvm/pom.xml b/plugins/hypervisors/kvm/pom.xml
index 7790fb2775e..084fe1e8746 100644
--- a/plugins/hypervisors/kvm/pom.xml
+++ b/plugins/hypervisors/kvm/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/hypervisors/ovm/pom.xml b/plugins/hypervisors/ovm/pom.xml
index 918e1389241..fd6fc7e2545 100644
--- a/plugins/hypervisors/ovm/pom.xml
+++ b/plugins/hypervisors/ovm/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index 5213058c8e6..b42c9247462 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/hypervisors/simulator/pom.xml b/plugins/hypervisors/simulator/pom.xml
index ae436073971..98cf4d2fa2f 100644
--- a/plugins/hypervisors/simulator/pom.xml
+++ b/plugins/hypervisors/simulator/pom.xml
@@ -22,7 +22,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
cloud-plugin-hypervisor-simulator
diff --git a/plugins/hypervisors/ucs/pom.xml b/plugins/hypervisors/ucs/pom.xml
index dfb9c7c4674..557f7a87cc7 100644
--- a/plugins/hypervisors/ucs/pom.xml
+++ b/plugins/hypervisors/ucs/pom.xml
@@ -23,7 +23,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
cloud-plugin-hypervisor-ucs
diff --git a/plugins/hypervisors/vmware/pom.xml b/plugins/hypervisors/vmware/pom.xml
index 6228b11d74a..24fc80fe706 100644
--- a/plugins/hypervisors/vmware/pom.xml
+++ b/plugins/hypervisors/vmware/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/hypervisors/xenserver/pom.xml b/plugins/hypervisors/xenserver/pom.xml
index ccd7f07136d..11d73dfafb6 100644
--- a/plugins/hypervisors/xenserver/pom.xml
+++ b/plugins/hypervisors/xenserver/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/integrations/cloudian/pom.xml b/plugins/integrations/cloudian/pom.xml
index 38db4549c29..3e3e8f4fdc2 100644
--- a/plugins/integrations/cloudian/pom.xml
+++ b/plugins/integrations/cloudian/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/integrations/kubernetes-service/pom.xml b/plugins/integrations/kubernetes-service/pom.xml
index 89dcbb12ea1..6f000c20b9e 100644
--- a/plugins/integrations/kubernetes-service/pom.xml
+++ b/plugins/integrations/kubernetes-service/pom.xml
@@ -26,7 +26,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/integrations/prometheus/pom.xml b/plugins/integrations/prometheus/pom.xml
index f0d8f5ff860..9d968b13d66 100644
--- a/plugins/integrations/prometheus/pom.xml
+++ b/plugins/integrations/prometheus/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/metrics/pom.xml b/plugins/metrics/pom.xml
index 421063e5422..659adf8b4ea 100644
--- a/plugins/metrics/pom.xml
+++ b/plugins/metrics/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/plugins/network-elements/bigswitch/pom.xml b/plugins/network-elements/bigswitch/pom.xml
index 8d382127c10..8c763d584ca 100644
--- a/plugins/network-elements/bigswitch/pom.xml
+++ b/plugins/network-elements/bigswitch/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/brocade-vcs/pom.xml b/plugins/network-elements/brocade-vcs/pom.xml
index cbfd6b3ff9b..8dcf9b8f886 100644
--- a/plugins/network-elements/brocade-vcs/pom.xml
+++ b/plugins/network-elements/brocade-vcs/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/cisco-vnmc/pom.xml b/plugins/network-elements/cisco-vnmc/pom.xml
index 5598c69e166..3024266e3e1 100644
--- a/plugins/network-elements/cisco-vnmc/pom.xml
+++ b/plugins/network-elements/cisco-vnmc/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/dns-notifier/pom.xml b/plugins/network-elements/dns-notifier/pom.xml
index f1b1d19e602..cb2407058d2 100644
--- a/plugins/network-elements/dns-notifier/pom.xml
+++ b/plugins/network-elements/dns-notifier/pom.xml
@@ -22,7 +22,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
cloud-plugin-example-dns-notifier
diff --git a/plugins/network-elements/elastic-loadbalancer/pom.xml b/plugins/network-elements/elastic-loadbalancer/pom.xml
index a5aedfc8a43..39a9a900cd1 100644
--- a/plugins/network-elements/elastic-loadbalancer/pom.xml
+++ b/plugins/network-elements/elastic-loadbalancer/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/globodns/pom.xml b/plugins/network-elements/globodns/pom.xml
index d7767f236e6..967cdb5db9b 100644
--- a/plugins/network-elements/globodns/pom.xml
+++ b/plugins/network-elements/globodns/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/internal-loadbalancer/pom.xml b/plugins/network-elements/internal-loadbalancer/pom.xml
index 7b84efe3981..bc7691d3989 100644
--- a/plugins/network-elements/internal-loadbalancer/pom.xml
+++ b/plugins/network-elements/internal-loadbalancer/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/juniper-contrail/pom.xml b/plugins/network-elements/juniper-contrail/pom.xml
index 1b64d9150df..bd6f0d23795 100644
--- a/plugins/network-elements/juniper-contrail/pom.xml
+++ b/plugins/network-elements/juniper-contrail/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/netscaler/pom.xml b/plugins/network-elements/netscaler/pom.xml
index f5bba0179b4..6844062146d 100644
--- a/plugins/network-elements/netscaler/pom.xml
+++ b/plugins/network-elements/netscaler/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/nicira-nvp/pom.xml b/plugins/network-elements/nicira-nvp/pom.xml
index 2c6f6d50e56..fc0f18499cf 100644
--- a/plugins/network-elements/nicira-nvp/pom.xml
+++ b/plugins/network-elements/nicira-nvp/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/opendaylight/pom.xml b/plugins/network-elements/opendaylight/pom.xml
index 8bf864f8c3c..007baf2dce0 100644
--- a/plugins/network-elements/opendaylight/pom.xml
+++ b/plugins/network-elements/opendaylight/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/ovs/pom.xml b/plugins/network-elements/ovs/pom.xml
index b30e8cf72a1..c6e234e982c 100644
--- a/plugins/network-elements/ovs/pom.xml
+++ b/plugins/network-elements/ovs/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/palo-alto/pom.xml b/plugins/network-elements/palo-alto/pom.xml
index 41404b89d2a..d17667514a6 100644
--- a/plugins/network-elements/palo-alto/pom.xml
+++ b/plugins/network-elements/palo-alto/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/stratosphere-ssp/pom.xml b/plugins/network-elements/stratosphere-ssp/pom.xml
index 6c469dc2cc2..cb9320b9695 100644
--- a/plugins/network-elements/stratosphere-ssp/pom.xml
+++ b/plugins/network-elements/stratosphere-ssp/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/tungsten/pom.xml b/plugins/network-elements/tungsten/pom.xml
index 9bf67cbcf85..f157dd4cf2e 100644
--- a/plugins/network-elements/tungsten/pom.xml
+++ b/plugins/network-elements/tungsten/pom.xml
@@ -26,7 +26,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/network-elements/vxlan/pom.xml b/plugins/network-elements/vxlan/pom.xml
index a8fb5e6b108..db4eb3d8caa 100644
--- a/plugins/network-elements/vxlan/pom.xml
+++ b/plugins/network-elements/vxlan/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/outofbandmanagement-drivers/ipmitool/pom.xml b/plugins/outofbandmanagement-drivers/ipmitool/pom.xml
index 3c35a42c996..ae135d9aedf 100644
--- a/plugins/outofbandmanagement-drivers/ipmitool/pom.xml
+++ b/plugins/outofbandmanagement-drivers/ipmitool/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml b/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml
index a68fd28adbc..fce742203da 100644
--- a/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml
+++ b/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/outofbandmanagement-drivers/redfish/pom.xml b/plugins/outofbandmanagement-drivers/redfish/pom.xml
index 4b73e4bf346..1c64b26627f 100644
--- a/plugins/outofbandmanagement-drivers/redfish/pom.xml
+++ b/plugins/outofbandmanagement-drivers/redfish/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/pom.xml b/plugins/pom.xml
index b4d8969390f..4eef0adf578 100755
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/plugins/storage-allocators/random/pom.xml b/plugins/storage-allocators/random/pom.xml
index 6db3a1fe919..fd3ddbda5f3 100644
--- a/plugins/storage-allocators/random/pom.xml
+++ b/plugins/storage-allocators/random/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/storage/image/default/pom.xml b/plugins/storage/image/default/pom.xml
index e2328f7607f..7d4d9f6fb02 100644
--- a/plugins/storage/image/default/pom.xml
+++ b/plugins/storage/image/default/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/image/s3/pom.xml b/plugins/storage/image/s3/pom.xml
index 9891a027a31..693a0d55023 100644
--- a/plugins/storage/image/s3/pom.xml
+++ b/plugins/storage/image/s3/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/image/sample/pom.xml b/plugins/storage/image/sample/pom.xml
index 3fbcae399c7..f9c45d5b4d8 100644
--- a/plugins/storage/image/sample/pom.xml
+++ b/plugins/storage/image/sample/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/image/swift/pom.xml b/plugins/storage/image/swift/pom.xml
index 9efe3b665e6..ef1bbef697a 100644
--- a/plugins/storage/image/swift/pom.xml
+++ b/plugins/storage/image/swift/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/cloudbyte/pom.xml b/plugins/storage/volume/cloudbyte/pom.xml
index f083bdfcd99..99c73d76f73 100644
--- a/plugins/storage/volume/cloudbyte/pom.xml
+++ b/plugins/storage/volume/cloudbyte/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/datera/pom.xml b/plugins/storage/volume/datera/pom.xml
index 305b8da3f79..aa49f779b9d 100644
--- a/plugins/storage/volume/datera/pom.xml
+++ b/plugins/storage/volume/datera/pom.xml
@@ -16,7 +16,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/default/pom.xml b/plugins/storage/volume/default/pom.xml
index f4146b8ed23..e0e78fd0786 100644
--- a/plugins/storage/volume/default/pom.xml
+++ b/plugins/storage/volume/default/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/linstor/pom.xml b/plugins/storage/volume/linstor/pom.xml
index 4b16f181673..8b0781399fa 100644
--- a/plugins/storage/volume/linstor/pom.xml
+++ b/plugins/storage/volume/linstor/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/nexenta/pom.xml b/plugins/storage/volume/nexenta/pom.xml
index 073359979fb..54d4b4b2929 100644
--- a/plugins/storage/volume/nexenta/pom.xml
+++ b/plugins/storage/volume/nexenta/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/sample/pom.xml b/plugins/storage/volume/sample/pom.xml
index f53621c8e00..38e16255f69 100644
--- a/plugins/storage/volume/sample/pom.xml
+++ b/plugins/storage/volume/sample/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/scaleio/pom.xml b/plugins/storage/volume/scaleio/pom.xml
index 6e0e86d94a2..da6d2db0de7 100644
--- a/plugins/storage/volume/scaleio/pom.xml
+++ b/plugins/storage/volume/scaleio/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java
index 06091735d70..3a0654eb8e7 100644
--- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java
+++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java
@@ -556,7 +556,7 @@ public class ScaleIOPrimaryDataStoreDriver implements PrimaryDataStoreDriver {
}
}
} else {
- LOGGER.debug(String.format("No encryption configured for data volume %s", volumeInfo));
+ LOGGER.debug(String.format("No encryption configured for data volume %s", volumeInfo));
}
return answer;
@@ -779,7 +779,7 @@ public class ScaleIOPrimaryDataStoreDriver implements PrimaryDataStoreDriver {
long newSize = destData.getSize() + (1<<30);
LOGGER.debug(String.format("Destination volume %s(%s) is configured for encryption. Resizing to fit headers, new size %s will be rounded up to nearest 8Gi", destInfo.getId(), destData.getSize(), newSize));
ResizeVolumePayload p = new ResizeVolumePayload(newSize, destInfo.getMinIops(), destInfo.getMaxIops(),
- destInfo.getHypervisorSnapshotReserve(), false, destInfo.getAttachedVmName(), null, true);
+ destInfo.getHypervisorSnapshotReserve(), false, destInfo.getAttachedVmName(), null, true);
destInfo.addPayload(p);
resizeVolume(destInfo);
} else {
diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManager.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManager.java
index 696643cb17a..ede893786b5 100644
--- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManager.java
+++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManager.java
@@ -29,6 +29,14 @@ public interface ScaleIOSDCManager {
*/
boolean areSDCConnectionsWithinLimit(Long storagePoolId);
+ /**
+ * Returns connected SDC Id.
+ * @param host the host
+ * @param dataStore the datastore
+ * @return SDC Id of the host
+ */
+ String getConnectedSdc(Host host, DataStore dataStore);
+
/**
* Prepares/starts the SDC on the host.
* @param host the host
diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java
index b121a1da66f..9a524c51e5a 100644
--- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java
+++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/manager/ScaleIOSDCManagerImpl.java
@@ -24,10 +24,13 @@ import javax.inject.Inject;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStore;
+import org.apache.cloudstack.framework.config.ConfigKey;
+import org.apache.cloudstack.framework.config.Configurable;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.storage.datastore.client.ScaleIOGatewayClient;
import org.apache.cloudstack.storage.datastore.client.ScaleIOGatewayClientConnectionPool;
import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao;
+import org.apache.cloudstack.storage.datastore.driver.ScaleIOPrimaryDataStoreDriver;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
@@ -50,9 +53,18 @@ import com.cloud.utils.db.GlobalLock;
import com.cloud.utils.exception.CloudRuntimeException;
@Component
-public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
+public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager, Configurable {
private static final Logger LOGGER = Logger.getLogger(ScaleIOSDCManagerImpl.class);
+ static ConfigKey ConnectOnDemand = new ConfigKey<>("Storage",
+ Boolean.class,
+ "powerflex.connect.on.demand",
+ Boolean.FALSE.toString(),
+ "Connect PowerFlex client on Host when first Volume is mapped to SDC and disconnect when last Volume is unmapped from SDC," +
+ " otherwise no action (that is connection remains in the same state whichever it is, connected or disconnected).",
+ Boolean.TRUE,
+ ConfigKey.Scope.Zone);
+
@Inject
AgentManager agentManager;
@Inject
@@ -93,6 +105,11 @@ public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
@Override
public String prepareSDC(Host host, DataStore dataStore) {
+ if (Boolean.FALSE.equals(ConnectOnDemand.valueIn(host.getDataCenterId()))) {
+ LOGGER.debug(String.format("On-demand connect/disconnect config %s disabled in the zone %d, no need to prepare SDC (check for connected SDC)", ConnectOnDemand.key(), host.getDataCenterId()));
+ return getConnectedSdc(host, dataStore);
+ }
+
String systemId = storagePoolDetailsDao.findDetail(dataStore.getId(), ScaleIOGatewayClient.STORAGE_POOL_SYSTEM_ID).getValue();
if (systemId == null) {
throw new CloudRuntimeException("Unable to prepare SDC, failed to get the system id for PowerFlex storage pool: " + dataStore.getName());
@@ -115,7 +132,7 @@ public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
long poolId = dataStore.getId();
long hostId = host.getId();
- String sdcId = getConnectedSdc(poolId, hostId);
+ String sdcId = getConnectedSdc(host, dataStore);
if (StringUtils.isNotBlank(sdcId)) {
LOGGER.debug(String.format("SDC %s already connected for the pool: %d on host: %d, no need to prepare/start it", sdcId, poolId, hostId));
return sdcId;
@@ -226,6 +243,11 @@ public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
@Override
public boolean stopSDC(Host host, DataStore dataStore) {
+ if (Boolean.FALSE.equals(ConnectOnDemand.valueIn(host.getDataCenterId()))) {
+ LOGGER.debug(String.format("On-demand connect/disconnect config %s disabled in the zone %d, no need to unprepare SDC", ConnectOnDemand.key(), host.getDataCenterId()));
+ return true;
+ }
+
String systemId = storagePoolDetailsDao.findDetail(dataStore.getId(), ScaleIOGatewayClient.STORAGE_POOL_SYSTEM_ID).getValue();
if (systemId == null) {
throw new CloudRuntimeException("Unable to unprepare SDC, failed to get the system id for PowerFlex storage pool: " + dataStore.getName());
@@ -245,9 +267,7 @@ public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
throw new CloudRuntimeException("Unable to unprepare SDC, couldn't lock on " + hostIdStorageSystemIdLockString);
}
- long poolId = dataStore.getId();
- long hostId = host.getId();
- String sdcId = getConnectedSdc(poolId, hostId);
+ String sdcId = getConnectedSdc(host, dataStore);
if (StringUtils.isBlank(sdcId)) {
LOGGER.debug("SDC not connected, no need to unprepare it");
return true;
@@ -296,7 +316,11 @@ public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
}
}
- private String getConnectedSdc(long poolId, long hostId) {
+ @Override
+ public String getConnectedSdc(Host host, DataStore dataStore) {
+ long poolId = dataStore.getId();
+ long hostId = host.getId();
+
try {
StoragePoolHostVO poolHostVO = storagePoolHostDao.findByPoolHost(poolId, hostId);
if (poolHostVO == null) {
@@ -343,4 +367,15 @@ public class ScaleIOSDCManagerImpl implements ScaleIOSDCManager {
private ScaleIOGatewayClient getScaleIOClient(final Long storagePoolId) throws Exception {
return ScaleIOGatewayClientConnectionPool.getInstance().getClient(storagePoolId, storagePoolDetailsDao);
}
+
+
+ @Override
+ public String getConfigComponentName() {
+ return ScaleIOPrimaryDataStoreDriver.class.getSimpleName();
+ }
+
+ @Override
+ public ConfigKey>[] getConfigKeys() {
+ return new ConfigKey[]{ConnectOnDemand};
+ }
}
diff --git a/plugins/storage/volume/solidfire/pom.xml b/plugins/storage/volume/solidfire/pom.xml
index 9e0b1cb71cf..8ff03e74306 100644
--- a/plugins/storage/volume/solidfire/pom.xml
+++ b/plugins/storage/volume/solidfire/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/storage/volume/storpool/pom.xml b/plugins/storage/volume/storpool/pom.xml
index 32f9835330e..e230d880bd6 100644
--- a/plugins/storage/volume/storpool/pom.xml
+++ b/plugins/storage/volume/storpool/pom.xml
@@ -17,7 +17,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../../pom.xml
diff --git a/plugins/user-authenticators/ldap/pom.xml b/plugins/user-authenticators/ldap/pom.xml
index 53b030d60b1..13296963ef9 100644
--- a/plugins/user-authenticators/ldap/pom.xml
+++ b/plugins/user-authenticators/ldap/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/user-authenticators/md5/pom.xml b/plugins/user-authenticators/md5/pom.xml
index 0010c08f21a..b82289e8c9e 100644
--- a/plugins/user-authenticators/md5/pom.xml
+++ b/plugins/user-authenticators/md5/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/user-authenticators/pbkdf2/pom.xml b/plugins/user-authenticators/pbkdf2/pom.xml
index b5394bf12df..87577365010 100644
--- a/plugins/user-authenticators/pbkdf2/pom.xml
+++ b/plugins/user-authenticators/pbkdf2/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/user-authenticators/plain-text/pom.xml b/plugins/user-authenticators/plain-text/pom.xml
index 18f2d7cefac..4f31f3f0b61 100644
--- a/plugins/user-authenticators/plain-text/pom.xml
+++ b/plugins/user-authenticators/plain-text/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/user-authenticators/saml2/pom.xml b/plugins/user-authenticators/saml2/pom.xml
index dca17c34399..d19026d5f94 100644
--- a/plugins/user-authenticators/saml2/pom.xml
+++ b/plugins/user-authenticators/saml2/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/user-authenticators/sha256salted/pom.xml b/plugins/user-authenticators/sha256salted/pom.xml
index adfd532c1b5..8d4004f0085 100644
--- a/plugins/user-authenticators/sha256salted/pom.xml
+++ b/plugins/user-authenticators/sha256salted/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
diff --git a/plugins/user-two-factor-authenticators/static-pin/pom.xml b/plugins/user-two-factor-authenticators/static-pin/pom.xml
index e399b8451b9..e0ed7853348 100644
--- a/plugins/user-two-factor-authenticators/static-pin/pom.xml
+++ b/plugins/user-two-factor-authenticators/static-pin/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
\ No newline at end of file
diff --git a/plugins/user-two-factor-authenticators/totp/pom.xml b/plugins/user-two-factor-authenticators/totp/pom.xml
index 0e0100cb6c4..00e1098533f 100644
--- a/plugins/user-two-factor-authenticators/totp/pom.xml
+++ b/plugins/user-two-factor-authenticators/totp/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-plugins
- 4.18.1.1
+ 4.18.1.2
../../pom.xml
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 70b69d9263d..9115e486ca9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
pom
Apache CloudStack
Apache CloudStack is an IaaS ("Infrastructure as a Service") cloud orchestration platform.
diff --git a/quickcloud/pom.xml b/quickcloud/pom.xml
index 8fcbb2b178a..85a6663cfdf 100644
--- a/quickcloud/pom.xml
+++ b/quickcloud/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/server/pom.xml b/server/pom.xml
index 76a606d1ffd..e1e2bb30c58 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
index e1226ff3c09..95b3e04cc4d 100644
--- a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
@@ -739,8 +739,14 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
Integer count = eventIdPage.second();
Long[] idArray = eventIdPage.first().toArray(new Long[0]);
- if (count == 0) {
- return new Pair<>(new ArrayList<>(), count);
+ /**
+ * Need to check array empty, because {@link com.cloud.utils.db.GenericDaoBase#searchAndCount(SearchCriteria, Filter, boolean)}
+ * makes two calls: first to get objects and second to get count.
+ * List events has start date filter, there is highly possible cause where no objects loaded
+ * and next millisecond new event added and finally we ended up with count = 1 and no ids.
+ */
+ if (count == 0 || idArray.length < 1) {
+ count = 0;
}
List events = _eventJoinDao.searchByIds(idArray);
diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java
index 486e90b8520..e13cc47082b 100644
--- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java
+++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java
@@ -22,6 +22,7 @@ import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.stream.Collectors;
import javax.inject.Inject;
@@ -752,13 +753,16 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager,
for (VMInstanceVO vm : vmsByLastHostId) {
Float cpuOvercommitRatio = 1.0f;
Float ramOvercommitRatio = 1.0f;
- long secondsSinceLastUpdate = (DateUtil.currentGMTTime().getTime() - vm.getUpdateTime().getTime()) / 1000;
+ long lastModificationTime = Optional.ofNullable(vm.getUpdateTime()).orElse(vm.getCreated()).getTime();
+ long secondsSinceLastUpdate = (DateUtil.currentGMTTime().getTime() - lastModificationTime) / 1000;
if (secondsSinceLastUpdate < _vmCapacityReleaseInterval) {
UserVmDetailVO vmDetailCpu = _userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.CPU_OVER_COMMIT_RATIO);
UserVmDetailVO vmDetailRam = _userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.MEMORY_OVER_COMMIT_RATIO);
if (vmDetailCpu != null) {
//if vmDetail_cpu is not null it means it is running in a overcommited cluster.
cpuOvercommitRatio = Float.parseFloat(vmDetailCpu.getValue());
+ }
+ if (vmDetailRam != null) {
ramOvercommitRatio = Float.parseFloat(vmDetailRam.getValue());
}
ServiceOffering so = getServiceOffering(vm.getServiceOfferingId());
diff --git a/server/src/main/java/com/cloud/event/dao/EventJoinDaoImpl.java b/server/src/main/java/com/cloud/event/dao/EventJoinDaoImpl.java
index c73f57529b8..d83a52b380c 100644
--- a/server/src/main/java/com/cloud/event/dao/EventJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/event/dao/EventJoinDaoImpl.java
@@ -130,6 +130,10 @@ public class EventJoinDaoImpl extends GenericDaoBase implemen
@Override
public List searchByIds(Long... ids) {
+ // return empty collection if there are no ids.
+ if (ids.length == 0) {
+ return List.of();
+ }
SearchCriteria sc = vrSearch.create();
sc.setParameters("idIN", ids);
return searchIncludingRemoved(sc, null, null, false);
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index f1712601497..2c822a8b519 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -659,14 +659,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
HypervisorType.Simulator
));
- protected static final List ROOT_DISK_SIZE_OVERRIDE_SUPPORTING_HYPERVISORS = Arrays.asList(
- HypervisorType.KVM,
- HypervisorType.XenServer,
- HypervisorType.VMware,
- HypervisorType.Simulator,
- HypervisorType.Custom
- );
-
private static final List HYPERVISORS_THAT_CAN_DO_STORAGE_MIGRATION_ON_NON_USER_VMS = Arrays.asList(HypervisorType.KVM, HypervisorType.VMware);
@Override
@@ -4396,7 +4388,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
* @throws InvalidParameterValueException if the hypervisor does not support rootdisksize override
*/
protected void verifyIfHypervisorSupportsRootdiskSizeOverride(HypervisorType hypervisorType) {
- if (!ROOT_DISK_SIZE_OVERRIDE_SUPPORTING_HYPERVISORS.contains(hypervisorType)) {
+ if (!hypervisorType.isFunctionalitySupported(HypervisorType.Functionality.RootDiskSizeOverride)) {
throw new InvalidParameterValueException("Hypervisor " + hypervisorType + " does not support rootdisksize override");
}
}
diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
index d3c2ff585e5..11162522b49 100644
--- a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
+++ b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
@@ -654,7 +654,7 @@ public class UserVmManagerImplTest {
int expectedExceptionCounter = hypervisorTypeArray.length - 5;
for(int i = 0; i < hypervisorTypeArray.length; i++) {
- if (UserVmManagerImpl.ROOT_DISK_SIZE_OVERRIDE_SUPPORTING_HYPERVISORS.contains(hypervisorTypeArray[i])) {
+ if (hypervisorTypeArray[i].isFunctionalitySupported(Hypervisor.HypervisorType.Functionality.RootDiskSizeOverride)) {
userVmManagerImpl.verifyIfHypervisorSupportsRootdiskSizeOverride(hypervisorTypeArray[i]);
} else {
try {
diff --git a/services/console-proxy/pom.xml b/services/console-proxy/pom.xml
index 8456aa9aa68..cf066476215 100644
--- a/services/console-proxy/pom.xml
+++ b/services/console-proxy/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack-services
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/services/console-proxy/rdpconsole/pom.xml b/services/console-proxy/rdpconsole/pom.xml
index 710c74af23b..45fec486033 100644
--- a/services/console-proxy/rdpconsole/pom.xml
+++ b/services/console-proxy/rdpconsole/pom.xml
@@ -26,7 +26,7 @@
org.apache.cloudstack
cloudstack-service-console-proxy
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/services/console-proxy/server/pom.xml b/services/console-proxy/server/pom.xml
index 984597c29db..1eb1fa8cfce 100644
--- a/services/console-proxy/server/pom.xml
+++ b/services/console-proxy/server/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-service-console-proxy
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/services/pom.xml b/services/pom.xml
index 4df43b9c733..0cd8a92f19a 100644
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/services/secondary-storage/controller/pom.xml b/services/secondary-storage/controller/pom.xml
index 86c92a4b62f..dbf4fe12cf6 100644
--- a/services/secondary-storage/controller/pom.xml
+++ b/services/secondary-storage/controller/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-service-secondary-storage
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/services/secondary-storage/pom.xml b/services/secondary-storage/pom.xml
index 09bccd8306f..7640a68f614 100644
--- a/services/secondary-storage/pom.xml
+++ b/services/secondary-storage/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack-services
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/services/secondary-storage/server/pom.xml b/services/secondary-storage/server/pom.xml
index 12cd8485dbd..9517cece855 100644
--- a/services/secondary-storage/server/pom.xml
+++ b/services/secondary-storage/server/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack-service-secondary-storage
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/systemvm/pom.xml b/systemvm/pom.xml
index 2a09cf3a6ea..f661d323351 100644
--- a/systemvm/pom.xml
+++ b/systemvm/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/test/pom.xml b/test/pom.xml
index 505d0daaae1..940d180d475 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/tools/apidoc/pom.xml b/tools/apidoc/pom.xml
index 81597840df2..280cd6b2256 100644
--- a/tools/apidoc/pom.xml
+++ b/tools/apidoc/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloud-tools
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/tools/checkstyle/pom.xml b/tools/checkstyle/pom.xml
index d4f2cb5f899..ad5501dd78c 100644
--- a/tools/checkstyle/pom.xml
+++ b/tools/checkstyle/pom.xml
@@ -22,7 +22,7 @@
Apache CloudStack Developer Tools - Checkstyle Configuration
org.apache.cloudstack
checkstyle
- 4.18.1.1
+ 4.18.1.2
UTF-8
diff --git a/tools/devcloud-kvm/pom.xml b/tools/devcloud-kvm/pom.xml
index 9f24d4ce2b7..99a5eb0a927 100644
--- a/tools/devcloud-kvm/pom.xml
+++ b/tools/devcloud-kvm/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloud-tools
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/tools/devcloud4/pom.xml b/tools/devcloud4/pom.xml
index f7efc1e570a..b2537c5f974 100644
--- a/tools/devcloud4/pom.xml
+++ b/tools/devcloud4/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloud-tools
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/tools/marvin/pom.xml b/tools/marvin/pom.xml
index ee0468a6741..af4ddcb69c0 100644
--- a/tools/marvin/pom.xml
+++ b/tools/marvin/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloud-tools
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py
index 760e008e767..48945f171b3 100644
--- a/tools/marvin/setup.py
+++ b/tools/marvin/setup.py
@@ -27,7 +27,7 @@ except ImportError:
raise RuntimeError("python setuptools is required to build Marvin")
-VERSION = "4.18.1.1"
+VERSION = "4.18.1.2"
setup(name="Marvin",
version=VERSION,
diff --git a/tools/pom.xml b/tools/pom.xml
index ca87f180401..bd3c8155efe 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -25,7 +25,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/usage/pom.xml b/usage/pom.xml
index 1f658fa1a49..6a17a8a652a 100644
--- a/usage/pom.xml
+++ b/usage/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
diff --git a/utils/pom.xml b/utils/pom.xml
index 1d9336a9297..abb97af4a40 100755
--- a/utils/pom.xml
+++ b/utils/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2
../pom.xml
diff --git a/vmware-base/pom.xml b/vmware-base/pom.xml
index e1e2f8cab63..090d1d7a83a 100644
--- a/vmware-base/pom.xml
+++ b/vmware-base/pom.xml
@@ -24,7 +24,7 @@
org.apache.cloudstack
cloudstack
- 4.18.1.1
+ 4.18.1.2