From 51124b7b35f47089b2e51a93b2094ea93dd15302 Mon Sep 17 00:00:00 2001 From: Paul Angus Date: Mon, 10 Jun 2019 16:15:05 +0100 Subject: [PATCH 01/12] Updating pom.xml version numbers for release 4.11.3.0 Signed-off-by: Paul Angus --- agent/pom.xml | 2 +- api/pom.xml | 2 +- client/pom.xml | 2 +- core/pom.xml | 2 +- debian/changelog | 6 ++++++ developer/pom.xml | 2 +- engine/api/pom.xml | 2 +- engine/components-api/pom.xml | 2 +- engine/network/pom.xml | 2 +- engine/orchestration/pom.xml | 2 +- engine/pom.xml | 2 +- engine/schema/pom.xml | 2 +- engine/service/pom.xml | 2 +- engine/storage/cache/pom.xml | 2 +- engine/storage/configdrive/pom.xml | 2 +- engine/storage/datamotion/pom.xml | 2 +- engine/storage/image/pom.xml | 2 +- engine/storage/integration-test/pom.xml | 2 +- engine/storage/pom.xml | 2 +- engine/storage/snapshot/pom.xml | 2 +- engine/storage/volume/pom.xml | 2 +- framework/agent-lb/pom.xml | 2 +- framework/ca/pom.xml | 2 +- framework/cluster/pom.xml | 2 +- framework/config/pom.xml | 2 +- framework/db/pom.xml | 2 +- framework/direct-download/pom.xml | 2 +- framework/events/pom.xml | 2 +- framework/ipc/pom.xml | 2 +- framework/jobs/pom.xml | 2 +- framework/managed-context/pom.xml | 2 +- framework/pom.xml | 2 +- framework/quota/pom.xml | 2 +- framework/rest/pom.xml | 2 +- framework/security/pom.xml | 2 +- framework/spring/lifecycle/pom.xml | 2 +- framework/spring/module/pom.xml | 2 +- maven-standard/pom.xml | 2 +- plugins/acl/dynamic-role-based/pom.xml | 2 +- plugins/acl/static-role-based/pom.xml | 2 +- .../affinity-group-processors/explicit-dedication/pom.xml | 2 +- plugins/affinity-group-processors/host-affinity/pom.xml | 2 +- .../affinity-group-processors/host-anti-affinity/pom.xml | 2 +- plugins/alert-handlers/snmp-alerts/pom.xml | 2 +- plugins/alert-handlers/syslog-alerts/pom.xml | 2 +- plugins/api/discovery/pom.xml | 2 +- plugins/api/rate-limit/pom.xml | 2 +- plugins/api/solidfire-intg-test/pom.xml | 2 +- plugins/api/vmware-sioc/pom.xml | 2 +- plugins/ca/root-ca/pom.xml | 2 +- plugins/database/mysql-ha/pom.xml | 2 +- plugins/database/quota/pom.xml | 2 +- plugins/dedicated-resources/pom.xml | 2 +- plugins/deployment-planners/implicit-dedication/pom.xml | 2 +- plugins/deployment-planners/user-concentrated-pod/pom.xml | 2 +- plugins/deployment-planners/user-dispersing/pom.xml | 2 +- plugins/event-bus/inmemory/pom.xml | 2 +- plugins/event-bus/kafka/pom.xml | 2 +- plugins/event-bus/rabbitmq/pom.xml | 2 +- plugins/file-systems/netapp/pom.xml | 2 +- plugins/ha-planners/skip-heurestics/pom.xml | 2 +- plugins/host-allocators/random/pom.xml | 2 +- plugins/hypervisors/baremetal/pom.xml | 2 +- plugins/hypervisors/hyperv/pom.xml | 2 +- plugins/hypervisors/kvm/pom.xml | 2 +- plugins/hypervisors/ovm/pom.xml | 2 +- plugins/hypervisors/ovm3/pom.xml | 2 +- plugins/hypervisors/simulator/pom.xml | 2 +- plugins/hypervisors/ucs/pom.xml | 2 +- plugins/hypervisors/vmware/pom.xml | 2 +- plugins/hypervisors/xenserver/pom.xml | 2 +- plugins/integrations/cloudian/pom.xml | 2 +- plugins/integrations/prometheus/pom.xml | 2 +- plugins/metrics/pom.xml | 2 +- plugins/network-elements/bigswitch/pom.xml | 2 +- plugins/network-elements/brocade-vcs/pom.xml | 2 +- plugins/network-elements/cisco-vnmc/pom.xml | 2 +- plugins/network-elements/dns-notifier/pom.xml | 2 +- plugins/network-elements/elastic-loadbalancer/pom.xml | 2 +- plugins/network-elements/f5/pom.xml | 2 +- plugins/network-elements/globodns/pom.xml | 2 +- plugins/network-elements/internal-loadbalancer/pom.xml | 2 +- plugins/network-elements/juniper-contrail/pom.xml | 2 +- plugins/network-elements/juniper-srx/pom.xml | 2 +- plugins/network-elements/netscaler/pom.xml | 2 +- plugins/network-elements/nicira-nvp/pom.xml | 4 ++-- plugins/network-elements/nuage-vsp/pom.xml | 2 +- plugins/network-elements/opendaylight/pom.xml | 2 +- plugins/network-elements/ovs/pom.xml | 2 +- plugins/network-elements/palo-alto/pom.xml | 2 +- plugins/network-elements/stratosphere-ssp/pom.xml | 2 +- plugins/network-elements/vxlan/pom.xml | 2 +- plugins/outofbandmanagement-drivers/ipmitool/pom.xml | 2 +- .../outofbandmanagement-drivers/nested-cloudstack/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/storage-allocators/random/pom.xml | 2 +- plugins/storage/image/default/pom.xml | 2 +- plugins/storage/image/s3/pom.xml | 2 +- plugins/storage/image/sample/pom.xml | 2 +- plugins/storage/image/swift/pom.xml | 2 +- plugins/storage/volume/cloudbyte/pom.xml | 2 +- plugins/storage/volume/default/pom.xml | 2 +- plugins/storage/volume/nexenta/pom.xml | 2 +- plugins/storage/volume/sample/pom.xml | 2 +- plugins/storage/volume/solidfire/pom.xml | 2 +- plugins/user-authenticators/ldap/pom.xml | 2 +- plugins/user-authenticators/md5/pom.xml | 2 +- plugins/user-authenticators/pbkdf2/pom.xml | 2 +- plugins/user-authenticators/plain-text/pom.xml | 2 +- plugins/user-authenticators/saml2/pom.xml | 2 +- plugins/user-authenticators/sha256salted/pom.xml | 2 +- pom.xml | 2 +- quickcloud/pom.xml | 2 +- server/pom.xml | 2 +- services/console-proxy-rdp/rdpconsole/pom.xml | 2 +- services/console-proxy/plugin/pom.xml | 2 +- services/console-proxy/pom.xml | 2 +- services/console-proxy/server/pom.xml | 2 +- services/iam/plugin/pom.xml | 2 +- services/iam/server/pom.xml | 2 +- services/pom.xml | 2 +- services/secondary-storage/controller/pom.xml | 2 +- services/secondary-storage/pom.xml | 2 +- services/secondary-storage/server/pom.xml | 2 +- systemvm/pom.xml | 2 +- test/pom.xml | 2 +- tools/apidoc/pom.xml | 2 +- tools/checkstyle/pom.xml | 2 +- tools/devcloud-kvm/pom.xml | 2 +- tools/devcloud4/pom.xml | 2 +- tools/docker/Dockerfile | 2 +- tools/docker/Dockerfile.centos6 | 6 +++--- tools/docker/Dockerfile.marvin | 4 ++-- tools/marvin/pom.xml | 2 +- tools/marvin/setup.py | 2 +- tools/pom.xml | 2 +- tools/wix-cloudstack-maven-plugin/pom.xml | 2 +- usage/pom.xml | 2 +- utils/pom.xml | 2 +- vmware-base/pom.xml | 2 +- 140 files changed, 149 insertions(+), 143 deletions(-) diff --git a/agent/pom.xml b/agent/pom.xml index fd309295685..f84ccbccf42 100644 --- a/agent/pom.xml +++ b/agent/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/api/pom.xml b/api/pom.xml index 712b78dd4d9..9600acd3b9c 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/client/pom.xml b/client/pom.xml index e38bd4bd9a1..51c06401e9c 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/core/pom.xml b/core/pom.xml index f2aa1e34e88..1a14f560568 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/debian/changelog b/debian/changelog index 2c2f60307de..a4fc002bbea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cloudstack (4.11.3.0) unstable; urgency=low + + * Update the version to 4.11.3.0 + + -- the Apache CloudStack project Mon, 10 Jun 2019 16:15:05 +0100 + cloudstack (4.11.3.0-SNAPSHOT) unstable; urgency=low * Update the version to 4.11.3.0-SNAPSHOT diff --git a/developer/pom.xml b/developer/pom.xml index 553b38fa873..4b137e4eb9f 100644 --- a/developer/pom.xml +++ b/developer/pom.xml @@ -18,7 +18,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/engine/api/pom.xml b/engine/api/pom.xml index 9912b38f7ba..71732889e50 100644 --- a/engine/api/pom.xml +++ b/engine/api/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/components-api/pom.xml b/engine/components-api/pom.xml index 9bdc71c43bc..1fb235a9c89 100644 --- a/engine/components-api/pom.xml +++ b/engine/components-api/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/network/pom.xml b/engine/network/pom.xml index 3060d51d302..ce9b9d6e844 100644 --- a/engine/network/pom.xml +++ b/engine/network/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/orchestration/pom.xml b/engine/orchestration/pom.xml index 2401c188cc1..6a8ec66d2f0 100755 --- a/engine/orchestration/pom.xml +++ b/engine/orchestration/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/pom.xml b/engine/pom.xml index d496c90d19b..59994478102 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/schema/pom.xml b/engine/schema/pom.xml index f16ab66fbaa..65d2d038482 100644 --- a/engine/schema/pom.xml +++ b/engine/schema/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/service/pom.xml b/engine/service/pom.xml index 658ab25611c..fccb0b554b1 100644 --- a/engine/service/pom.xml +++ b/engine/service/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 cloud-engine-service war diff --git a/engine/storage/cache/pom.xml b/engine/storage/cache/pom.xml index 3fb1fde6849..5b405a89e96 100644 --- a/engine/storage/cache/pom.xml +++ b/engine/storage/cache/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/engine/storage/configdrive/pom.xml b/engine/storage/configdrive/pom.xml index 36acddbcd2b..9448e41f000 100644 --- a/engine/storage/configdrive/pom.xml +++ b/engine/storage/configdrive/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/engine/storage/datamotion/pom.xml b/engine/storage/datamotion/pom.xml index 17d22c515f3..a654161ae8c 100644 --- a/engine/storage/datamotion/pom.xml +++ b/engine/storage/datamotion/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/engine/storage/image/pom.xml b/engine/storage/image/pom.xml index a1e9723b09e..6bf3e37e376 100644 --- a/engine/storage/image/pom.xml +++ b/engine/storage/image/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/engine/storage/integration-test/pom.xml b/engine/storage/integration-test/pom.xml index e27d0c949a8..7ff2b28fa91 100644 --- a/engine/storage/integration-test/pom.xml +++ b/engine/storage/integration-test/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/engine/storage/pom.xml b/engine/storage/pom.xml index c5940a82944..f482b9e6c36 100644 --- a/engine/storage/pom.xml +++ b/engine/storage/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/engine/storage/snapshot/pom.xml b/engine/storage/snapshot/pom.xml index 86f39dab2ba..8dceb4bc39d 100644 --- a/engine/storage/snapshot/pom.xml +++ b/engine/storage/snapshot/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/engine/storage/volume/pom.xml b/engine/storage/volume/pom.xml index 4a728860ade..8f3f383903e 100644 --- a/engine/storage/volume/pom.xml +++ b/engine/storage/volume/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/framework/agent-lb/pom.xml b/framework/agent-lb/pom.xml index 972182cbe1f..2b65332c5db 100644 --- a/framework/agent-lb/pom.xml +++ b/framework/agent-lb/pom.xml @@ -25,7 +25,7 @@ cloudstack-framework org.apache.cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/ca/pom.xml b/framework/ca/pom.xml index 746694e3669..d301377f8e1 100644 --- a/framework/ca/pom.xml +++ b/framework/ca/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/cluster/pom.xml b/framework/cluster/pom.xml index 311e5caf714..0116bf0efbe 100644 --- a/framework/cluster/pom.xml +++ b/framework/cluster/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/config/pom.xml b/framework/config/pom.xml index e08fda6e78f..adf7e65e77a 100644 --- a/framework/config/pom.xml +++ b/framework/config/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/db/pom.xml b/framework/db/pom.xml index aeff088a022..b3953914516 100644 --- a/framework/db/pom.xml +++ b/framework/db/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/direct-download/pom.xml b/framework/direct-download/pom.xml index 441004b0e0c..4521c3da4e6 100644 --- a/framework/direct-download/pom.xml +++ b/framework/direct-download/pom.xml @@ -25,7 +25,7 @@ cloudstack-framework org.apache.cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml \ No newline at end of file diff --git a/framework/events/pom.xml b/framework/events/pom.xml index c395d5c75cc..9a1807bb530 100644 --- a/framework/events/pom.xml +++ b/framework/events/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/ipc/pom.xml b/framework/ipc/pom.xml index cd94b3bb7b9..9f7e4b3e6b8 100644 --- a/framework/ipc/pom.xml +++ b/framework/ipc/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/jobs/pom.xml b/framework/jobs/pom.xml index 98a9499ff4b..3aa1554c13d 100644 --- a/framework/jobs/pom.xml +++ b/framework/jobs/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/managed-context/pom.xml b/framework/managed-context/pom.xml index 4067dcaf808..e5c75d05b01 100644 --- a/framework/managed-context/pom.xml +++ b/framework/managed-context/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../maven-standard/pom.xml diff --git a/framework/pom.xml b/framework/pom.xml index 681fb33fec4..dc968299830 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 install diff --git a/framework/quota/pom.xml b/framework/quota/pom.xml index 762c954deb5..0d939e4dea6 100644 --- a/framework/quota/pom.xml +++ b/framework/quota/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/rest/pom.xml b/framework/rest/pom.xml index 17d1dac1d1c..8425e4f4015 100644 --- a/framework/rest/pom.xml +++ b/framework/rest/pom.xml @@ -22,7 +22,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml cloud-framework-rest diff --git a/framework/security/pom.xml b/framework/security/pom.xml index e2f8042fc73..a24cf38caa6 100644 --- a/framework/security/pom.xml +++ b/framework/security/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/framework/spring/lifecycle/pom.xml b/framework/spring/lifecycle/pom.xml index 73379d7b975..7f4a3c0c8e6 100644 --- a/framework/spring/lifecycle/pom.xml +++ b/framework/spring/lifecycle/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../maven-standard/pom.xml diff --git a/framework/spring/module/pom.xml b/framework/spring/module/pom.xml index 7c719f00e4f..3da561ae66c 100644 --- a/framework/spring/module/pom.xml +++ b/framework/spring/module/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../maven-standard/pom.xml diff --git a/maven-standard/pom.xml b/maven-standard/pom.xml index cbacbfed5ed..226a80a6ba8 100644 --- a/maven-standard/pom.xml +++ b/maven-standard/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/plugins/acl/dynamic-role-based/pom.xml b/plugins/acl/dynamic-role-based/pom.xml index bf2439a8aef..1a7d4016a80 100644 --- a/plugins/acl/dynamic-role-based/pom.xml +++ b/plugins/acl/dynamic-role-based/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/acl/static-role-based/pom.xml b/plugins/acl/static-role-based/pom.xml index 78fa5da774a..ec35b052c66 100644 --- a/plugins/acl/static-role-based/pom.xml +++ b/plugins/acl/static-role-based/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/affinity-group-processors/explicit-dedication/pom.xml b/plugins/affinity-group-processors/explicit-dedication/pom.xml index df4738599e8..bbf6a503e74 100644 --- a/plugins/affinity-group-processors/explicit-dedication/pom.xml +++ b/plugins/affinity-group-processors/explicit-dedication/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/affinity-group-processors/host-affinity/pom.xml b/plugins/affinity-group-processors/host-affinity/pom.xml index d0d307863d8..a2a4f7e5f90 100644 --- a/plugins/affinity-group-processors/host-affinity/pom.xml +++ b/plugins/affinity-group-processors/host-affinity/pom.xml @@ -23,7 +23,7 @@ cloudstack-plugins org.apache.cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../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 494f01c5399..6f172361308 100644 --- a/plugins/affinity-group-processors/host-anti-affinity/pom.xml +++ b/plugins/affinity-group-processors/host-anti-affinity/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/alert-handlers/snmp-alerts/pom.xml b/plugins/alert-handlers/snmp-alerts/pom.xml index 8b319a19f23..73bcd7fdbee 100644 --- a/plugins/alert-handlers/snmp-alerts/pom.xml +++ b/plugins/alert-handlers/snmp-alerts/pom.xml @@ -22,7 +22,7 @@ cloudstack-plugins org.apache.cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml 4.0.0 diff --git a/plugins/alert-handlers/syslog-alerts/pom.xml b/plugins/alert-handlers/syslog-alerts/pom.xml index 8511c1afe78..88243cf17e5 100644 --- a/plugins/alert-handlers/syslog-alerts/pom.xml +++ b/plugins/alert-handlers/syslog-alerts/pom.xml @@ -22,7 +22,7 @@ cloudstack-plugins org.apache.cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml 4.0.0 diff --git a/plugins/api/discovery/pom.xml b/plugins/api/discovery/pom.xml index bcc6cf7305e..9d63250ad4d 100644 --- a/plugins/api/discovery/pom.xml +++ b/plugins/api/discovery/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/api/rate-limit/pom.xml b/plugins/api/rate-limit/pom.xml index 03e7f1de474..dcb5dc1ef07 100644 --- a/plugins/api/rate-limit/pom.xml +++ b/plugins/api/rate-limit/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/api/solidfire-intg-test/pom.xml b/plugins/api/solidfire-intg-test/pom.xml index 9230161a336..b98947cd274 100644 --- a/plugins/api/solidfire-intg-test/pom.xml +++ b/plugins/api/solidfire-intg-test/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/api/vmware-sioc/pom.xml b/plugins/api/vmware-sioc/pom.xml index 0d964c2ea69..c2862eae9d3 100644 --- a/plugins/api/vmware-sioc/pom.xml +++ b/plugins/api/vmware-sioc/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/ca/root-ca/pom.xml b/plugins/ca/root-ca/pom.xml index 25c306c680a..aa6743ba861 100644 --- a/plugins/ca/root-ca/pom.xml +++ b/plugins/ca/root-ca/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/database/mysql-ha/pom.xml b/plugins/database/mysql-ha/pom.xml index 411092d39df..5a997842edb 100644 --- a/plugins/database/mysql-ha/pom.xml +++ b/plugins/database/mysql-ha/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/database/quota/pom.xml b/plugins/database/quota/pom.xml index b27c347d91c..cfad62f4932 100644 --- a/plugins/database/quota/pom.xml +++ b/plugins/database/quota/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/dedicated-resources/pom.xml b/plugins/dedicated-resources/pom.xml index 78460d22a8a..bd481e51f1f 100644 --- a/plugins/dedicated-resources/pom.xml +++ b/plugins/dedicated-resources/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/plugins/deployment-planners/implicit-dedication/pom.xml b/plugins/deployment-planners/implicit-dedication/pom.xml index fb27533e235..40791f9212f 100644 --- a/plugins/deployment-planners/implicit-dedication/pom.xml +++ b/plugins/deployment-planners/implicit-dedication/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/deployment-planners/user-concentrated-pod/pom.xml b/plugins/deployment-planners/user-concentrated-pod/pom.xml index ad75dff70cb..dfa30757446 100644 --- a/plugins/deployment-planners/user-concentrated-pod/pom.xml +++ b/plugins/deployment-planners/user-concentrated-pod/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/deployment-planners/user-dispersing/pom.xml b/plugins/deployment-planners/user-dispersing/pom.xml index b7d842f48d1..377de41abbe 100644 --- a/plugins/deployment-planners/user-dispersing/pom.xml +++ b/plugins/deployment-planners/user-dispersing/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/event-bus/inmemory/pom.xml b/plugins/event-bus/inmemory/pom.xml index 32aff606fb2..9deb58dbf14 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/event-bus/kafka/pom.xml b/plugins/event-bus/kafka/pom.xml index 3ca4f79c701..f5bda13ce32 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/event-bus/rabbitmq/pom.xml b/plugins/event-bus/rabbitmq/pom.xml index 87fc11d054c..d61d5bb1e72 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/file-systems/netapp/pom.xml b/plugins/file-systems/netapp/pom.xml index 5d53f0bcce1..c88816e3f1b 100644 --- a/plugins/file-systems/netapp/pom.xml +++ b/plugins/file-systems/netapp/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/ha-planners/skip-heurestics/pom.xml b/plugins/ha-planners/skip-heurestics/pom.xml index f003b65ac1a..3ec94fded57 100644 --- a/plugins/ha-planners/skip-heurestics/pom.xml +++ b/plugins/ha-planners/skip-heurestics/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/host-allocators/random/pom.xml b/plugins/host-allocators/random/pom.xml index b188e2e771b..1f7db32f7cb 100644 --- a/plugins/host-allocators/random/pom.xml +++ b/plugins/host-allocators/random/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/hypervisors/baremetal/pom.xml b/plugins/hypervisors/baremetal/pom.xml index d96c0d46e51..ccb271962a4 100755 --- a/plugins/hypervisors/baremetal/pom.xml +++ b/plugins/hypervisors/baremetal/pom.xml @@ -21,7 +21,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml cloud-plugin-hypervisor-baremetal diff --git a/plugins/hypervisors/hyperv/pom.xml b/plugins/hypervisors/hyperv/pom.xml index 9c97c4e81fe..35ae7a515cb 100644 --- a/plugins/hypervisors/hyperv/pom.xml +++ b/plugins/hypervisors/hyperv/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/hypervisors/kvm/pom.xml b/plugins/hypervisors/kvm/pom.xml index 4107887c51e..01ccdd70091 100644 --- a/plugins/hypervisors/kvm/pom.xml +++ b/plugins/hypervisors/kvm/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/hypervisors/ovm/pom.xml b/plugins/hypervisors/ovm/pom.xml index 43f6ac8d0b6..fe31daa3477 100644 --- a/plugins/hypervisors/ovm/pom.xml +++ b/plugins/hypervisors/ovm/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml index 27f422f850f..029034b2849 100644 --- a/plugins/hypervisors/ovm3/pom.xml +++ b/plugins/hypervisors/ovm3/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/hypervisors/simulator/pom.xml b/plugins/hypervisors/simulator/pom.xml index af7668dbe6a..b75d877958b 100644 --- a/plugins/hypervisors/simulator/pom.xml +++ b/plugins/hypervisors/simulator/pom.xml @@ -22,7 +22,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml cloud-plugin-hypervisor-simulator diff --git a/plugins/hypervisors/ucs/pom.xml b/plugins/hypervisors/ucs/pom.xml index 13cc3713815..7bfa6915375 100755 --- a/plugins/hypervisors/ucs/pom.xml +++ b/plugins/hypervisors/ucs/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml cloud-plugin-hypervisor-ucs diff --git a/plugins/hypervisors/vmware/pom.xml b/plugins/hypervisors/vmware/pom.xml index 5e2d295489c..a09014a61e4 100644 --- a/plugins/hypervisors/vmware/pom.xml +++ b/plugins/hypervisors/vmware/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/hypervisors/xenserver/pom.xml b/plugins/hypervisors/xenserver/pom.xml index 78224c15cb2..f999137dd23 100644 --- a/plugins/hypervisors/xenserver/pom.xml +++ b/plugins/hypervisors/xenserver/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/integrations/cloudian/pom.xml b/plugins/integrations/cloudian/pom.xml index 92482d4cfd2..c4624a75d2d 100644 --- a/plugins/integrations/cloudian/pom.xml +++ b/plugins/integrations/cloudian/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/integrations/prometheus/pom.xml b/plugins/integrations/prometheus/pom.xml index 73da1c47d4c..8a8a3ef4f0f 100644 --- a/plugins/integrations/prometheus/pom.xml +++ b/plugins/integrations/prometheus/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/metrics/pom.xml b/plugins/metrics/pom.xml index 8dc70526c80..981a026bd4b 100644 --- a/plugins/metrics/pom.xml +++ b/plugins/metrics/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/plugins/network-elements/bigswitch/pom.xml b/plugins/network-elements/bigswitch/pom.xml index 92a379d8519..28ba2f2ebd0 100644 --- a/plugins/network-elements/bigswitch/pom.xml +++ b/plugins/network-elements/bigswitch/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/brocade-vcs/pom.xml b/plugins/network-elements/brocade-vcs/pom.xml index 357b52a0657..dd99440e511 100644 --- a/plugins/network-elements/brocade-vcs/pom.xml +++ b/plugins/network-elements/brocade-vcs/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/cisco-vnmc/pom.xml b/plugins/network-elements/cisco-vnmc/pom.xml index 913ffabd4d0..8433b761365 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/dns-notifier/pom.xml b/plugins/network-elements/dns-notifier/pom.xml index c5493f3e812..5cd4e585225 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../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 bed51467433..94f011294e1 100644 --- a/plugins/network-elements/elastic-loadbalancer/pom.xml +++ b/plugins/network-elements/elastic-loadbalancer/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/f5/pom.xml b/plugins/network-elements/f5/pom.xml index fc9b4d5f0bf..1dcf7a02b62 100644 --- a/plugins/network-elements/f5/pom.xml +++ b/plugins/network-elements/f5/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/globodns/pom.xml b/plugins/network-elements/globodns/pom.xml index 3380da9a726..c6977587fee 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/internal-loadbalancer/pom.xml b/plugins/network-elements/internal-loadbalancer/pom.xml index 569cf5af3e5..1860e318013 100644 --- a/plugins/network-elements/internal-loadbalancer/pom.xml +++ b/plugins/network-elements/internal-loadbalancer/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/juniper-contrail/pom.xml b/plugins/network-elements/juniper-contrail/pom.xml index 46579e56994..0bbdf24635e 100644 --- a/plugins/network-elements/juniper-contrail/pom.xml +++ b/plugins/network-elements/juniper-contrail/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/juniper-srx/pom.xml b/plugins/network-elements/juniper-srx/pom.xml index 7c80e0f4ec2..1c0734e84dc 100644 --- a/plugins/network-elements/juniper-srx/pom.xml +++ b/plugins/network-elements/juniper-srx/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/netscaler/pom.xml b/plugins/network-elements/netscaler/pom.xml index fa37ba379f4..31b5ce410d5 100644 --- a/plugins/network-elements/netscaler/pom.xml +++ b/plugins/network-elements/netscaler/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/nicira-nvp/pom.xml b/plugins/network-elements/nicira-nvp/pom.xml index 04788329604..fbfcb3c99b7 100644 --- a/plugins/network-elements/nicira-nvp/pom.xml +++ b/plugins/network-elements/nicira-nvp/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml @@ -34,7 +34,7 @@ org.apache.cloudstack cloud-utils - 4.11.3.0-SNAPSHOT + 4.11.3.0 test-jar test diff --git a/plugins/network-elements/nuage-vsp/pom.xml b/plugins/network-elements/nuage-vsp/pom.xml index 6bf2cd997e4..123f998040e 100644 --- a/plugins/network-elements/nuage-vsp/pom.xml +++ b/plugins/network-elements/nuage-vsp/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/opendaylight/pom.xml b/plugins/network-elements/opendaylight/pom.xml index 714adf6a5a8..8825bf5aa2f 100644 --- a/plugins/network-elements/opendaylight/pom.xml +++ b/plugins/network-elements/opendaylight/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/ovs/pom.xml b/plugins/network-elements/ovs/pom.xml index 8f62d3d8235..b920e5fa38b 100644 --- a/plugins/network-elements/ovs/pom.xml +++ b/plugins/network-elements/ovs/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/palo-alto/pom.xml b/plugins/network-elements/palo-alto/pom.xml index 46236456e56..9c780984ddb 100644 --- a/plugins/network-elements/palo-alto/pom.xml +++ b/plugins/network-elements/palo-alto/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/stratosphere-ssp/pom.xml b/plugins/network-elements/stratosphere-ssp/pom.xml index 4a4dfb50137..f17bc959fca 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/network-elements/vxlan/pom.xml b/plugins/network-elements/vxlan/pom.xml index 7e17d7164de..57ad32064c8 100644 --- a/plugins/network-elements/vxlan/pom.xml +++ b/plugins/network-elements/vxlan/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/outofbandmanagement-drivers/ipmitool/pom.xml b/plugins/outofbandmanagement-drivers/ipmitool/pom.xml index 0efc28ac01c..d80f42708d8 100644 --- a/plugins/outofbandmanagement-drivers/ipmitool/pom.xml +++ b/plugins/outofbandmanagement-drivers/ipmitool/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml b/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml index e3bf7d80c5e..acdca8509b2 100644 --- a/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml +++ b/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/pom.xml b/plugins/pom.xml index 4df2be20ddb..5ca1a63b167 100755 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/plugins/storage-allocators/random/pom.xml b/plugins/storage-allocators/random/pom.xml index f36b8fb0c07..605e90bf417 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.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/storage/image/default/pom.xml b/plugins/storage/image/default/pom.xml index ef4ddcccba5..e1149c40c07 100644 --- a/plugins/storage/image/default/pom.xml +++ b/plugins/storage/image/default/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/image/s3/pom.xml b/plugins/storage/image/s3/pom.xml index 18f8f478547..e9fe4d475ee 100644 --- a/plugins/storage/image/s3/pom.xml +++ b/plugins/storage/image/s3/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/image/sample/pom.xml b/plugins/storage/image/sample/pom.xml index d153e2f686a..b37fd2b9e6e 100644 --- a/plugins/storage/image/sample/pom.xml +++ b/plugins/storage/image/sample/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/image/swift/pom.xml b/plugins/storage/image/swift/pom.xml index b65483e5a38..e964fccab30 100644 --- a/plugins/storage/image/swift/pom.xml +++ b/plugins/storage/image/swift/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/volume/cloudbyte/pom.xml b/plugins/storage/volume/cloudbyte/pom.xml index 86e99202fa6..0ba61df970d 100755 --- a/plugins/storage/volume/cloudbyte/pom.xml +++ b/plugins/storage/volume/cloudbyte/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/volume/default/pom.xml b/plugins/storage/volume/default/pom.xml index d62713bb488..e837a0cc322 100644 --- a/plugins/storage/volume/default/pom.xml +++ b/plugins/storage/volume/default/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/volume/nexenta/pom.xml b/plugins/storage/volume/nexenta/pom.xml index de3746ea166..5bff3cde149 100644 --- a/plugins/storage/volume/nexenta/pom.xml +++ b/plugins/storage/volume/nexenta/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/volume/sample/pom.xml b/plugins/storage/volume/sample/pom.xml index 65d0bacd59d..020fb4805b6 100644 --- a/plugins/storage/volume/sample/pom.xml +++ b/plugins/storage/volume/sample/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/storage/volume/solidfire/pom.xml b/plugins/storage/volume/solidfire/pom.xml index 9236b985b16..9d6c24bf828 100644 --- a/plugins/storage/volume/solidfire/pom.xml +++ b/plugins/storage/volume/solidfire/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../../pom.xml diff --git a/plugins/user-authenticators/ldap/pom.xml b/plugins/user-authenticators/ldap/pom.xml index b683833c5ce..f9ef70229e6 100644 --- a/plugins/user-authenticators/ldap/pom.xml +++ b/plugins/user-authenticators/ldap/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/user-authenticators/md5/pom.xml b/plugins/user-authenticators/md5/pom.xml index 93a6578c645..4f16d28e0a5 100644 --- a/plugins/user-authenticators/md5/pom.xml +++ b/plugins/user-authenticators/md5/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/user-authenticators/pbkdf2/pom.xml b/plugins/user-authenticators/pbkdf2/pom.xml index 26248625349..7ffd8e8ab1e 100644 --- a/plugins/user-authenticators/pbkdf2/pom.xml +++ b/plugins/user-authenticators/pbkdf2/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/user-authenticators/plain-text/pom.xml b/plugins/user-authenticators/plain-text/pom.xml index 20dc3516a55..bffcba5c03f 100644 --- a/plugins/user-authenticators/plain-text/pom.xml +++ b/plugins/user-authenticators/plain-text/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/user-authenticators/saml2/pom.xml b/plugins/user-authenticators/saml2/pom.xml index 445d7a65f41..bd78a882920 100644 --- a/plugins/user-authenticators/saml2/pom.xml +++ b/plugins/user-authenticators/saml2/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/plugins/user-authenticators/sha256salted/pom.xml b/plugins/user-authenticators/sha256salted/pom.xml index 6fdee45d09a..90586facfc3 100644 --- a/plugins/user-authenticators/sha256salted/pom.xml +++ b/plugins/user-authenticators/sha256salted/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/pom.xml b/pom.xml index 73d14feca1d..f3a2e6d0c8c 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 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 164ce68bb2a..b3b4634adb6 100644 --- a/quickcloud/pom.xml +++ b/quickcloud/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../maven-standard/pom.xml diff --git a/server/pom.xml b/server/pom.xml index cc07e74b2b7..dad75767753 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/services/console-proxy-rdp/rdpconsole/pom.xml b/services/console-proxy-rdp/rdpconsole/pom.xml index eaa99c5c261..6030b0d4842 100755 --- a/services/console-proxy-rdp/rdpconsole/pom.xml +++ b/services/console-proxy-rdp/rdpconsole/pom.xml @@ -27,7 +27,7 @@ org.apache.cloudstack cloudstack-services - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/services/console-proxy/plugin/pom.xml b/services/console-proxy/plugin/pom.xml index a1314fe126f..90a105901a7 100644 --- a/services/console-proxy/plugin/pom.xml +++ b/services/console-proxy/plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-console-proxy - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/console-proxy/pom.xml b/services/console-proxy/pom.xml index 40782643402..f93fb16b062 100644 --- a/services/console-proxy/pom.xml +++ b/services/console-proxy/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack-services - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/console-proxy/server/pom.xml b/services/console-proxy/server/pom.xml index 6782aa1af84..9773b37aa4a 100644 --- a/services/console-proxy/server/pom.xml +++ b/services/console-proxy/server/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-console-proxy - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/iam/plugin/pom.xml b/services/iam/plugin/pom.xml index b3a1a95a5ed..096a7cd2d2a 100644 --- a/services/iam/plugin/pom.xml +++ b/services/iam/plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-iam - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/iam/server/pom.xml b/services/iam/server/pom.xml index 0d14a0581f9..64f945c365a 100644 --- a/services/iam/server/pom.xml +++ b/services/iam/server/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-iam - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/pom.xml b/services/pom.xml index 3f14e18117e..02ae153cd74 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/secondary-storage/controller/pom.xml b/services/secondary-storage/controller/pom.xml index 3e0824fc9c9..3337e2f622a 100644 --- a/services/secondary-storage/controller/pom.xml +++ b/services/secondary-storage/controller/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-secondary-storage - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/secondary-storage/pom.xml b/services/secondary-storage/pom.xml index c7b0eca806a..52207a4a8df 100644 --- a/services/secondary-storage/pom.xml +++ b/services/secondary-storage/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack-services - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/services/secondary-storage/server/pom.xml b/services/secondary-storage/server/pom.xml index 2b5b536558b..95bbc742bca 100644 --- a/services/secondary-storage/server/pom.xml +++ b/services/secondary-storage/server/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-secondary-storage - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/systemvm/pom.xml b/systemvm/pom.xml index a72e3e9aac7..0f1bbb8f9a2 100644 --- a/systemvm/pom.xml +++ b/systemvm/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/test/pom.xml b/test/pom.xml index 819d9e8ec97..4614f49916c 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/tools/apidoc/pom.xml b/tools/apidoc/pom.xml index cb727575b66..3e3d0834b86 100644 --- a/tools/apidoc/pom.xml +++ b/tools/apidoc/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/tools/checkstyle/pom.xml b/tools/checkstyle/pom.xml index 2608764fc08..65e7da0231a 100644 --- a/tools/checkstyle/pom.xml +++ b/tools/checkstyle/pom.xml @@ -24,7 +24,7 @@ Apache CloudStack Developer Tools - Checkstyle Configuration org.apache.cloudstack checkstyle - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/tools/devcloud-kvm/pom.xml b/tools/devcloud-kvm/pom.xml index dd0295159a4..f372651b2e1 100644 --- a/tools/devcloud-kvm/pom.xml +++ b/tools/devcloud-kvm/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/tools/devcloud4/pom.xml b/tools/devcloud4/pom.xml index e73544f1586..75883c813c0 100644 --- a/tools/devcloud4/pom.xml +++ b/tools/devcloud4/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index f254a1bdf3b..34a71a8587a 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -20,7 +20,7 @@ FROM ubuntu:16.04 MAINTAINER "Apache CloudStack" -LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0-SNAPSHOT" +LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0" RUN apt-get -y update && apt-get install -y \ genisoimage \ diff --git a/tools/docker/Dockerfile.centos6 b/tools/docker/Dockerfile.centos6 index 8006711e25e..5156b9cfd9b 100644 --- a/tools/docker/Dockerfile.centos6 +++ b/tools/docker/Dockerfile.centos6 @@ -18,7 +18,7 @@ FROM centos:6 MAINTAINER "Apache CloudStack" -LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0-SNAPSHOT" +LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0" ENV PKG_URL=https://builds.cloudstack.org/job/package-master-rhel63/lastSuccessfulBuild/artifact/dist/rpmbuild/RPMS/x86_64 @@ -26,8 +26,8 @@ ENV PKG_URL=https://builds.cloudstack.org/job/package-master-rhel63/lastSuccessf RUN rpm -i http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.3-1.el6.x86_64.rpm RUN yum install -y nc wget \ - ${PKG_URL}/cloudstack-common-4.11.3.0-SNAPSHOT.el6.x86_64.rpm \ - ${PKG_URL}/cloudstack-management-4.11.3.0-SNAPSHOT.el6.x86_64.rpm + ${PKG_URL}/cloudstack-common-4.11.3.0.el6.x86_64.rpm \ + ${PKG_URL}/cloudstack-management-4.11.3.0.el6.x86_64.rpm RUN cd /etc/cloudstack/management; \ ln -s tomcat6-nonssl.conf tomcat6.conf; \ diff --git a/tools/docker/Dockerfile.marvin b/tools/docker/Dockerfile.marvin index f4e2f8dc90c..9495fce3002 100644 --- a/tools/docker/Dockerfile.marvin +++ b/tools/docker/Dockerfile.marvin @@ -20,11 +20,11 @@ FROM python:2 MAINTAINER "Apache CloudStack" -LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0-SNAPSHOT" +LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0" ENV WORK_DIR=/marvin -ENV PKG_URL=https://builds.cloudstack.org/job/build-master-marvin/lastSuccessfulBuild/artifact/tools/marvin/dist/Marvin-4.11.3.0-SNAPSHOT.tar.gz +ENV PKG_URL=https://builds.cloudstack.org/job/build-master-marvin/lastSuccessfulBuild/artifact/tools/marvin/dist/Marvin-4.11.3.0.tar.gz RUN apt-get update && apt-get install -y vim RUN pip install --upgrade paramiko nose requests diff --git a/tools/marvin/pom.xml b/tools/marvin/pom.xml index a609b81ffc1..f728dba7dcc 100644 --- a/tools/marvin/pom.xml +++ b/tools/marvin/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py index 37d80f67a65..d41a7c05917 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.11.3.0-SNAPSHOT" +VERSION = "4.11.3.0" setup(name="Marvin", version=VERSION, diff --git a/tools/pom.xml b/tools/pom.xml index 910cdccff9b..c5feb4066d9 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -27,7 +27,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/tools/wix-cloudstack-maven-plugin/pom.xml b/tools/wix-cloudstack-maven-plugin/pom.xml index d185da13c28..dc7ed433e0b 100644 --- a/tools/wix-cloudstack-maven-plugin/pom.xml +++ b/tools/wix-cloudstack-maven-plugin/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../../pom.xml diff --git a/usage/pom.xml b/usage/pom.xml index 1e8d45ddd3a..f56b070eb5d 100644 --- a/usage/pom.xml +++ b/usage/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 diff --git a/utils/pom.xml b/utils/pom.xml index 2f14b818353..fc86f26f053 100755 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 ../pom.xml diff --git a/vmware-base/pom.xml b/vmware-base/pom.xml index f11c1eded7d..8cd3a5aaa28 100644 --- a/vmware-base/pom.xml +++ b/vmware-base/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0-SNAPSHOT + 4.11.3.0 From 61ebc6a4a60433658bbaab31877dd8a5b778c7a2 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Thu, 20 Jun 2019 21:39:15 +0530 Subject: [PATCH 02/12] api: Set network name as part of the network usage response (#3234) Problem: Network name is not part of the network usage response Root Cause: Code does not set the network name Solution: Set the network name for network usage type usage records in the API response Signed-off-by: Rohit Yadav --- .../cloudstack/api/response/UsageRecordResponse.java | 8 ++++---- server/src/main/java/com/cloud/api/ApiResponseHelper.java | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java index c53f2b99e0b..cfc552d86b6 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java @@ -77,8 +77,8 @@ public class UsageRecordResponse extends BaseResponseWithTagInformation implemen private String virtualMachineId; @SerializedName(ApiConstants.NAME) - @Param(description = "virtual machine name") - private String vmName; + @Param(description = "resource or virtual machine name") + private String resourceName; @SerializedName("offeringid") @Param(description = "offering ID") @@ -186,8 +186,8 @@ public class UsageRecordResponse extends BaseResponseWithTagInformation implemen this.virtualMachineId = virtualMachineId; } - public void setVmName(String vmName) { - this.vmName = vmName; + public void setResourceName(String name) { + this.resourceName = name; } public void setOfferingId(String offeringId) { diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index 9deaa962f2b..bb512154f47 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -3332,7 +3332,7 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setVirtualMachineId(vm.getUuid()); } } - usageRecResponse.setVmName(usageRecord.getVmName()); + usageRecResponse.setResourceName(usageRecord.getVmName()); if (usageRecord.getTemplateId() != null) { VMTemplateVO template = ApiDBUtils.findTemplateById(usageRecord.getTemplateId()); if (template != null) { @@ -3420,6 +3420,7 @@ public class ApiResponseHelper implements ResponseGenerator { resourceType = ResourceObjectType.Network; resourceId = network.getId(); usageRecResponse.setNetworkId(network.getUuid()); + usageRecResponse.setResourceName(network.getName()); } } } else if (usageRecord.getUsageType() == UsageTypes.VM_DISK_IO_READ || usageRecord.getUsageType() == UsageTypes.VM_DISK_IO_WRITE @@ -3526,7 +3527,7 @@ public class ApiResponseHelper implements ResponseGenerator { resourceType = ResourceObjectType.UserVm; if (vm != null) { resourceId = vm.getId(); - usageRecResponse.setVmName(vm.getInstanceName()); + usageRecResponse.setResourceName(vm.getInstanceName()); usageRecResponse.setUsageId(vm.getUuid()); } usageRecResponse.setSize(usageRecord.getSize()); From 2c32d60e444b3c9e0ad0e53d3593220351b4337b Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Fri, 21 Jun 2019 03:48:33 +0530 Subject: [PATCH 03/12] server: return usage description with resource names and UUIDs (#3344) The usage record descriptions have CloudStack's internal integer IDs which makes it difficult for users to read their usages. This PRs introduces a new API boolean flag `oldformat` which when set to true would return the older description format, otherwise by default listUsageRecords will process and return description with names and UUIDs of resources. Signed-off-by: Rohit Yadav --- .../apache/cloudstack/api/ApiConstants.java | 1 + .../cloudstack/api/ResponseGenerator.java | 2 +- .../admin/usage/ListUsageRecordsCmd.java | 8 +- .../apache/cloudstack/usage/UsageTypes.java | 1 + .../cloudstack/quota/constant/QuotaTypes.java | 1 + .../java/com/cloud/api/ApiResponseHelper.java | 233 +++++++++++++++--- 6 files changed, 214 insertions(+), 32 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java b/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java index 99efafc5cbd..7502b18488e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java +++ b/api/src/main/java/org/apache/cloudstack/api/ApiConstants.java @@ -219,6 +219,7 @@ public class ApiConstants { public static final String OFFER_HA = "offerha"; public static final String IS_SYSTEM_OFFERING = "issystem"; public static final String IS_DEFAULT_USE = "defaultuse"; + public static final String OLD_FORMAT = "oldformat"; public static final String OP = "op"; public static final String OS_CATEGORY_ID = "oscategoryid"; public static final String OS_TYPE_ID = "ostypeid"; diff --git a/api/src/main/java/org/apache/cloudstack/api/ResponseGenerator.java b/api/src/main/java/org/apache/cloudstack/api/ResponseGenerator.java index 80d6d4be065..740ee468702 100644 --- a/api/src/main/java/org/apache/cloudstack/api/ResponseGenerator.java +++ b/api/src/main/java/org/apache/cloudstack/api/ResponseGenerator.java @@ -435,7 +435,7 @@ public interface ResponseGenerator { UsageRecordResponse createUsageResponse(Usage usageRecord); - UsageRecordResponse createUsageResponse(Usage usageRecord, Map> resourceTagResponseMap); + UsageRecordResponse createUsageResponse(Usage usageRecord, Map> resourceTagResponseMap, boolean oldFormat); public Map> getUsageResourceTags(); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/ListUsageRecordsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/ListUsageRecordsCmd.java index 2698c819c85..a5199ece944 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/ListUsageRecordsCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/usage/ListUsageRecordsCmd.java @@ -82,6 +82,9 @@ public class ListUsageRecordsCmd extends BaseListCmd { @Parameter(name = ApiConstants.INCLUDE_TAGS, type = CommandType.BOOLEAN, description = "Flag to enable display of Tags for a resource") private Boolean includeTags; + @Parameter(name = ApiConstants.OLD_FORMAT, type = CommandType.BOOLEAN, description = "Flag to enable description rendered in old format which uses internal database IDs instead of UUIDs. False by default.") + private Boolean oldFormat; + ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// @@ -146,6 +149,9 @@ public class ListUsageRecordsCmd extends BaseListCmd { this.usageId = usageId; } + public boolean getOldFormat() { + return oldFormat != null && oldFormat; + } ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// @@ -168,7 +174,7 @@ public class ListUsageRecordsCmd extends BaseListCmd { resourceTagResponseMap = _responseGenerator.getUsageResourceTags(); } for (Usage usageRecord : usageRecords.first()) { - UsageRecordResponse usageResponse = _responseGenerator.createUsageResponse(usageRecord, resourceTagResponseMap); + UsageRecordResponse usageResponse = _responseGenerator.createUsageResponse(usageRecord, resourceTagResponseMap, getOldFormat()); if (usageResponse != null) { usageResponse.setObjectName("usagerecord"); usageResponses.add(usageResponse); diff --git a/api/src/main/java/org/apache/cloudstack/usage/UsageTypes.java b/api/src/main/java/org/apache/cloudstack/usage/UsageTypes.java index f03d9a9f733..d0b700697f3 100644 --- a/api/src/main/java/org/apache/cloudstack/usage/UsageTypes.java +++ b/api/src/main/java/org/apache/cloudstack/usage/UsageTypes.java @@ -66,6 +66,7 @@ public class UsageTypes { responseList.add(new UsageTypeResponse(VM_DISK_BYTES_READ, "VM Disk usage(Bytes Read)")); responseList.add(new UsageTypeResponse(VM_DISK_BYTES_WRITE, "VM Disk usage(Bytes Write)")); responseList.add(new UsageTypeResponse(VM_SNAPSHOT, "VM Snapshot storage usage")); + responseList.add(new UsageTypeResponse(VOLUME_SECONDARY, "Volume on secondary storage usage")); responseList.add(new UsageTypeResponse(VM_SNAPSHOT_ON_PRIMARY, "VM Snapshot on primary storage usage")); return responseList; } diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/constant/QuotaTypes.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/constant/QuotaTypes.java index 97e22da111a..2643ff33bc4 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/constant/QuotaTypes.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/constant/QuotaTypes.java @@ -55,6 +55,7 @@ public class QuotaTypes extends UsageTypes { quotaTypeList.put(VM_DISK_BYTES_READ, new QuotaTypes(VM_DISK_BYTES_READ, "VM_DISK_BYTES_READ", "GB", "VM Disk usage(Bytes Read)")); quotaTypeList.put(VM_DISK_BYTES_WRITE, new QuotaTypes(VM_DISK_BYTES_WRITE, "VPN_USERS", "GB", "VM Disk usage(Bytes Write)")); quotaTypeList.put(VM_SNAPSHOT, new QuotaTypes(VM_SNAPSHOT, "VM_SNAPSHOT", "GB-Month", "VM Snapshot storage usage")); + quotaTypeList.put(VOLUME_SECONDARY, new QuotaTypes(VOLUME_SECONDARY, "VOLUME_SECONDARY", "GB-Month", "Volume secondary storage usage")); quotaTypeList.put(VM_SNAPSHOT_ON_PRIMARY, new QuotaTypes(VM_SNAPSHOT_ON_PRIMARY, "VM_SNAPSHOT_ON_PRIMARY", "GB-Month", "VM Snapshot primary storage usage")); quotaTypeList.put(CPU_CLOCK_RATE, new QuotaTypes(CPU_CLOCK_RATE, "CPU_CLOCK_RATE", "Compute-Month", "Quota tariff for using 1 CPU of clock rate 100MHz")); quotaTypeList.put(CPU_NUMBER, new QuotaTypes(CPU_NUMBER, "CPU_NUMBER", "Compute-Month", "Quota tariff for running VM that has 1vCPU")); diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index bb512154f47..9bea30a32b3 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -3292,11 +3292,11 @@ public class ApiResponseHelper implements ResponseGenerator { @Override public UsageRecordResponse createUsageResponse(Usage usageRecord) { - return createUsageResponse(usageRecord, null); + return createUsageResponse(usageRecord, null, false); } @Override - public UsageRecordResponse createUsageResponse(Usage usageRecord, Map> resourceTagResponseMap) { + public UsageRecordResponse createUsageResponse(Usage usageRecord, Map> resourceTagResponseMap, boolean oldFormat) { UsageRecordResponse usageRecResponse = new UsageRecordResponse(); Account account = ApiDBUtils.findAccountById(usageRecord.getAccountId()); if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { @@ -3326,15 +3326,17 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setDescription(usageRecord.getDescription()); usageRecResponse.setUsage(usageRecord.getUsageDisplay()); usageRecResponse.setUsageType(usageRecord.getUsageType()); + VMInstanceVO vmInstance = null; if (usageRecord.getVmInstanceId() != null) { - VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getVmInstanceId()); - if (vm != null) { - usageRecResponse.setVirtualMachineId(vm.getUuid()); + vmInstance = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getVmInstanceId()); + if (vmInstance != null) { + usageRecResponse.setVirtualMachineId(vmInstance.getUuid()); } } usageRecResponse.setResourceName(usageRecord.getVmName()); + VMTemplateVO template = null; if (usageRecord.getTemplateId() != null) { - VMTemplateVO template = ApiDBUtils.findTemplateById(usageRecord.getTemplateId()); + template = ApiDBUtils.findTemplateById(usageRecord.getTemplateId()); if (template != null) { usageRecResponse.setTemplateId(template.getUuid()); } @@ -3349,7 +3351,12 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setOfferingId(svcOffering.getUuid()); } //VM Instance ID - VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString()); + VMInstanceVO vm = null; + if (usageRecord.getUsageId() != null && usageRecord.getUsageId().equals(usageRecord.getVmInstanceId())) { + vm = vmInstance; + } else { + vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString()); + } if (vm != null) { resourceType = ResourceTag.ResourceObjectType.UserVm; usageRecResponse.setUsageId(vm.getUuid()); @@ -3373,7 +3380,24 @@ public class ApiResponseHelper implements ResponseGenerator { } else if(svcOffering.getRamSize() != null) { usageRecResponse.setMemory(svcOffering.getRamSize().longValue()); } - + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + if (usageRecord.getUsageType() == UsageTypes.RUNNING_VM) { + builder.append("Running VM usage "); + } else if(usageRecord.getUsageType() == UsageTypes.ALLOCATED_VM) { + builder.append("Allocated VM usage "); + } + if (vm != null) { + builder.append("for ").append(vm.getHostName()).append(" (").append(vm.getInstanceName()).append(", ").append(vm.getUuid()).append(") "); + } + if (svcOffering != null) { + builder.append("using service offering ").append(svcOffering.getName()).append(" (").append(svcOffering.getUuid()).append(") "); + } + if (template != null) { + builder.append("and template ").append(template.getName()).append(" (").append(template.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.IP_ADDRESS) { //IP Address ID IPAddressVO ip = _entityMgr.findByIdIncludingRemoved(IPAddressVO.class, usageRecord.getUsageId().toString()); @@ -3399,23 +3423,26 @@ public class ApiResponseHelper implements ResponseGenerator { //Device Type resourceType = ResourceObjectType.UserVm; usageRecResponse.setType(usageRecord.getType()); + VMInstanceVO vm = null; + HostVO host = null; if (usageRecord.getType().equals("DomainRouter") || usageRecord.getType().equals("UserVm")) { //Domain Router Id - VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString()); + vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString()); if (vm != null) { resourceId = vm.getId(); usageRecResponse.setUsageId(vm.getUuid()); } } else { //External Device Host Id - HostVO host = _entityMgr.findByIdIncludingRemoved(HostVO.class, usageRecord.getUsageId().toString()); + host = _entityMgr.findByIdIncludingRemoved(HostVO.class, usageRecord.getUsageId().toString()); if (host != null) { usageRecResponse.setUsageId(host.getUuid()); } } //Network ID + NetworkVO network = null; if((usageRecord.getNetworkId() != null) && (usageRecord.getNetworkId() != 0)) { - NetworkVO network = _entityMgr.findByIdIncludingRemoved(NetworkVO.class, usageRecord.getNetworkId().toString()); + network = _entityMgr.findByIdIncludingRemoved(NetworkVO.class, usageRecord.getNetworkId().toString()); if (network != null) { resourceType = ResourceObjectType.Network; resourceId = network.getId(); @@ -3423,23 +3450,53 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setResourceName(network.getName()); } } + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + if (usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_SENT) { + builder.append("Bytes sent by network "); + } else if (usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_RECEIVED) { + builder.append("Bytes received by network "); + } + if (network != null) { + builder.append(network.getName()).append(" (").append(network.getUuid()).append(") "); + } + if (vm != null) { + builder.append("using router ").append(vm.getInstanceName()).append(" (").append(vm.getUuid()).append(")"); + } else if (host != null) { + builder.append("using host ").append(host.getName()).append(" (").append(host.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.VM_DISK_IO_READ || usageRecord.getUsageType() == UsageTypes.VM_DISK_IO_WRITE || usageRecord.getUsageType() == UsageTypes.VM_DISK_BYTES_READ || usageRecord.getUsageType() == UsageTypes.VM_DISK_BYTES_WRITE) { //Device Type usageRecResponse.setType(usageRecord.getType()); resourceType = ResourceObjectType.Volume; - //VM Instance Id - VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getVmInstanceId().toString()); - if (vm != null) { - usageRecResponse.setVirtualMachineId(vm.getUuid()); - } //Volume ID VolumeVO volume = _entityMgr.findByIdIncludingRemoved(VolumeVO.class, usageRecord.getUsageId().toString()); if (volume != null) { usageRecResponse.setUsageId(volume.getUuid()); resourceId = volume.getId(); } - + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + if (usageRecord.getUsageType() == UsageTypes.VM_DISK_IO_READ) { + builder.append("Disk I/O read requests"); + } else if (usageRecord.getUsageType() == UsageTypes.VM_DISK_IO_WRITE) { + builder.append("Disk I/O write requests"); + } else if (usageRecord.getUsageType() == UsageTypes.VM_DISK_BYTES_READ) { + builder.append("Disk I/O read bytes"); + } else if (usageRecord.getUsageType() == UsageTypes.VM_DISK_BYTES_WRITE) { + builder.append("Disk I/O write bytes"); + } + if (vmInstance != null) { + builder.append(" for VM ").append(vmInstance.getHostName()).append(" (").append(vmInstance.getUuid()).append(")"); + } + if (volume != null) { + builder.append(" and volume ").append(volume.getName()).append(" (").append(volume.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.VOLUME) { //Volume ID VolumeVO volume = _entityMgr.findByIdIncludingRemoved(VolumeVO.class, usageRecord.getUsageId().toString()); @@ -3451,11 +3508,25 @@ public class ApiResponseHelper implements ResponseGenerator { //Volume Size usageRecResponse.setSize(usageRecord.getSize()); //Disk Offering Id + DiskOfferingVO diskOff = null; if (usageRecord.getOfferingId() != null) { - DiskOfferingVO diskOff = _entityMgr.findByIdIncludingRemoved(DiskOfferingVO.class, usageRecord.getOfferingId().toString()); + diskOff = _entityMgr.findByIdIncludingRemoved(DiskOfferingVO.class, usageRecord.getOfferingId().toString()); usageRecResponse.setOfferingId(diskOff.getUuid()); } - + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Volume usage "); + if (volume != null) { + builder.append("for ").append(volume.getName()).append(" (").append(volume.getUuid()).append(")"); + } + if (diskOff != null) { + builder.append(" with disk offering ").append(diskOff.getName()).append(" (").append(diskOff.getUuid()).append(")"); + } + if (template != null) { + builder.append(" and template ").append(template.getName()).append(" (").append(template.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.TEMPLATE || usageRecord.getUsageType() == UsageTypes.ISO) { //Template/ISO ID VMTemplateVO tmpl = _entityMgr.findByIdIncludingRemoved(VMTemplateVO.class, usageRecord.getUsageId().toString()); @@ -3472,7 +3543,19 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setVirtualSize(usageRecord.getVirtualSize()); resourceType = ResourceObjectType.Template; } - + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + if (usageRecord.getUsageType() == UsageTypes.TEMPLATE) { + builder.append("Template usage"); + } else if (usageRecord.getUsageType() == UsageTypes.ISO) { + builder.append("ISO usage"); + } + if (tmpl != null) { + builder.append(" for ").append(tmpl.getName()).append(" (").append(tmpl.getUuid()).append(") ") + .append("with size ").append(usageRecord.getSize()).append(" and virtual size ").append(usageRecord.getVirtualSize()); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.SNAPSHOT) { //Snapshot ID SnapshotVO snap = _entityMgr.findByIdIncludingRemoved(SnapshotVO.class, usageRecord.getUsageId().toString()); @@ -3483,7 +3566,15 @@ public class ApiResponseHelper implements ResponseGenerator { } //Snapshot Size usageRecResponse.setSize(usageRecord.getSize()); - + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Snapshot usage "); + if (snap != null) { + builder.append("for ").append(snap.getName()).append(" (").append(snap.getUuid()).append(") ") + .append("with size ").append(usageRecord.getSize()); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.LOAD_BALANCER_POLICY) { //Load Balancer Policy ID LoadBalancerVO lb = _entityMgr.findByIdIncludingRemoved(LoadBalancerVO.class, usageRecord.getUsageId().toString()); @@ -3492,6 +3583,14 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setUsageId(lb.getUuid()); resourceId = lb.getId(); } + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Loadbalancer policy usage "); + if (lb != null) { + builder.append(lb.getName()).append(" (").append(lb.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.PORT_FORWARDING_RULE) { //Port Forwarding Rule ID PortForwardingRuleVO pf = _entityMgr.findByIdIncludingRemoved(PortForwardingRuleVO.class, usageRecord.getUsageId().toString()); @@ -3500,20 +3599,45 @@ public class ApiResponseHelper implements ResponseGenerator { usageRecResponse.setUsageId(pf.getUuid()); resourceId = pf.getId(); } - + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Port forwarding rule usage"); + if (pf != null) { + builder.append(" (").append(pf.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.NETWORK_OFFERING) { //Network Offering Id NetworkOfferingVO netOff = _entityMgr.findByIdIncludingRemoved(NetworkOfferingVO.class, usageRecord.getOfferingId().toString()); usageRecResponse.setOfferingId(netOff.getUuid()); //is Default - usageRecResponse.setDefault((usageRecord.getUsageId() == 1) ? true : false); - + usageRecResponse.setDefault(usageRecord.getUsageId() == 1); + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Network offering "); + if (netOff != null) { + builder.append(netOff.getName()).append(" (").append(netOff.getUuid()).append(") usage "); + } + if (vmInstance != null) { + builder.append("for VM ").append(vmInstance.getHostName()).append(" (").append(vmInstance.getUuid()).append(") "); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.VPN_USERS) { //VPN User ID VpnUserVO vpnUser = _entityMgr.findByIdIncludingRemoved(VpnUserVO.class, usageRecord.getUsageId().toString()); if (vpnUser != null) { usageRecResponse.setUsageId(vpnUser.getUuid()); } + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("VPN usage "); + if (vpnUser != null) { + builder.append("for user ").append(vpnUser.getUsername()).append(" (").append(vpnUser.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.SECURITY_GROUP) { //Security Group Id SecurityGroupVO sg = _entityMgr.findByIdIncludingRemoved(SecurityGroupVO.class, usageRecord.getUsageId().toString()); @@ -3522,20 +3646,69 @@ public class ApiResponseHelper implements ResponseGenerator { resourceId = sg.getId(); usageRecResponse.setUsageId(sg.getUuid()); } + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Security group"); + if (sg != null) { + builder.append(" ").append(sg.getName()).append(" (").append(sg.getUuid()).append(") usage"); + } + if (vmInstance != null) { + builder.append(" for VM ").append(vmInstance.getHostName()).append(" (").append(vmInstance.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } } else if (usageRecord.getUsageType() == UsageTypes.VM_SNAPSHOT) { - VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getVmInstanceId().toString()); resourceType = ResourceObjectType.UserVm; - if (vm != null) { - resourceId = vm.getId(); - usageRecResponse.setResourceName(vm.getInstanceName()); - usageRecResponse.setUsageId(vm.getUuid()); + if (vmInstance != null) { + resourceId = vmInstance.getId(); + usageRecResponse.setResourceName(vmInstance.getInstanceName()); + usageRecResponse.setUsageId(vmInstance.getUuid()); } usageRecResponse.setSize(usageRecord.getSize()); if (usageRecord.getOfferingId() != null) { usageRecResponse.setOfferingId(usageRecord.getOfferingId().toString()); } + if (!oldFormat) { + VolumeVO volume = _entityMgr.findByIdIncludingRemoved(VolumeVO.class, usageRecord.getUsageId().toString()); + DiskOfferingVO diskOff = null; + if (usageRecord.getOfferingId() != null) { + diskOff = _entityMgr.findByIdIncludingRemoved(DiskOfferingVO.class, usageRecord.getOfferingId()); + } + final StringBuilder builder = new StringBuilder(); + builder.append("VMSnapshot usage"); + if (vmInstance != null) { + builder.append(" for VM ").append(vmInstance.getHostName()).append(" (").append(vmInstance.getUuid()).append(")"); + } + if (volume != null) { + builder.append(" with volume ").append(volume.getName()).append(" (").append(volume.getUuid()).append(")"); + } + if (diskOff != null) { + builder.append(" using disk offering ").append(diskOff.getName()).append(" (").append(diskOff.getUuid()).append(")"); + } + usageRecResponse.setDescription(builder.toString()); + } + } else if (usageRecord.getUsageType() == UsageTypes.VOLUME_SECONDARY) { + VolumeVO volume = _entityMgr.findByIdIncludingRemoved(VolumeVO.class, usageRecord.getUsageId().toString()); + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("Volume on secondary storage usage"); + if (volume != null) { + builder.append(" for ").append(volume.getName()).append(" (").append(volume.getUuid()).append(") ") + .append("with size ").append(usageRecord.getSize()); + } + usageRecResponse.setDescription(builder.toString()); + } + } else if (usageRecord.getUsageType() == UsageTypes.VM_SNAPSHOT_ON_PRIMARY) { + if (!oldFormat) { + final StringBuilder builder = new StringBuilder(); + builder.append("VMSnapshot on primary storage usage"); + if (vmInstance != null) { + builder.append(" for VM ").append(vmInstance.getHostName()).append(" (").append(vmInstance.getUuid()).append(") ") + .append("with size ").append(usageRecord.getVirtualSize()); + } + usageRecResponse.setDescription(builder.toString()); + } } - if(resourceTagResponseMap != null && resourceTagResponseMap.get(resourceId + ":" + resourceType) != null) { usageRecResponse.setTags(resourceTagResponseMap.get(resourceId + ":" + resourceType)); } From 202777e52a95d66f9e9b9e73ca687c1f888c6208 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Fri, 21 Jun 2019 13:28:08 +0530 Subject: [PATCH 04/12] server: publish volume resize event for volumes (#3219) Problem: The disk offering change is not reflected in cloud_usage database table. Root Cause: The resizeVolume API does not publish the volume disk offering change event to the cloud_usage database table. Solution: This issue has been fixed by refactoring the resizeVolume API to publish this disk offering change for volumes that either in Allocated or Ready state. Moves the method that published events for volumes in Ready state from the VolumeStateListener class to the orchestrateResizeVolume method in the VolumeApiService. Signed-off-by: Rohit Yadav --- .../java/com/cloud/event/UsageEventVO.java | 2 +- .../cloud/storage/VolumeApiServiceImpl.java | 34 +++++++------------ .../storage/listener/VolumeStateListener.java | 3 +- .../cloud/usage/parser/VolumeUsageParser.java | 3 +- 4 files changed, 16 insertions(+), 26 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/event/UsageEventVO.java b/engine/schema/src/main/java/com/cloud/event/UsageEventVO.java index 2278103b82e..c83bdcb8c02 100644 --- a/engine/schema/src/main/java/com/cloud/event/UsageEventVO.java +++ b/engine/schema/src/main/java/com/cloud/event/UsageEventVO.java @@ -70,7 +70,7 @@ public class UsageEventVO implements UsageEvent { private String resourceType; @Column(name = "processed") - boolean processed; + private boolean processed; @Column(name = "virtual_size") private Long virtualSize; diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index ae9af51a71d..37f6d95bbd9 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -718,10 +718,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic String userSpecifiedName = getVolumeNameFromCommand(cmd); - VolumeVO volume = commitVolume(cmd, caller, owner, displayVolume, zoneId, diskOfferingId, provisioningType, size, minIops, maxIops, parentVolume, userSpecifiedName, + return commitVolume(cmd, caller, owner, displayVolume, zoneId, diskOfferingId, provisioningType, size, minIops, maxIops, parentVolume, userSpecifiedName, _uuidMgr.generateUuid(Volume.class, cmd.getCustomId())); - - return volume; } private VolumeVO commitVolume(final CreateVolumeCmd cmd, final Account caller, final Account owner, final Boolean displayVolume, final Long zoneId, final Long diskOfferingId, @@ -1043,6 +1041,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic // the requested change /* If this volume has never been beyond allocated state, short circuit everything and simply update the database. */ + // We need to publish this event to usage_volume table if (volume.getState() == Volume.State.Allocated) { s_logger.debug("Volume is in the allocated state, but has never been created. Simply updating database with new size and IOPS."); @@ -1056,7 +1055,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic } _volsDao.update(volume.getId(), volume); - + UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_RESIZE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), + volume.getDiskOfferingId(), volume.getTemplateId(), volume.getSize(), Volume.class.getName(), volume.getUuid()); return volume; } @@ -1133,7 +1133,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic private VolumeVO orchestrateResizeVolume(long volumeId, long currentSize, long newSize, Long newMinIops, Long newMaxIops, Integer newHypervisorSnapshotReserve, Long newDiskOfferingId, boolean shrinkOk) { - VolumeVO volume = _volsDao.findById(volumeId); + final VolumeVO volume = _volsDao.findById(volumeId); UserVmVO userVm = _userVmDao.findById(volume.getInstanceId()); StoragePoolVO storagePool = _storagePoolDao.findById(volume.getPoolId()); boolean isManaged = storagePool.isManaged(); @@ -1209,14 +1209,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic volService.resizeVolumeOnHypervisor(volumeId, newSize, hosts[0], instanceName); } } - - volume.setSize(newSize); - - _volsDao.update(volume.getId(), volume); } - volume = _volsDao.findById(volume.getId()); - if (newDiskOfferingId != null) { volume.setDiskOfferingId(newDiskOfferingId); } @@ -1229,20 +1223,18 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic /* Update resource count for the account on primary storage resource */ if (!shrinkOk) { - _resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.primary_storage, volume.isDisplayVolume(), new Long(newSize - currentSize)); + _resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.primary_storage, volume.isDisplayVolume(), newSize - currentSize); } else { - _resourceLimitMgr.decrementResourceCount(volume.getAccountId(), ResourceType.primary_storage, volume.isDisplayVolume(), new Long(currentSize - newSize)); + _resourceLimitMgr.decrementResourceCount(volume.getAccountId(), ResourceType.primary_storage, volume.isDisplayVolume(), currentSize - newSize); } + + UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_RESIZE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), + volume.getDiskOfferingId(), volume.getTemplateId(), volume.getSize(), Volume.class.getName(), volume.getUuid()); + return volume; - } catch (InterruptedException e) { - s_logger.warn("failed get resize volume result", e); - throw new CloudRuntimeException(e.getMessage()); - } catch (ExecutionException e) { - s_logger.warn("failed get resize volume result", e); - throw new CloudRuntimeException(e.getMessage()); + } catch (Exception e) { - s_logger.warn("failed get resize volume result", e); - throw new CloudRuntimeException(e.getMessage()); + throw new CloudRuntimeException("Exception caught during resize volume operation of volume UUID: " + volume.getUuid(), e); } } diff --git a/server/src/main/java/com/cloud/storage/listener/VolumeStateListener.java b/server/src/main/java/com/cloud/storage/listener/VolumeStateListener.java index 9a739ba2bc1..bc4ae4cb1c5 100644 --- a/server/src/main/java/com/cloud/storage/listener/VolumeStateListener.java +++ b/server/src/main/java/com/cloud/storage/listener/VolumeStateListener.java @@ -76,8 +76,7 @@ public class VolumeStateListener implements StateListener if (transition.getToState() == State.Ready) { if (transition.getCurrentState() == State.Resizing) { // Log usage event for volumes belonging user VM's only - UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_RESIZE, vol.getAccountId(), vol.getDataCenterId(), vol.getId(), vol.getName(), - vol.getDiskOfferingId(), vol.getTemplateId(), vol.getSize(), Volume.class.getName(), vol.getUuid()); + // For the Resize Volume Event, this publishes an event with an incorrect disk offering ID, so do nothing for now } else { UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_CREATE, vol.getAccountId(), vol.getDataCenterId(), vol.getId(), vol.getName(), vol.getDiskOfferingId(), null, vol.getSize(), Volume.class.getName(), vol.getUuid(), vol.isDisplayVolume()); diff --git a/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java b/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java index 8e8c89c1e45..20d43c5dd40 100644 --- a/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java +++ b/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java @@ -166,8 +166,7 @@ public class VolumeUsageParser { usageDesc += " (DiskOffering: " + doId + ")"; } - UsageVO usageRecord = - new UsageVO(zoneId, account.getId(), account.getDomainId(), usageDesc, usageDisplay + " Hrs", type, new Double(usage), null, null, doId, templateId, volId, + UsageVO usageRecord = new UsageVO(zoneId, account.getId(), account.getDomainId(), usageDesc, usageDisplay + " Hrs", type, new Double(usage), null, null, doId, templateId, volId, size, startDate, endDate); s_usageDao.persist(usageRecord); } From 20786d0422ee276b6d6b162a718a4fee116b9279 Mon Sep 17 00:00:00 2001 From: Philipp Bankonier Date: Fri, 21 Jun 2019 12:29:23 +0200 Subject: [PATCH 05/12] ui: increase z-index for install-wizard step (#3414) Increase z-index for install wizard step to make buttons clickable again. After the latest refactoring of the styles there was a slight mistake which caused that the buttons for the initial install wizard in the beginning weren't clickable anymore, because they got overlaid by another box. --- ui/css/cloudstack3.css | 2 +- ui/css/src/scss/components/install-wizzard.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index b6877cdaf29..b3b7490825f 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -784,7 +784,7 @@ body.install-wizard { .install-wizard .step { position: relative; - z-index: 10; + z-index: 11; } .install-wizard .step .tooltip-info { diff --git a/ui/css/src/scss/components/install-wizzard.scss b/ui/css/src/scss/components/install-wizzard.scss index d9e3fa18a6f..8f21133257d 100644 --- a/ui/css/src/scss/components/install-wizzard.scss +++ b/ui/css/src/scss/components/install-wizzard.scss @@ -194,7 +194,7 @@ body.install-wizard { .install-wizard .step { position: relative; - z-index: $z-index-install-wizard2; + z-index: $z-index-install-wizard3; } .install-wizard .step .tooltip-info { From 5bfad44ef41bae2ce6c67d8b848242c1667d73f4 Mon Sep 17 00:00:00 2001 From: Paul Angus Date: Sat, 22 Jun 2019 10:21:02 +0100 Subject: [PATCH 06/12] Updating pom.xml version numbers for release 4.11.4.0-SNAPSHOT Signed-off-by: Paul Angus --- agent/pom.xml | 2 +- api/pom.xml | 2 +- client/pom.xml | 2 +- core/pom.xml | 2 +- debian/changelog | 8 ++++---- developer/pom.xml | 2 +- engine/api/pom.xml | 2 +- engine/components-api/pom.xml | 2 +- engine/network/pom.xml | 2 +- engine/orchestration/pom.xml | 2 +- engine/pom.xml | 2 +- engine/schema/pom.xml | 2 +- engine/service/pom.xml | 2 +- engine/storage/cache/pom.xml | 2 +- engine/storage/configdrive/pom.xml | 2 +- engine/storage/datamotion/pom.xml | 2 +- engine/storage/image/pom.xml | 2 +- engine/storage/integration-test/pom.xml | 2 +- engine/storage/pom.xml | 2 +- engine/storage/snapshot/pom.xml | 2 +- engine/storage/volume/pom.xml | 2 +- framework/agent-lb/pom.xml | 2 +- framework/ca/pom.xml | 2 +- framework/cluster/pom.xml | 2 +- framework/config/pom.xml | 2 +- framework/db/pom.xml | 2 +- framework/direct-download/pom.xml | 2 +- framework/events/pom.xml | 2 +- framework/ipc/pom.xml | 2 +- framework/jobs/pom.xml | 2 +- framework/managed-context/pom.xml | 2 +- framework/pom.xml | 2 +- framework/quota/pom.xml | 2 +- framework/rest/pom.xml | 2 +- framework/security/pom.xml | 2 +- framework/spring/lifecycle/pom.xml | 2 +- framework/spring/module/pom.xml | 2 +- maven-standard/pom.xml | 2 +- plugins/acl/dynamic-role-based/pom.xml | 2 +- plugins/acl/static-role-based/pom.xml | 2 +- .../affinity-group-processors/explicit-dedication/pom.xml | 2 +- plugins/affinity-group-processors/host-affinity/pom.xml | 2 +- .../affinity-group-processors/host-anti-affinity/pom.xml | 2 +- plugins/alert-handlers/snmp-alerts/pom.xml | 2 +- plugins/alert-handlers/syslog-alerts/pom.xml | 2 +- plugins/api/discovery/pom.xml | 2 +- plugins/api/rate-limit/pom.xml | 2 +- plugins/api/solidfire-intg-test/pom.xml | 2 +- plugins/api/vmware-sioc/pom.xml | 2 +- plugins/ca/root-ca/pom.xml | 2 +- plugins/database/mysql-ha/pom.xml | 2 +- plugins/database/quota/pom.xml | 2 +- plugins/dedicated-resources/pom.xml | 2 +- plugins/deployment-planners/implicit-dedication/pom.xml | 2 +- plugins/deployment-planners/user-concentrated-pod/pom.xml | 2 +- plugins/deployment-planners/user-dispersing/pom.xml | 2 +- plugins/event-bus/inmemory/pom.xml | 2 +- plugins/event-bus/kafka/pom.xml | 2 +- plugins/event-bus/rabbitmq/pom.xml | 2 +- plugins/file-systems/netapp/pom.xml | 2 +- plugins/ha-planners/skip-heurestics/pom.xml | 2 +- plugins/host-allocators/random/pom.xml | 2 +- plugins/hypervisors/baremetal/pom.xml | 2 +- plugins/hypervisors/hyperv/pom.xml | 2 +- plugins/hypervisors/kvm/pom.xml | 2 +- plugins/hypervisors/ovm/pom.xml | 2 +- plugins/hypervisors/ovm3/pom.xml | 2 +- plugins/hypervisors/simulator/pom.xml | 2 +- plugins/hypervisors/ucs/pom.xml | 2 +- plugins/hypervisors/vmware/pom.xml | 2 +- plugins/hypervisors/xenserver/pom.xml | 2 +- plugins/integrations/cloudian/pom.xml | 2 +- plugins/integrations/prometheus/pom.xml | 2 +- plugins/metrics/pom.xml | 2 +- plugins/network-elements/bigswitch/pom.xml | 2 +- plugins/network-elements/brocade-vcs/pom.xml | 2 +- plugins/network-elements/cisco-vnmc/pom.xml | 2 +- plugins/network-elements/dns-notifier/pom.xml | 2 +- plugins/network-elements/elastic-loadbalancer/pom.xml | 2 +- plugins/network-elements/f5/pom.xml | 2 +- plugins/network-elements/globodns/pom.xml | 2 +- plugins/network-elements/internal-loadbalancer/pom.xml | 2 +- plugins/network-elements/juniper-contrail/pom.xml | 2 +- plugins/network-elements/juniper-srx/pom.xml | 2 +- plugins/network-elements/netscaler/pom.xml | 2 +- plugins/network-elements/nicira-nvp/pom.xml | 4 ++-- plugins/network-elements/nuage-vsp/pom.xml | 2 +- plugins/network-elements/opendaylight/pom.xml | 2 +- plugins/network-elements/ovs/pom.xml | 2 +- plugins/network-elements/palo-alto/pom.xml | 2 +- plugins/network-elements/stratosphere-ssp/pom.xml | 2 +- plugins/network-elements/vxlan/pom.xml | 2 +- plugins/outofbandmanagement-drivers/ipmitool/pom.xml | 2 +- .../outofbandmanagement-drivers/nested-cloudstack/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/storage-allocators/random/pom.xml | 2 +- plugins/storage/image/default/pom.xml | 2 +- plugins/storage/image/s3/pom.xml | 2 +- plugins/storage/image/sample/pom.xml | 2 +- plugins/storage/image/swift/pom.xml | 2 +- plugins/storage/volume/cloudbyte/pom.xml | 2 +- plugins/storage/volume/default/pom.xml | 2 +- plugins/storage/volume/nexenta/pom.xml | 2 +- plugins/storage/volume/sample/pom.xml | 2 +- plugins/storage/volume/solidfire/pom.xml | 2 +- plugins/user-authenticators/ldap/pom.xml | 2 +- plugins/user-authenticators/md5/pom.xml | 2 +- plugins/user-authenticators/pbkdf2/pom.xml | 2 +- plugins/user-authenticators/plain-text/pom.xml | 2 +- plugins/user-authenticators/saml2/pom.xml | 2 +- plugins/user-authenticators/sha256salted/pom.xml | 2 +- pom.xml | 2 +- quickcloud/pom.xml | 2 +- server/pom.xml | 2 +- services/console-proxy-rdp/rdpconsole/pom.xml | 2 +- services/console-proxy/plugin/pom.xml | 2 +- services/console-proxy/pom.xml | 2 +- services/console-proxy/server/pom.xml | 2 +- services/iam/plugin/pom.xml | 2 +- services/iam/server/pom.xml | 2 +- services/pom.xml | 2 +- services/secondary-storage/controller/pom.xml | 2 +- services/secondary-storage/pom.xml | 2 +- services/secondary-storage/server/pom.xml | 2 +- systemvm/pom.xml | 2 +- test/pom.xml | 2 +- tools/apidoc/pom.xml | 2 +- tools/checkstyle/pom.xml | 2 +- tools/devcloud-kvm/pom.xml | 2 +- tools/devcloud4/pom.xml | 2 +- tools/docker/Dockerfile | 2 +- tools/docker/Dockerfile.centos6 | 6 +++--- tools/docker/Dockerfile.marvin | 4 ++-- tools/marvin/pom.xml | 2 +- tools/marvin/setup.py | 2 +- tools/pom.xml | 2 +- tools/wix-cloudstack-maven-plugin/pom.xml | 2 +- usage/pom.xml | 2 +- utils/pom.xml | 2 +- vmware-base/pom.xml | 2 +- 140 files changed, 147 insertions(+), 147 deletions(-) diff --git a/agent/pom.xml b/agent/pom.xml index f84ccbccf42..fcad5b06546 100644 --- a/agent/pom.xml +++ b/agent/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/api/pom.xml b/api/pom.xml index 9600acd3b9c..a57c0196fc1 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/client/pom.xml b/client/pom.xml index 51c06401e9c..5c142a5114b 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/core/pom.xml b/core/pom.xml index 1a14f560568..7198a04b6ff 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/debian/changelog b/debian/changelog index a4fc002bbea..636161068b3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,12 @@ -cloudstack (4.11.3.0) unstable; urgency=low +cloudstack (4.11.4.0-SNAPSHOT) unstable; urgency=low - * Update the version to 4.11.3.0 + * Update the version to 4.11.4.0-SNAPSHOT -- the Apache CloudStack project Mon, 10 Jun 2019 16:15:05 +0100 -cloudstack (4.11.3.0-SNAPSHOT) unstable; urgency=low +cloudstack (4.11.4.0-SNAPSHOT-SNAPSHOT) unstable; urgency=low - * Update the version to 4.11.3.0-SNAPSHOT + * Update the version to 4.11.4.0-SNAPSHOT-SNAPSHOT -- the Apache CloudStack project Thu, 26 Jun 2018 18:24:36 +0100 diff --git a/developer/pom.xml b/developer/pom.xml index 4b137e4eb9f..a8ad817e1b3 100644 --- a/developer/pom.xml +++ b/developer/pom.xml @@ -18,7 +18,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/engine/api/pom.xml b/engine/api/pom.xml index 71732889e50..5624ab1665f 100644 --- a/engine/api/pom.xml +++ b/engine/api/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/components-api/pom.xml b/engine/components-api/pom.xml index 1fb235a9c89..1ecd3c78323 100644 --- a/engine/components-api/pom.xml +++ b/engine/components-api/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/network/pom.xml b/engine/network/pom.xml index ce9b9d6e844..7a8ce524965 100644 --- a/engine/network/pom.xml +++ b/engine/network/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/orchestration/pom.xml b/engine/orchestration/pom.xml index 6a8ec66d2f0..2699cda6ab9 100755 --- a/engine/orchestration/pom.xml +++ b/engine/orchestration/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/pom.xml b/engine/pom.xml index 59994478102..caf561c88ef 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/schema/pom.xml b/engine/schema/pom.xml index 65d2d038482..ab02646c9da 100644 --- a/engine/schema/pom.xml +++ b/engine/schema/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/service/pom.xml b/engine/service/pom.xml index fccb0b554b1..84d504c5e5c 100644 --- a/engine/service/pom.xml +++ b/engine/service/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT cloud-engine-service war diff --git a/engine/storage/cache/pom.xml b/engine/storage/cache/pom.xml index 5b405a89e96..3b20d0ab8ba 100644 --- a/engine/storage/cache/pom.xml +++ b/engine/storage/cache/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/engine/storage/configdrive/pom.xml b/engine/storage/configdrive/pom.xml index 9448e41f000..a965484b5b6 100644 --- a/engine/storage/configdrive/pom.xml +++ b/engine/storage/configdrive/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/engine/storage/datamotion/pom.xml b/engine/storage/datamotion/pom.xml index a654161ae8c..f62d14dfd31 100644 --- a/engine/storage/datamotion/pom.xml +++ b/engine/storage/datamotion/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/engine/storage/image/pom.xml b/engine/storage/image/pom.xml index 6bf3e37e376..420a3db5de2 100644 --- a/engine/storage/image/pom.xml +++ b/engine/storage/image/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/engine/storage/integration-test/pom.xml b/engine/storage/integration-test/pom.xml index 7ff2b28fa91..692e6e9fd1b 100644 --- a/engine/storage/integration-test/pom.xml +++ b/engine/storage/integration-test/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/engine/storage/pom.xml b/engine/storage/pom.xml index f482b9e6c36..1df21469192 100644 --- a/engine/storage/pom.xml +++ b/engine/storage/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/engine/storage/snapshot/pom.xml b/engine/storage/snapshot/pom.xml index 8dceb4bc39d..9e17abc86aa 100644 --- a/engine/storage/snapshot/pom.xml +++ b/engine/storage/snapshot/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/engine/storage/volume/pom.xml b/engine/storage/volume/pom.xml index 8f3f383903e..3c968fbe59a 100644 --- a/engine/storage/volume/pom.xml +++ b/engine/storage/volume/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-engine - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/framework/agent-lb/pom.xml b/framework/agent-lb/pom.xml index 2b65332c5db..13b8af2f2c7 100644 --- a/framework/agent-lb/pom.xml +++ b/framework/agent-lb/pom.xml @@ -25,7 +25,7 @@ cloudstack-framework org.apache.cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/ca/pom.xml b/framework/ca/pom.xml index d301377f8e1..96f78d4b794 100644 --- a/framework/ca/pom.xml +++ b/framework/ca/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/cluster/pom.xml b/framework/cluster/pom.xml index 0116bf0efbe..5b955c4cd0d 100644 --- a/framework/cluster/pom.xml +++ b/framework/cluster/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/config/pom.xml b/framework/config/pom.xml index adf7e65e77a..03655d9fc4d 100644 --- a/framework/config/pom.xml +++ b/framework/config/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/db/pom.xml b/framework/db/pom.xml index b3953914516..d6674d877e7 100644 --- a/framework/db/pom.xml +++ b/framework/db/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/direct-download/pom.xml b/framework/direct-download/pom.xml index 4521c3da4e6..7f5c4cb6ef0 100644 --- a/framework/direct-download/pom.xml +++ b/framework/direct-download/pom.xml @@ -25,7 +25,7 @@ cloudstack-framework org.apache.cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml \ No newline at end of file diff --git a/framework/events/pom.xml b/framework/events/pom.xml index 9a1807bb530..7f054d8a20f 100644 --- a/framework/events/pom.xml +++ b/framework/events/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/ipc/pom.xml b/framework/ipc/pom.xml index 9f7e4b3e6b8..9ed44f5170c 100644 --- a/framework/ipc/pom.xml +++ b/framework/ipc/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/jobs/pom.xml b/framework/jobs/pom.xml index 3aa1554c13d..d4d4def6047 100644 --- a/framework/jobs/pom.xml +++ b/framework/jobs/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/managed-context/pom.xml b/framework/managed-context/pom.xml index e5c75d05b01..c07c6ab9f69 100644 --- a/framework/managed-context/pom.xml +++ b/framework/managed-context/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../maven-standard/pom.xml diff --git a/framework/pom.xml b/framework/pom.xml index dc968299830..169c34de3e3 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT install diff --git a/framework/quota/pom.xml b/framework/quota/pom.xml index 0d939e4dea6..d0d105daebf 100644 --- a/framework/quota/pom.xml +++ b/framework/quota/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/rest/pom.xml b/framework/rest/pom.xml index 8425e4f4015..a6541552cb6 100644 --- a/framework/rest/pom.xml +++ b/framework/rest/pom.xml @@ -22,7 +22,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml cloud-framework-rest diff --git a/framework/security/pom.xml b/framework/security/pom.xml index a24cf38caa6..51b2235d5f0 100644 --- a/framework/security/pom.xml +++ b/framework/security/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-framework - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/framework/spring/lifecycle/pom.xml b/framework/spring/lifecycle/pom.xml index 7f4a3c0c8e6..48f7d73b5cf 100644 --- a/framework/spring/lifecycle/pom.xml +++ b/framework/spring/lifecycle/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../maven-standard/pom.xml diff --git a/framework/spring/module/pom.xml b/framework/spring/module/pom.xml index 3da561ae66c..5ceff7978a6 100644 --- a/framework/spring/module/pom.xml +++ b/framework/spring/module/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../maven-standard/pom.xml diff --git a/maven-standard/pom.xml b/maven-standard/pom.xml index 226a80a6ba8..a215756fa9f 100644 --- a/maven-standard/pom.xml +++ b/maven-standard/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/plugins/acl/dynamic-role-based/pom.xml b/plugins/acl/dynamic-role-based/pom.xml index 1a7d4016a80..bb796e14fed 100644 --- a/plugins/acl/dynamic-role-based/pom.xml +++ b/plugins/acl/dynamic-role-based/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/acl/static-role-based/pom.xml b/plugins/acl/static-role-based/pom.xml index ec35b052c66..5a03d9a993a 100644 --- a/plugins/acl/static-role-based/pom.xml +++ b/plugins/acl/static-role-based/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/affinity-group-processors/explicit-dedication/pom.xml b/plugins/affinity-group-processors/explicit-dedication/pom.xml index bbf6a503e74..578691bda37 100644 --- a/plugins/affinity-group-processors/explicit-dedication/pom.xml +++ b/plugins/affinity-group-processors/explicit-dedication/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/affinity-group-processors/host-affinity/pom.xml b/plugins/affinity-group-processors/host-affinity/pom.xml index a2a4f7e5f90..38d11e01943 100644 --- a/plugins/affinity-group-processors/host-affinity/pom.xml +++ b/plugins/affinity-group-processors/host-affinity/pom.xml @@ -23,7 +23,7 @@ cloudstack-plugins org.apache.cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../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 6f172361308..de4c6652c24 100644 --- a/plugins/affinity-group-processors/host-anti-affinity/pom.xml +++ b/plugins/affinity-group-processors/host-anti-affinity/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/alert-handlers/snmp-alerts/pom.xml b/plugins/alert-handlers/snmp-alerts/pom.xml index 73bcd7fdbee..0b570aedfb9 100644 --- a/plugins/alert-handlers/snmp-alerts/pom.xml +++ b/plugins/alert-handlers/snmp-alerts/pom.xml @@ -22,7 +22,7 @@ cloudstack-plugins org.apache.cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/plugins/alert-handlers/syslog-alerts/pom.xml b/plugins/alert-handlers/syslog-alerts/pom.xml index 88243cf17e5..6a230bb7482 100644 --- a/plugins/alert-handlers/syslog-alerts/pom.xml +++ b/plugins/alert-handlers/syslog-alerts/pom.xml @@ -22,7 +22,7 @@ cloudstack-plugins org.apache.cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/plugins/api/discovery/pom.xml b/plugins/api/discovery/pom.xml index 9d63250ad4d..042275500d4 100644 --- a/plugins/api/discovery/pom.xml +++ b/plugins/api/discovery/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/api/rate-limit/pom.xml b/plugins/api/rate-limit/pom.xml index dcb5dc1ef07..88283b33170 100644 --- a/plugins/api/rate-limit/pom.xml +++ b/plugins/api/rate-limit/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/api/solidfire-intg-test/pom.xml b/plugins/api/solidfire-intg-test/pom.xml index b98947cd274..47de6b37f13 100644 --- a/plugins/api/solidfire-intg-test/pom.xml +++ b/plugins/api/solidfire-intg-test/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/api/vmware-sioc/pom.xml b/plugins/api/vmware-sioc/pom.xml index c2862eae9d3..cc61d24ce8d 100644 --- a/plugins/api/vmware-sioc/pom.xml +++ b/plugins/api/vmware-sioc/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/ca/root-ca/pom.xml b/plugins/ca/root-ca/pom.xml index aa6743ba861..645632e974d 100644 --- a/plugins/ca/root-ca/pom.xml +++ b/plugins/ca/root-ca/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/database/mysql-ha/pom.xml b/plugins/database/mysql-ha/pom.xml index 5a997842edb..d68b64cadfc 100644 --- a/plugins/database/mysql-ha/pom.xml +++ b/plugins/database/mysql-ha/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/database/quota/pom.xml b/plugins/database/quota/pom.xml index cfad62f4932..17b1feb97c6 100644 --- a/plugins/database/quota/pom.xml +++ b/plugins/database/quota/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/dedicated-resources/pom.xml b/plugins/dedicated-resources/pom.xml index bd481e51f1f..3e8aa560b3a 100644 --- a/plugins/dedicated-resources/pom.xml +++ b/plugins/dedicated-resources/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/plugins/deployment-planners/implicit-dedication/pom.xml b/plugins/deployment-planners/implicit-dedication/pom.xml index 40791f9212f..13b22516962 100644 --- a/plugins/deployment-planners/implicit-dedication/pom.xml +++ b/plugins/deployment-planners/implicit-dedication/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/deployment-planners/user-concentrated-pod/pom.xml b/plugins/deployment-planners/user-concentrated-pod/pom.xml index dfa30757446..a4529136364 100644 --- a/plugins/deployment-planners/user-concentrated-pod/pom.xml +++ b/plugins/deployment-planners/user-concentrated-pod/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/deployment-planners/user-dispersing/pom.xml b/plugins/deployment-planners/user-dispersing/pom.xml index 377de41abbe..b79068eb62a 100644 --- a/plugins/deployment-planners/user-dispersing/pom.xml +++ b/plugins/deployment-planners/user-dispersing/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/event-bus/inmemory/pom.xml b/plugins/event-bus/inmemory/pom.xml index 9deb58dbf14..bc6e6687941 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/event-bus/kafka/pom.xml b/plugins/event-bus/kafka/pom.xml index f5bda13ce32..f72c6933162 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/event-bus/rabbitmq/pom.xml b/plugins/event-bus/rabbitmq/pom.xml index d61d5bb1e72..4741b0140e8 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/file-systems/netapp/pom.xml b/plugins/file-systems/netapp/pom.xml index c88816e3f1b..13f8c6696ef 100644 --- a/plugins/file-systems/netapp/pom.xml +++ b/plugins/file-systems/netapp/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/ha-planners/skip-heurestics/pom.xml b/plugins/ha-planners/skip-heurestics/pom.xml index 3ec94fded57..04b3a7805bd 100644 --- a/plugins/ha-planners/skip-heurestics/pom.xml +++ b/plugins/ha-planners/skip-heurestics/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/host-allocators/random/pom.xml b/plugins/host-allocators/random/pom.xml index 1f7db32f7cb..2032e02a459 100644 --- a/plugins/host-allocators/random/pom.xml +++ b/plugins/host-allocators/random/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/hypervisors/baremetal/pom.xml b/plugins/hypervisors/baremetal/pom.xml index ccb271962a4..5c7af1bbaa4 100755 --- a/plugins/hypervisors/baremetal/pom.xml +++ b/plugins/hypervisors/baremetal/pom.xml @@ -21,7 +21,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml cloud-plugin-hypervisor-baremetal diff --git a/plugins/hypervisors/hyperv/pom.xml b/plugins/hypervisors/hyperv/pom.xml index 35ae7a515cb..02e31de3a2e 100644 --- a/plugins/hypervisors/hyperv/pom.xml +++ b/plugins/hypervisors/hyperv/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/hypervisors/kvm/pom.xml b/plugins/hypervisors/kvm/pom.xml index 01ccdd70091..3cf3d87ab9e 100644 --- a/plugins/hypervisors/kvm/pom.xml +++ b/plugins/hypervisors/kvm/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/hypervisors/ovm/pom.xml b/plugins/hypervisors/ovm/pom.xml index fe31daa3477..b73e473ed1c 100644 --- a/plugins/hypervisors/ovm/pom.xml +++ b/plugins/hypervisors/ovm/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml index 029034b2849..667f663df18 100644 --- a/plugins/hypervisors/ovm3/pom.xml +++ b/plugins/hypervisors/ovm3/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/hypervisors/simulator/pom.xml b/plugins/hypervisors/simulator/pom.xml index b75d877958b..ff79e7d0017 100644 --- a/plugins/hypervisors/simulator/pom.xml +++ b/plugins/hypervisors/simulator/pom.xml @@ -22,7 +22,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml cloud-plugin-hypervisor-simulator diff --git a/plugins/hypervisors/ucs/pom.xml b/plugins/hypervisors/ucs/pom.xml index 7bfa6915375..4f1f136ad0f 100755 --- a/plugins/hypervisors/ucs/pom.xml +++ b/plugins/hypervisors/ucs/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml cloud-plugin-hypervisor-ucs diff --git a/plugins/hypervisors/vmware/pom.xml b/plugins/hypervisors/vmware/pom.xml index a09014a61e4..571720f1264 100644 --- a/plugins/hypervisors/vmware/pom.xml +++ b/plugins/hypervisors/vmware/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/hypervisors/xenserver/pom.xml b/plugins/hypervisors/xenserver/pom.xml index f999137dd23..0ed98245135 100644 --- a/plugins/hypervisors/xenserver/pom.xml +++ b/plugins/hypervisors/xenserver/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/integrations/cloudian/pom.xml b/plugins/integrations/cloudian/pom.xml index c4624a75d2d..2f95b311c7a 100644 --- a/plugins/integrations/cloudian/pom.xml +++ b/plugins/integrations/cloudian/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/integrations/prometheus/pom.xml b/plugins/integrations/prometheus/pom.xml index 8a8a3ef4f0f..2d7e110ef71 100644 --- a/plugins/integrations/prometheus/pom.xml +++ b/plugins/integrations/prometheus/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/metrics/pom.xml b/plugins/metrics/pom.xml index 981a026bd4b..ff3ee6eaabd 100644 --- a/plugins/metrics/pom.xml +++ b/plugins/metrics/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/plugins/network-elements/bigswitch/pom.xml b/plugins/network-elements/bigswitch/pom.xml index 28ba2f2ebd0..51dd6acda8c 100644 --- a/plugins/network-elements/bigswitch/pom.xml +++ b/plugins/network-elements/bigswitch/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/brocade-vcs/pom.xml b/plugins/network-elements/brocade-vcs/pom.xml index dd99440e511..9a24c875310 100644 --- a/plugins/network-elements/brocade-vcs/pom.xml +++ b/plugins/network-elements/brocade-vcs/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/cisco-vnmc/pom.xml b/plugins/network-elements/cisco-vnmc/pom.xml index 8433b761365..e3bc8bcb8e2 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/dns-notifier/pom.xml b/plugins/network-elements/dns-notifier/pom.xml index 5cd4e585225..90ceb5e0ce7 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../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 94f011294e1..b355e575058 100644 --- a/plugins/network-elements/elastic-loadbalancer/pom.xml +++ b/plugins/network-elements/elastic-loadbalancer/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/f5/pom.xml b/plugins/network-elements/f5/pom.xml index 1dcf7a02b62..bc2e09ded5a 100644 --- a/plugins/network-elements/f5/pom.xml +++ b/plugins/network-elements/f5/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/globodns/pom.xml b/plugins/network-elements/globodns/pom.xml index c6977587fee..afbcb558f6d 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/internal-loadbalancer/pom.xml b/plugins/network-elements/internal-loadbalancer/pom.xml index 1860e318013..a07da430af4 100644 --- a/plugins/network-elements/internal-loadbalancer/pom.xml +++ b/plugins/network-elements/internal-loadbalancer/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/juniper-contrail/pom.xml b/plugins/network-elements/juniper-contrail/pom.xml index 0bbdf24635e..46900fe6da1 100644 --- a/plugins/network-elements/juniper-contrail/pom.xml +++ b/plugins/network-elements/juniper-contrail/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/juniper-srx/pom.xml b/plugins/network-elements/juniper-srx/pom.xml index 1c0734e84dc..0c31365558e 100644 --- a/plugins/network-elements/juniper-srx/pom.xml +++ b/plugins/network-elements/juniper-srx/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/netscaler/pom.xml b/plugins/network-elements/netscaler/pom.xml index 31b5ce410d5..a1bc19fcb60 100644 --- a/plugins/network-elements/netscaler/pom.xml +++ b/plugins/network-elements/netscaler/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/nicira-nvp/pom.xml b/plugins/network-elements/nicira-nvp/pom.xml index fbfcb3c99b7..e7cd0ae4032 100644 --- a/plugins/network-elements/nicira-nvp/pom.xml +++ b/plugins/network-elements/nicira-nvp/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml @@ -34,7 +34,7 @@ org.apache.cloudstack cloud-utils - 4.11.3.0 + 4.11.4.0-SNAPSHOT test-jar test diff --git a/plugins/network-elements/nuage-vsp/pom.xml b/plugins/network-elements/nuage-vsp/pom.xml index 123f998040e..7195e3296af 100644 --- a/plugins/network-elements/nuage-vsp/pom.xml +++ b/plugins/network-elements/nuage-vsp/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/opendaylight/pom.xml b/plugins/network-elements/opendaylight/pom.xml index 8825bf5aa2f..a650b1242c3 100644 --- a/plugins/network-elements/opendaylight/pom.xml +++ b/plugins/network-elements/opendaylight/pom.xml @@ -25,7 +25,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/ovs/pom.xml b/plugins/network-elements/ovs/pom.xml index b920e5fa38b..3807ab592b8 100644 --- a/plugins/network-elements/ovs/pom.xml +++ b/plugins/network-elements/ovs/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/palo-alto/pom.xml b/plugins/network-elements/palo-alto/pom.xml index 9c780984ddb..84e8a79480e 100644 --- a/plugins/network-elements/palo-alto/pom.xml +++ b/plugins/network-elements/palo-alto/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/stratosphere-ssp/pom.xml b/plugins/network-elements/stratosphere-ssp/pom.xml index f17bc959fca..788b9674502 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/network-elements/vxlan/pom.xml b/plugins/network-elements/vxlan/pom.xml index 57ad32064c8..24f69036f86 100644 --- a/plugins/network-elements/vxlan/pom.xml +++ b/plugins/network-elements/vxlan/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/outofbandmanagement-drivers/ipmitool/pom.xml b/plugins/outofbandmanagement-drivers/ipmitool/pom.xml index d80f42708d8..44e1316c1db 100644 --- a/plugins/outofbandmanagement-drivers/ipmitool/pom.xml +++ b/plugins/outofbandmanagement-drivers/ipmitool/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml b/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml index acdca8509b2..0ae1250d5b3 100644 --- a/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml +++ b/plugins/outofbandmanagement-drivers/nested-cloudstack/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/pom.xml b/plugins/pom.xml index 5ca1a63b167..8aaae7ac839 100755 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/plugins/storage-allocators/random/pom.xml b/plugins/storage-allocators/random/pom.xml index 605e90bf417..990321745c5 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.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/storage/image/default/pom.xml b/plugins/storage/image/default/pom.xml index e1149c40c07..b6d9dce99e8 100644 --- a/plugins/storage/image/default/pom.xml +++ b/plugins/storage/image/default/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/image/s3/pom.xml b/plugins/storage/image/s3/pom.xml index e9fe4d475ee..287d94134c2 100644 --- a/plugins/storage/image/s3/pom.xml +++ b/plugins/storage/image/s3/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/image/sample/pom.xml b/plugins/storage/image/sample/pom.xml index b37fd2b9e6e..25f443913b4 100644 --- a/plugins/storage/image/sample/pom.xml +++ b/plugins/storage/image/sample/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/image/swift/pom.xml b/plugins/storage/image/swift/pom.xml index e964fccab30..3508ef1a406 100644 --- a/plugins/storage/image/swift/pom.xml +++ b/plugins/storage/image/swift/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/volume/cloudbyte/pom.xml b/plugins/storage/volume/cloudbyte/pom.xml index 0ba61df970d..34b03031a57 100755 --- a/plugins/storage/volume/cloudbyte/pom.xml +++ b/plugins/storage/volume/cloudbyte/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/volume/default/pom.xml b/plugins/storage/volume/default/pom.xml index e837a0cc322..e7383c9a65d 100644 --- a/plugins/storage/volume/default/pom.xml +++ b/plugins/storage/volume/default/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/volume/nexenta/pom.xml b/plugins/storage/volume/nexenta/pom.xml index 5bff3cde149..591a5e68eb9 100644 --- a/plugins/storage/volume/nexenta/pom.xml +++ b/plugins/storage/volume/nexenta/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/volume/sample/pom.xml b/plugins/storage/volume/sample/pom.xml index 020fb4805b6..9bbfd65e0f6 100644 --- a/plugins/storage/volume/sample/pom.xml +++ b/plugins/storage/volume/sample/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/storage/volume/solidfire/pom.xml b/plugins/storage/volume/solidfire/pom.xml index 9d6c24bf828..46c50e6a980 100644 --- a/plugins/storage/volume/solidfire/pom.xml +++ b/plugins/storage/volume/solidfire/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../../pom.xml diff --git a/plugins/user-authenticators/ldap/pom.xml b/plugins/user-authenticators/ldap/pom.xml index f9ef70229e6..aae36becf7d 100644 --- a/plugins/user-authenticators/ldap/pom.xml +++ b/plugins/user-authenticators/ldap/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/user-authenticators/md5/pom.xml b/plugins/user-authenticators/md5/pom.xml index 4f16d28e0a5..e9df596839a 100644 --- a/plugins/user-authenticators/md5/pom.xml +++ b/plugins/user-authenticators/md5/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/user-authenticators/pbkdf2/pom.xml b/plugins/user-authenticators/pbkdf2/pom.xml index 7ffd8e8ab1e..58eaf748cf8 100644 --- a/plugins/user-authenticators/pbkdf2/pom.xml +++ b/plugins/user-authenticators/pbkdf2/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/user-authenticators/plain-text/pom.xml b/plugins/user-authenticators/plain-text/pom.xml index bffcba5c03f..e0d075056fd 100644 --- a/plugins/user-authenticators/plain-text/pom.xml +++ b/plugins/user-authenticators/plain-text/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/user-authenticators/saml2/pom.xml b/plugins/user-authenticators/saml2/pom.xml index bd78a882920..1a86f22a544 100644 --- a/plugins/user-authenticators/saml2/pom.xml +++ b/plugins/user-authenticators/saml2/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/plugins/user-authenticators/sha256salted/pom.xml b/plugins/user-authenticators/sha256salted/pom.xml index 90586facfc3..9d09ca632c6 100644 --- a/plugins/user-authenticators/sha256salted/pom.xml +++ b/plugins/user-authenticators/sha256salted/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-plugins - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index f3a2e6d0c8c..777aa1e1b6c 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT 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 b3b4634adb6..0b29e11edbf 100644 --- a/quickcloud/pom.xml +++ b/quickcloud/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloud-maven-standard - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../maven-standard/pom.xml diff --git a/server/pom.xml b/server/pom.xml index dad75767753..3824ee5113a 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/services/console-proxy-rdp/rdpconsole/pom.xml b/services/console-proxy-rdp/rdpconsole/pom.xml index 6030b0d4842..da2e50ee194 100755 --- a/services/console-proxy-rdp/rdpconsole/pom.xml +++ b/services/console-proxy-rdp/rdpconsole/pom.xml @@ -27,7 +27,7 @@ org.apache.cloudstack cloudstack-services - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/services/console-proxy/plugin/pom.xml b/services/console-proxy/plugin/pom.xml index 90a105901a7..1417a73181c 100644 --- a/services/console-proxy/plugin/pom.xml +++ b/services/console-proxy/plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-console-proxy - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/console-proxy/pom.xml b/services/console-proxy/pom.xml index f93fb16b062..d14203f0e5c 100644 --- a/services/console-proxy/pom.xml +++ b/services/console-proxy/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack-services - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/console-proxy/server/pom.xml b/services/console-proxy/server/pom.xml index 9773b37aa4a..012452b668b 100644 --- a/services/console-proxy/server/pom.xml +++ b/services/console-proxy/server/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-console-proxy - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/iam/plugin/pom.xml b/services/iam/plugin/pom.xml index 096a7cd2d2a..6efef060f30 100644 --- a/services/iam/plugin/pom.xml +++ b/services/iam/plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-iam - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/iam/server/pom.xml b/services/iam/server/pom.xml index 64f945c365a..8711fe5a722 100644 --- a/services/iam/server/pom.xml +++ b/services/iam/server/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-iam - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/pom.xml b/services/pom.xml index 02ae153cd74..9845a00f086 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/secondary-storage/controller/pom.xml b/services/secondary-storage/controller/pom.xml index 3337e2f622a..1c07ef45aa2 100644 --- a/services/secondary-storage/controller/pom.xml +++ b/services/secondary-storage/controller/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-secondary-storage - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/secondary-storage/pom.xml b/services/secondary-storage/pom.xml index 52207a4a8df..19666505153 100644 --- a/services/secondary-storage/pom.xml +++ b/services/secondary-storage/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack-services - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/services/secondary-storage/server/pom.xml b/services/secondary-storage/server/pom.xml index 95bbc742bca..df778cc6749 100644 --- a/services/secondary-storage/server/pom.xml +++ b/services/secondary-storage/server/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack-service-secondary-storage - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/systemvm/pom.xml b/systemvm/pom.xml index 0f1bbb8f9a2..e42c15434c3 100644 --- a/systemvm/pom.xml +++ b/systemvm/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/test/pom.xml b/test/pom.xml index 4614f49916c..2fff029825b 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -23,7 +23,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/tools/apidoc/pom.xml b/tools/apidoc/pom.xml index 3e3d0834b86..d6b7b69a016 100644 --- a/tools/apidoc/pom.xml +++ b/tools/apidoc/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/tools/checkstyle/pom.xml b/tools/checkstyle/pom.xml index 65e7da0231a..b8143adc663 100644 --- a/tools/checkstyle/pom.xml +++ b/tools/checkstyle/pom.xml @@ -24,7 +24,7 @@ Apache CloudStack Developer Tools - Checkstyle Configuration org.apache.cloudstack checkstyle - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/tools/devcloud-kvm/pom.xml b/tools/devcloud-kvm/pom.xml index f372651b2e1..bea58ff7ae6 100644 --- a/tools/devcloud-kvm/pom.xml +++ b/tools/devcloud-kvm/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/tools/devcloud4/pom.xml b/tools/devcloud4/pom.xml index 75883c813c0..7058ecbfbaf 100644 --- a/tools/devcloud4/pom.xml +++ b/tools/devcloud4/pom.xml @@ -17,7 +17,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 34a71a8587a..8a9c1d271d5 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -20,7 +20,7 @@ FROM ubuntu:16.04 MAINTAINER "Apache CloudStack" -LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0" +LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.4.0-SNAPSHOT" RUN apt-get -y update && apt-get install -y \ genisoimage \ diff --git a/tools/docker/Dockerfile.centos6 b/tools/docker/Dockerfile.centos6 index 5156b9cfd9b..326c7fd2826 100644 --- a/tools/docker/Dockerfile.centos6 +++ b/tools/docker/Dockerfile.centos6 @@ -18,7 +18,7 @@ FROM centos:6 MAINTAINER "Apache CloudStack" -LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0" +LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.4.0-SNAPSHOT" ENV PKG_URL=https://builds.cloudstack.org/job/package-master-rhel63/lastSuccessfulBuild/artifact/dist/rpmbuild/RPMS/x86_64 @@ -26,8 +26,8 @@ ENV PKG_URL=https://builds.cloudstack.org/job/package-master-rhel63/lastSuccessf RUN rpm -i http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.3-1.el6.x86_64.rpm RUN yum install -y nc wget \ - ${PKG_URL}/cloudstack-common-4.11.3.0.el6.x86_64.rpm \ - ${PKG_URL}/cloudstack-management-4.11.3.0.el6.x86_64.rpm + ${PKG_URL}/cloudstack-common-4.11.4.0-SNAPSHOT.el6.x86_64.rpm \ + ${PKG_URL}/cloudstack-management-4.11.4.0-SNAPSHOT.el6.x86_64.rpm RUN cd /etc/cloudstack/management; \ ln -s tomcat6-nonssl.conf tomcat6.conf; \ diff --git a/tools/docker/Dockerfile.marvin b/tools/docker/Dockerfile.marvin index 9495fce3002..33ae40c01f9 100644 --- a/tools/docker/Dockerfile.marvin +++ b/tools/docker/Dockerfile.marvin @@ -20,11 +20,11 @@ FROM python:2 MAINTAINER "Apache CloudStack" -LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.3.0" +LABEL Vendor="Apache.org" License="ApacheV2" Version="4.11.4.0-SNAPSHOT" ENV WORK_DIR=/marvin -ENV PKG_URL=https://builds.cloudstack.org/job/build-master-marvin/lastSuccessfulBuild/artifact/tools/marvin/dist/Marvin-4.11.3.0.tar.gz +ENV PKG_URL=https://builds.cloudstack.org/job/build-master-marvin/lastSuccessfulBuild/artifact/tools/marvin/dist/Marvin-4.11.4.0-SNAPSHOT.tar.gz RUN apt-get update && apt-get install -y vim RUN pip install --upgrade paramiko nose requests diff --git a/tools/marvin/pom.xml b/tools/marvin/pom.xml index f728dba7dcc..75a1f8c9535 100644 --- a/tools/marvin/pom.xml +++ b/tools/marvin/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloud-tools - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py index d41a7c05917..8f743ba50e8 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.11.3.0" +VERSION = "4.11.4.0-SNAPSHOT" setup(name="Marvin", version=VERSION, diff --git a/tools/pom.xml b/tools/pom.xml index c5feb4066d9..d91bd801303 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -27,7 +27,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/tools/wix-cloudstack-maven-plugin/pom.xml b/tools/wix-cloudstack-maven-plugin/pom.xml index dc7ed433e0b..6eb20520b09 100644 --- a/tools/wix-cloudstack-maven-plugin/pom.xml +++ b/tools/wix-cloudstack-maven-plugin/pom.xml @@ -16,7 +16,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../../pom.xml diff --git a/usage/pom.xml b/usage/pom.xml index f56b070eb5d..429da5eae39 100644 --- a/usage/pom.xml +++ b/usage/pom.xml @@ -15,7 +15,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT diff --git a/utils/pom.xml b/utils/pom.xml index fc86f26f053..923163b6e87 100755 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -26,7 +26,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT ../pom.xml diff --git a/vmware-base/pom.xml b/vmware-base/pom.xml index 8cd3a5aaa28..2c7cc1d7c8d 100644 --- a/vmware-base/pom.xml +++ b/vmware-base/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack - 4.11.3.0 + 4.11.4.0-SNAPSHOT From 2c70c7357de385bab58a8a555246a285bd09d703 Mon Sep 17 00:00:00 2001 From: Andrija Panic <45762285+andrijapanicsb@users.noreply.github.com> Date: Tue, 25 Jun 2019 11:50:28 +0200 Subject: [PATCH 07/12] server: Fix volume.stats.interval description (#3415) Tested manually - value is in miliseconds, not seconds for the setting volume.stats.interval --- server/src/main/java/com/cloud/configuration/Config.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/configuration/Config.java b/server/src/main/java/com/cloud/configuration/Config.java index 09238ea3b10..1aad66d43a5 100644 --- a/server/src/main/java/com/cloud/configuration/Config.java +++ b/server/src/main/java/com/cloud/configuration/Config.java @@ -849,7 +849,7 @@ public enum Config { "The interval (in milliseconds) when vm stats are retrieved from agents.", null), VmDiskStatsInterval("Advanced", ManagementServer.class, Integer.class, "vm.disk.stats.interval", "0", "Interval (in seconds) to report vm disk statistics.", null), - VolumeStatsInterval("Advanced", ManagementServer.class, Integer.class, "volume.stats.interval", "60000", "Interval (in seconds) to report volume statistics.", null), + VolumeStatsInterval("Advanced", ManagementServer.class, Integer.class, "volume.stats.interval", "60000", "Interval (in miliseconds) to report volume statistics.", null), VmTransitionWaitInterval( "Advanced", ManagementServer.class, From 1ef05984c66068c92a3ef369e25a1901fc50055b Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 25 Jun 2019 17:10:48 +0530 Subject: [PATCH 08/12] vmware: add support for VMware 6.7 (#3413) This adds support for VMware 6.7 Fixes #2700 Signed-off-by: Rohit Yadav --- .../src/main/resources/META-INF/db/schema-41200to41300.sql | 4 ++++ pom.xml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql b/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql index ee599f65229..97e9fac35c3 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql @@ -19,6 +19,10 @@ -- Schema upgrade from 4.12.0.0 to 4.13.0.0 --; +-- Add support for VMware 6.7 +INSERT IGNORE INTO `cloud`.`hypervisor_capabilities` (uuid, hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled, max_data_volumes_limit, max_hosts_per_cluster, storage_motion_supported, vm_snapshot_enabled) values (UUID(), 'VMware', '6.7', 128, 0, 13, 32, 1, 1); +INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) SELECT UUID(),'VMware', '6.7', guest_os_name, guest_os_id, utc_timestamp(), 0 FROM `cloud`.`guest_os_hypervisor` WHERE hypervisor_type='VMware' AND hypervisor_version='6.5'; + -- DPDK client and server mode support ALTER TABLE `cloud`.`service_offering_details` CHANGE COLUMN `value` `value` TEXT NOT NULL; diff --git a/pom.xml b/pom.xml index 53386917f15..6cbd8fa5485 100644 --- a/pom.xml +++ b/pom.xml @@ -160,7 +160,7 @@ 4.0.0 8.0.30 1.0.0-build221 - 6.5 + 6.7 6.2.0-3.1 1.4.01 3.1.3 From a75444a585b952aeb3e984430238cae9e6be4dc5 Mon Sep 17 00:00:00 2001 From: Nicolas Vazquez Date: Tue, 25 Jun 2019 12:23:09 -0300 Subject: [PATCH 09/12] KVM: DPDK live migrations (#3365) * DPDK live migrations * Remove DPDK created ports if VM migration fails or prepare migration fails * Rename DPDK classes lowercase --- .../java/com/cloud/agent/api/to/DpdkTO.java | 45 ++++ .../java/com/cloud/agent/api/to/NicTO.java | 10 +- .../com/cloud/agent/api/MigrateCommand.java | 10 + .../agent/api/PrepareForMigrationAnswer.java | 16 ++ .../java/com/cloud/agent/api/StopCommand.java | 10 + .../cloud/vm/VirtualMachineManagerImpl.java | 29 +-- .../dpdk/{DPDKDriver.java => DpdkDriver.java} | 8 +- ...PDKDriverImpl.java => DpdkDriverImpl.java} | 26 +- .../resource/LibvirtComputingResource.java | 13 +- .../kvm/resource/LibvirtDomainXMLParser.java | 8 +- .../hypervisor/kvm/resource/LibvirtVMDef.java | 30 ++- .../hypervisor/kvm/resource/OvsVifDriver.java | 52 ++-- .../wrapper/LibvirtMigrateCommandWrapper.java | 76 ++++++ ...virtPrepareForMigrationCommandWrapper.java | 36 ++- .../wrapper/LibvirtStartCommandWrapper.java | 1 - .../wrapper/LibvirtStopCommandWrapper.java | 26 +- ...PDKDriverTest.java => DpdkDriverTest.java} | 42 +-- .../LibvirtMigrateCommandWrapperTest.java | 153 +++++++++++ .../cloud/hypervisor/HypervisorGuruBase.java | 33 +++ .../java/com/cloud/hypervisor/KVMGuru.java | 39 +-- .../hypervisor/kvm/dpdk/DPDKHelperImpl.java | 68 ----- .../dpdk/{DPDKHelper.java => DpdkHelper.java} | 19 +- .../hypervisor/kvm/dpdk/DpdkHelperImpl.java | 154 +++++++++++ .../cloud/server/ManagementServerImpl.java | 24 +- .../java/com/cloud/vm/UserVmManagerImpl.java | 7 + .../core/spring-server-core-misc-context.xml | 2 +- .../com/cloud/hypervisor/KVMGuruTest.java | 13 - .../kvm/dpdk/DPDKHelperImplTest.java | 135 ---------- .../kvm/dpdk/DpdkHelperImplTest.java | 245 ++++++++++++++++++ 29 files changed, 980 insertions(+), 350 deletions(-) create mode 100644 api/src/main/java/com/cloud/agent/api/to/DpdkTO.java rename plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/{DPDKDriver.java => DpdkDriver.java} (88%) rename plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/{DPDKDriverImpl.java => DpdkDriverImpl.java} (81%) rename plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/{DPDKDriverTest.java => DpdkDriverTest.java} (66%) delete mode 100644 server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKHelperImpl.java rename server/src/main/java/com/cloud/hypervisor/kvm/dpdk/{DPDKHelper.java => DpdkHelper.java} (79%) create mode 100644 server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java delete mode 100644 server/src/test/java/com/cloud/hypervisor/kvm/dpdk/DPDKHelperImplTest.java create mode 100644 server/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImplTest.java diff --git a/api/src/main/java/com/cloud/agent/api/to/DpdkTO.java b/api/src/main/java/com/cloud/agent/api/to/DpdkTO.java new file mode 100644 index 00000000000..86ae27713d0 --- /dev/null +++ b/api/src/main/java/com/cloud/agent/api/to/DpdkTO.java @@ -0,0 +1,45 @@ +// 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.agent.api.to; + +public class DpdkTO { + + private String path; + private String port; + private String mode; + + public DpdkTO() { + } + + public DpdkTO(String path, String port, String mode) { + this.path = path; + this.port = port; + this.mode = mode; + } + + public String getPath() { + return path; + } + + public String getPort() { + return port; + } + + public String getMode() { + return mode; + } +} \ No newline at end of file diff --git a/api/src/main/java/com/cloud/agent/api/to/NicTO.java b/api/src/main/java/com/cloud/agent/api/to/NicTO.java index 48612253f93..6a77f62cb07 100644 --- a/api/src/main/java/com/cloud/agent/api/to/NicTO.java +++ b/api/src/main/java/com/cloud/agent/api/to/NicTO.java @@ -30,7 +30,7 @@ public class NicTO extends NetworkTO { String nicUuid; List nicSecIps; Map details; - boolean dpdkDisabled; + boolean dpdkEnabled; public NicTO() { super(); @@ -111,11 +111,11 @@ public class NicTO extends NetworkTO { this.details = details; } - public boolean isDpdkDisabled() { - return dpdkDisabled; + public boolean isDpdkEnabled() { + return dpdkEnabled; } - public void setDpdkDisabled(boolean dpdkDisabled) { - this.dpdkDisabled = dpdkDisabled; + public void setDpdkEnabled(boolean dpdkEnabled) { + this.dpdkEnabled = dpdkEnabled; } } diff --git a/core/src/main/java/com/cloud/agent/api/MigrateCommand.java b/core/src/main/java/com/cloud/agent/api/MigrateCommand.java index f189c72b5c9..93324d20730 100644 --- a/core/src/main/java/com/cloud/agent/api/MigrateCommand.java +++ b/core/src/main/java/com/cloud/agent/api/MigrateCommand.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import com.cloud.agent.api.to.DpdkTO; import com.cloud.agent.api.to.VirtualMachineTO; public class MigrateCommand extends Command { @@ -37,6 +38,15 @@ public class MigrateCommand extends Command { private VirtualMachineTO vmTO; private boolean executeInSequence = false; private List migrateDiskInfoList = new ArrayList<>(); + private Map dpdkInterfaceMapping = new HashMap<>(); + + public Map getDpdkInterfaceMapping() { + return dpdkInterfaceMapping; + } + + public void setDpdkInterfaceMapping(Map dpdkInterfaceMapping) { + this.dpdkInterfaceMapping = dpdkInterfaceMapping; + } protected MigrateCommand() { } diff --git a/core/src/main/java/com/cloud/agent/api/PrepareForMigrationAnswer.java b/core/src/main/java/com/cloud/agent/api/PrepareForMigrationAnswer.java index c9f23d664c9..d0a544ba081 100644 --- a/core/src/main/java/com/cloud/agent/api/PrepareForMigrationAnswer.java +++ b/core/src/main/java/com/cloud/agent/api/PrepareForMigrationAnswer.java @@ -19,7 +19,15 @@ package com.cloud.agent.api; +import com.cloud.agent.api.to.DpdkTO; + +import java.util.HashMap; +import java.util.Map; + public class PrepareForMigrationAnswer extends Answer { + + private Map dpdkInterfaceMapping = new HashMap<>(); + protected PrepareForMigrationAnswer() { } @@ -34,4 +42,12 @@ public class PrepareForMigrationAnswer extends Answer { public PrepareForMigrationAnswer(PrepareForMigrationCommand cmd) { super(cmd, true, null); } + + public void setDpdkInterfaceMapping(Map mapping) { + this.dpdkInterfaceMapping = mapping; + } + + public Map getDpdkInterfaceMapping() { + return this.dpdkInterfaceMapping; + } } diff --git a/core/src/main/java/com/cloud/agent/api/StopCommand.java b/core/src/main/java/com/cloud/agent/api/StopCommand.java index eedf736ac4c..ad6833f1fea 100644 --- a/core/src/main/java/com/cloud/agent/api/StopCommand.java +++ b/core/src/main/java/com/cloud/agent/api/StopCommand.java @@ -19,6 +19,7 @@ package com.cloud.agent.api; +import com.cloud.agent.api.to.DpdkTO; import com.cloud.agent.api.to.GPUDeviceTO; import com.cloud.vm.VirtualMachine; @@ -34,6 +35,15 @@ public class StopCommand extends RebootCommand { boolean checkBeforeCleanup = false; String controlIp = null; boolean forceStop = false; + private Map dpdkInterfaceMapping; + + public Map getDpdkInterfaceMapping() { + return dpdkInterfaceMapping; + } + + public void setDpdkInterfaceMapping(Map dpdkInterfaceMapping) { + this.dpdkInterfaceMapping = dpdkInterfaceMapping; + } /** * On KVM when using iSCSI-based managed storage, if the user shuts a VM down from the guest OS (as opposed to doing so from CloudStack), * we need to pass to the KVM agent a list of applicable iSCSI volumes that need to be disconnected. diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 354323ecd2f..79570534596 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -39,7 +39,8 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.cloudstack.api.ApiConstants; +import com.cloud.agent.api.PrepareForMigrationAnswer; +import com.cloud.agent.api.to.DpdkTO; import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao; import org.apache.cloudstack.api.command.admin.vm.MigrateVMCmd; import org.apache.cloudstack.api.command.admin.volume.MigrateVolumeCmdByAdmin; @@ -1118,8 +1119,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac vmGuru.finalizeDeployment(cmds, vmProfile, dest, ctx); - addExtraConfig(vmTO); - work = _workDao.findById(work.getId()); if (work == null || work.getStep() != Step.Prepare) { throw new ConcurrentOperationException("Work steps have been changed: " + work); @@ -1284,15 +1283,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac } } - private void addExtraConfig(VirtualMachineTO vmTO) { - Map details = vmTO.getDetails(); - for (String key : details.keySet()) { - if (key.startsWith(ApiConstants.EXTRA_CONFIG)) { - vmTO.addExtraConfig(key, details.get(key)); - } - } - } - // for managed storage on KVM, need to make sure the path field of the volume in question is populated with the IQN private void handlePath(final DiskTO[] disks, final HypervisorType hypervisorType) { if (hypervisorType != HypervisorType.KVM) { @@ -2362,6 +2352,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac } boolean migrated = false; + Map dpdkInterfaceMapping = null; try { final boolean isWindows = _guestOsCategoryDao.findById(_guestOsDao.findById(vm.getGuestOSId()).getCategoryId()).getName().equalsIgnoreCase("Windows"); final MigrateCommand mc = new MigrateCommand(vm.getInstanceName(), dest.getHost().getPrivateIpAddress(), isWindows, to, getExecuteInSequence(vm.getHypervisorType())); @@ -2370,6 +2361,11 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac mc.setAutoConvergence(kvmAutoConvergence); mc.setHostGuid(dest.getHost().getGuid()); + dpdkInterfaceMapping = ((PrepareForMigrationAnswer) pfma).getDpdkInterfaceMapping(); + if (MapUtils.isNotEmpty(dpdkInterfaceMapping)) { + mc.setDpdkInterfaceMapping(dpdkInterfaceMapping); + } + try { final Answer ma = _agentMgr.send(vm.getLastHostId(), mc); if (ma == null || !ma.getResult()) { @@ -2396,7 +2392,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac if (!checkVmOnHost(vm, dstHostId)) { s_logger.error("Unable to complete migration for " + vm); try { - _agentMgr.send(srcHostId, new Commands(cleanup(vm)), null); + _agentMgr.send(srcHostId, new Commands(cleanup(vm, dpdkInterfaceMapping)), null); } catch (final AgentUnavailableException e) { s_logger.error("AgentUnavailableException while cleanup on source host: " + srcHostId); } @@ -2417,7 +2413,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac "Unable to migrate vm " + vm.getInstanceName() + " from host " + fromHost.getName() + " in zone " + dest.getDataCenter().getName() + " and pod " + dest.getPod().getName(), "Migrate Command failed. Please check logs."); try { - _agentMgr.send(dstHostId, new Commands(cleanup(vm)), null); + _agentMgr.send(dstHostId, new Commands(cleanup(vm, dpdkInterfaceMapping)), null); } catch (final AgentUnavailableException ae) { s_logger.info("Looks like the destination Host is unavailable for cleanup"); } @@ -3106,9 +3102,12 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac } } - public Command cleanup(final VirtualMachine vm) { + public Command cleanup(final VirtualMachine vm, Map dpdkInterfaceMapping) { StopCommand cmd = new StopCommand(vm, getExecuteInSequence(vm.getHypervisorType()), false); cmd.setControlIp(getControlNicIpForVM(vm)); + if (MapUtils.isNotEmpty(dpdkInterfaceMapping)) { + cmd.setDpdkInterfaceMapping(dpdkInterfaceMapping); + } return cmd; } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriver.java similarity index 88% rename from plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriver.java rename to plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriver.java index f5306e22353..0a010de0f04 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriver.java @@ -22,7 +22,7 @@ import com.cloud.utils.component.Adapter; import java.util.Map; -public interface DPDKDriver extends Adapter { +public interface DpdkDriver extends Adapter { /** * Get the next DPDK port name to be created @@ -37,17 +37,17 @@ public interface DPDKDriver extends Adapter { /** * Add OVS port (if it does not exist) to bridge with DPDK support */ - void addDpdkPort(String bridgeName, String port, String vlan, DPDKHelper.VHostUserMode vHostUserMode, String dpdkOvsPath); + void addDpdkPort(String bridgeName, String port, String vlan, DpdkHelper.VHostUserMode vHostUserMode, String dpdkOvsPath); /** * Since DPDK user client/server mode, retrieve the guest interfaces mode from the DPDK vHost User mode */ - String getGuestInterfacesModeFromDPDKVhostUserMode(DPDKHelper.VHostUserMode dpdKvHostUserMode); + String getGuestInterfacesModeFromDpdkVhostUserMode(DpdkHelper.VHostUserMode dpdKvHostUserMode); /** * Get DPDK vHost User mode from extra config. If it is not present, server is returned as default */ - DPDKHelper.VHostUserMode getDPDKvHostUserMode(Map extraConfig); + DpdkHelper.VHostUserMode getDpdkvHostUserMode(Map extraConfig); /** * Check for additional extra 'dpdk-interface' configurations, return them appended diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriverImpl.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java similarity index 81% rename from plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriverImpl.java rename to plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java index 71da0aefe40..cd962b620a7 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriverImpl.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java @@ -25,15 +25,15 @@ import org.apache.log4j.Logger; import java.util.Map; -public class DPDKDriverImpl extends AdapterBase implements DPDKDriver { +public class DpdkDriverImpl extends AdapterBase implements DpdkDriver { static final String DPDK_PORT_PREFIX = "csdpdk-"; private final String dpdkPortVhostUserType = "dpdkvhostuser"; private final String dpdkPortVhostUserClientType = "dpdkvhostuserclient"; - private static final Logger s_logger = Logger.getLogger(DPDKDriver.class); + private static final Logger s_logger = Logger.getLogger(DpdkDriver.class); - public DPDKDriverImpl() { + public DpdkDriverImpl() { } /** @@ -64,8 +64,8 @@ public class DPDKDriverImpl extends AdapterBase implements DPDKDriver { /** * Add OVS port (if it does not exist) to bridge with DPDK support */ - public void addDpdkPort(String bridgeName, String port, String vlan, DPDKHelper.VHostUserMode vHostUserMode, String dpdkOvsPath) { - String type = vHostUserMode == DPDKHelper.VHostUserMode.SERVER ? + public void addDpdkPort(String bridgeName, String port, String vlan, DpdkHelper.VHostUserMode vHostUserMode, String dpdkOvsPath) { + String type = vHostUserMode == DpdkHelper.VHostUserMode.SERVER ? dpdkPortVhostUserType : dpdkPortVhostUserClientType; @@ -74,7 +74,7 @@ public class DPDKDriverImpl extends AdapterBase implements DPDKDriver { "vlan_mode=access tag=%s " + "-- set Interface %s type=%s", bridgeName, port, vlan, port, type)); - if (vHostUserMode == DPDKHelper.VHostUserMode.CLIENT) { + if (vHostUserMode == DpdkHelper.VHostUserMode.CLIENT) { stringBuilder.append(String.format(" options:vhost-server-path=%s/%s", dpdkOvsPath, port)); } @@ -87,17 +87,17 @@ public class DPDKDriverImpl extends AdapterBase implements DPDKDriver { /** * Since DPDK user client/server mode, retrieve the guest interfaces mode from the DPDK vHost User mode */ - public String getGuestInterfacesModeFromDPDKVhostUserMode(DPDKHelper.VHostUserMode dpdKvHostUserMode) { - return dpdKvHostUserMode == DPDKHelper.VHostUserMode.CLIENT ? "server" : "client"; + public String getGuestInterfacesModeFromDpdkVhostUserMode(DpdkHelper.VHostUserMode dpdKvHostUserMode) { + return dpdKvHostUserMode == DpdkHelper.VHostUserMode.CLIENT ? "server" : "client"; } /** * Get DPDK vHost User mode from extra config. If it is not present, server is returned as default */ - public DPDKHelper.VHostUserMode getDPDKvHostUserMode(Map extraConfig) { - return extraConfig.containsKey(DPDKHelper.DPDK_VHOST_USER_MODE) ? - DPDKHelper.VHostUserMode.fromValue(extraConfig.get(DPDKHelper.DPDK_VHOST_USER_MODE)) : - DPDKHelper.VHostUserMode.SERVER; + public DpdkHelper.VHostUserMode getDpdkvHostUserMode(Map extraConfig) { + return extraConfig.containsKey(DpdkHelper.DPDK_VHOST_USER_MODE) ? + DpdkHelper.VHostUserMode.fromValue(extraConfig.get(DpdkHelper.DPDK_VHOST_USER_MODE)) : + DpdkHelper.VHostUserMode.SERVER; } /** @@ -106,7 +106,7 @@ public class DPDKDriverImpl extends AdapterBase implements DPDKDriver { public String getExtraDpdkProperties(Map extraConfig) { StringBuilder stringBuilder = new StringBuilder(); for (String key : extraConfig.keySet()) { - if (key.startsWith(DPDKHelper.DPDK_INTERFACE_PREFIX)) { + if (key.startsWith(DpdkHelper.DPDK_INTERFACE_PREFIX)) { stringBuilder.append(extraConfig.get(key)); } } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 5f2a911d6be..9319ee524d1 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -46,7 +46,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import com.cloud.hypervisor.kvm.dpdk.DPDKHelper; +import com.cloud.hypervisor.kvm.dpdk.DpdkHelper; import com.cloud.resource.RequestWrapper; import org.apache.cloudstack.storage.to.PrimaryDataStoreTO; import org.apache.cloudstack.storage.to.TemplateObjectTO; @@ -2070,7 +2070,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv vm.setPlatformEmulator(vmTO.getPlatformEmulator()); Map extraConfig = vmTO.getExtraConfig(); - if (dpdkSupport && (!extraConfig.containsKey(DPDKHelper.DPDK_NUMA) || !extraConfig.containsKey(DPDKHelper.DPDK_HUGE_PAGES))) { + if (dpdkSupport && (!extraConfig.containsKey(DpdkHelper.DPDK_NUMA) || !extraConfig.containsKey(DpdkHelper.DPDK_HUGE_PAGES))) { s_logger.info("DPDK is enabled but it needs extra configurations for CPU NUMA and Huge Pages for VM deployment"); } @@ -2107,7 +2107,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv grd.setVcpuNum(vcpus); vm.addComp(grd); - if (!extraConfig.containsKey(DPDKHelper.DPDK_NUMA)) { + if (!extraConfig.containsKey(DpdkHelper.DPDK_NUMA)) { final CpuModeDef cmd = new CpuModeDef(); cmd.setMode(_guestCpuMode); cmd.setModel(_guestCpuModel); @@ -2235,7 +2235,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv if (MapUtils.isNotEmpty(extraConfig)) { StringBuilder extraConfigBuilder = new StringBuilder(); for (String key : extraConfig.keySet()) { - if (!key.startsWith(DPDKHelper.DPDK_INTERFACE_PREFIX) && !key.equals(DPDKHelper.DPDK_VHOST_USER_MODE)) { + if (!key.startsWith(DpdkHelper.DPDK_INTERFACE_PREFIX) && !key.equals(DpdkHelper.DPDK_VHOST_USER_MODE)) { extraConfigBuilder.append(extraConfig.get(key)); } } @@ -2706,7 +2706,10 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv final KVMHostInfo info = new KVMHostInfo(_dom0MinMem, _dom0OvercommitMem); - final String capabilities = String.join(",", info.getCapabilities()); + String capabilities = String.join(",", info.getCapabilities()); + if (dpdkSupport) { + capabilities += ",dpdk"; + } final StartupRoutingCommand cmd = new StartupRoutingCommand(info.getCpus(), info.getCpuSpeed(), info.getTotalMemory(), info.getReservedMemory(), capabilities, _hypervisorType, diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java index 97963fd2317..51ebdb3e75f 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java @@ -224,9 +224,13 @@ public class LibvirtDomainXMLParser { def.defEthernet(dev, mac, NicModel.valueOf(model.toUpperCase()), scriptPath, networkRateKBps); } else if (type.equals("vhostuser")) { String sourcePort = getAttrValue("source", "path", nic); - String[] sourcePathParts = sourcePort.split("/"); - String port = sourcePathParts[sourcePathParts.length - 1]; + String mode = getAttrValue("source", "mode", nic); + int lastSlashIndex = sourcePort.lastIndexOf("/"); + String ovsPath = sourcePort.substring(0,lastSlashIndex); + String port = sourcePort.substring(lastSlashIndex + 1); def.setDpdkSourcePort(port); + def.setDpdkOvsPath(ovsPath); + def.setInterfaceMode(mode); } if (StringUtils.isNotBlank(slot)) { diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index 400e16dba93..dab1af510bf 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -963,7 +963,7 @@ public class LibvirtVMDef { } public static class InterfaceDef { - enum GuestNetType { + public enum GuestNetType { BRIDGE("bridge"), DIRECT("direct"), NETWORK("network"), USER("user"), ETHERNET("ethernet"), INTERNAL("internal"), VHOSTUSER("vhostuser"); String _type; @@ -1176,10 +1176,24 @@ public class LibvirtVMDef { _dpdkSourcePort = port; } - @Override - public String toString() { + public String getDpdkOvsPath() { + return _dpdkSourcePath; + } + + public void setDpdkOvsPath(String path) { + _dpdkSourcePath = path; + } + + public String getInterfaceMode() { + return _interfaceMode; + } + + public void setInterfaceMode(String mode) { + _interfaceMode = mode; + } + + public String getContent() { StringBuilder netBuilder = new StringBuilder(); - netBuilder.append("\n"); if (_netType == GuestNetType.BRIDGE) { netBuilder.append("\n"); } else if (_netType == GuestNetType.NETWORK) { @@ -1233,6 +1247,14 @@ public class LibvirtVMDef { if (_slot != null) { netBuilder.append(String.format("
\n", _slot)); } + return netBuilder.toString(); + } + + @Override + public String toString() { + StringBuilder netBuilder = new StringBuilder(); + netBuilder.append("\n"); + netBuilder.append(getContent()); netBuilder.append("\n"); return netBuilder.toString(); } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java index 8208530ce22..1e7f4d5cc20 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java @@ -24,9 +24,9 @@ import java.util.Map; import javax.naming.ConfigurationException; -import com.cloud.hypervisor.kvm.dpdk.DPDKDriver; -import com.cloud.hypervisor.kvm.dpdk.DPDKDriverImpl; -import com.cloud.hypervisor.kvm.dpdk.DPDKHelper; +import com.cloud.hypervisor.kvm.dpdk.DpdkDriver; +import com.cloud.hypervisor.kvm.dpdk.DpdkDriverImpl; +import com.cloud.hypervisor.kvm.dpdk.DpdkHelper; import com.cloud.utils.exception.CloudRuntimeException; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -44,7 +44,7 @@ import com.cloud.utils.script.Script; public class OvsVifDriver extends VifDriverBase { private static final Logger s_logger = Logger.getLogger(OvsVifDriver.class); private int _timeout; - private DPDKDriver dpdkDriver; + private DpdkDriver dpdkDriver; @Override public void configure(Map params) throws ConfigurationException { @@ -59,7 +59,7 @@ public class OvsVifDriver extends VifDriverBase { String dpdk = (String) params.get("openvswitch.dpdk.enabled"); if (StringUtils.isNotBlank(dpdk) && Boolean.parseBoolean(dpdk)) { - dpdkDriver = new DPDKDriverImpl(); + dpdkDriver = new DpdkDriverImpl(); } String value = (String)params.get("scripts.timeout"); @@ -87,12 +87,34 @@ public class OvsVifDriver extends VifDriverBase { s_logger.debug("done looking for pifs, no more bridges"); } + /** + * Plug interface with DPDK support: + * - Create a new port with DPDK support for the interface + * - Set the 'intf' path to the new port + */ + protected void plugDPDKInterface(InterfaceDef intf, String trafficLabel, Map extraConfig, + String vlanId, String guestOsType, NicTO nic, String nicAdapter) { + s_logger.debug("DPDK support enabled: configuring per traffic label " + trafficLabel); + String dpdkOvsPath = _libvirtComputingResource.dpdkOvsPath; + if (StringUtils.isBlank(dpdkOvsPath)) { + throw new CloudRuntimeException("DPDK is enabled on the host but no OVS path has been provided"); + } + String port = dpdkDriver.getNextDpdkPort(); + DpdkHelper.VHostUserMode dpdKvHostUserMode = dpdkDriver.getDpdkvHostUserMode(extraConfig); + dpdkDriver.addDpdkPort(_pifs.get(trafficLabel), port, vlanId, dpdKvHostUserMode, dpdkOvsPath); + String interfaceMode = dpdkDriver.getGuestInterfacesModeFromDpdkVhostUserMode(dpdKvHostUserMode); + intf.defDpdkNet(dpdkOvsPath, port, nic.getMac(), + getGuestNicModel(guestOsType, nicAdapter), 0, + dpdkDriver.getExtraDpdkProperties(extraConfig), + interfaceMode); + } + @Override public InterfaceDef plug(NicTO nic, String guestOsType, String nicAdapter, Map extraConfig) throws InternalErrorException, LibvirtException { s_logger.debug("plugging nic=" + nic); LibvirtVMDef.InterfaceDef intf = new LibvirtVMDef.InterfaceDef(); - if (!_libvirtComputingResource.dpdkSupport || nic.isDpdkDisabled()) { + if (!_libvirtComputingResource.dpdkSupport || !nic.isDpdkEnabled()) { // Let libvirt handle OVS ports creation when DPDK property is disabled or when it is enabled but disabled for the nic // For DPDK support, libvirt does not handle ports creation, invoke 'addDpdkPort' method intf.setVirtualPortType("openvswitch"); @@ -114,20 +136,8 @@ public class OvsVifDriver extends VifDriverBase { if ((nic.getBroadcastType() == Networks.BroadcastDomainType.Vlan || nic.getBroadcastType() == Networks.BroadcastDomainType.Pvlan) && !vlanId.equalsIgnoreCase("untagged")) { if (trafficLabel != null && !trafficLabel.isEmpty()) { - if (_libvirtComputingResource.dpdkSupport && !nic.isDpdkDisabled()) { - s_logger.debug("DPDK support enabled: configuring per traffic label " + trafficLabel); - String dpdkOvsPath = _libvirtComputingResource.dpdkOvsPath; - if (StringUtils.isBlank(dpdkOvsPath)) { - throw new CloudRuntimeException("DPDK is enabled on the host but no OVS path has been provided"); - } - String port = dpdkDriver.getNextDpdkPort(); - DPDKHelper.VHostUserMode dpdKvHostUserMode = dpdkDriver.getDPDKvHostUserMode(extraConfig); - dpdkDriver.addDpdkPort(_pifs.get(trafficLabel), port, vlanId, dpdKvHostUserMode, dpdkOvsPath); - String interfaceMode = dpdkDriver.getGuestInterfacesModeFromDPDKVhostUserMode(dpdKvHostUserMode); - intf.defDpdkNet(dpdkOvsPath, port, nic.getMac(), - getGuestNicModel(guestOsType, nicAdapter), 0, - dpdkDriver.getExtraDpdkProperties(extraConfig), - interfaceMode); + if (_libvirtComputingResource.dpdkSupport && nic.isDpdkEnabled()) { + plugDPDKInterface(intf, trafficLabel, extraConfig, vlanId, guestOsType, nic, nicAdapter); } else { s_logger.debug("creating a vlan dev and bridge for guest traffic per traffic label " + trafficLabel); intf.defBridgeNet(_pifs.get(trafficLabel), null, nic.getMac(), getGuestNicModel(guestOsType, nicAdapter), networkRateKBps); @@ -180,7 +190,7 @@ public class OvsVifDriver extends VifDriverBase { @Override public void unplug(InterfaceDef iface) { // Libvirt apparently takes care of this, see BridgeVifDriver unplug - if (_libvirtComputingResource.dpdkSupport) { + if (_libvirtComputingResource.dpdkSupport && StringUtils.isNotBlank(iface.getDpdkSourcePort())) { // If DPDK is enabled, we'll need to cleanup the port as libvirt won't String dpdkPort = iface.getDpdkSourcePort(); String cmd = String.format("ovs-vsctl del-port %s", dpdkPort); diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java index 5bf8d25e949..e6d366e3b04 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java @@ -43,6 +43,7 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; +import com.cloud.agent.api.to.DpdkTO; import org.apache.commons.collections.MapUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; @@ -153,6 +154,11 @@ public final class LibvirtMigrateCommandWrapper extends CommandWrapper dpdkPortsMapping = command.getDpdkInterfaceMapping(); + if (MapUtils.isNotEmpty(dpdkPortsMapping)) { + xmlDesc = replaceDpdkInterfaces(xmlDesc, dpdkPortsMapping); + } + dconn = libvirtUtilitiesHelper.retrieveQemuConnection(destinationUri); //run migration in thread so we can monitor it @@ -283,6 +289,76 @@ public final class LibvirtMigrateCommandWrapper extends CommandWrapper dpdkPortsMapping) throws TransformerException, ParserConfigurationException, IOException, SAXException { + InputStream in = IOUtils.toInputStream(xmlDesc); + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + Document doc = docBuilder.parse(in); + + // Get the root element + Node domainNode = doc.getFirstChild(); + + NodeList domainChildNodes = domainNode.getChildNodes(); + + for (int i = 0; i < domainChildNodes.getLength(); i++) { + Node domainChildNode = domainChildNodes.item(i); + + if ("devices".equals(domainChildNode.getNodeName())) { + NodeList devicesChildNodes = domainChildNode.getChildNodes(); + + for (int x = 0; x < devicesChildNodes.getLength(); x++) { + Node deviceChildNode = devicesChildNodes.item(x); + + if ("interface".equals(deviceChildNode.getNodeName())) { + Node interfaceNode = deviceChildNode; + NamedNodeMap attributes = interfaceNode.getAttributes(); + Node interfaceTypeAttr = attributes.getNamedItem("type"); + + if ("vhostuser".equals(interfaceTypeAttr.getNodeValue())) { + NodeList diskChildNodes = interfaceNode.getChildNodes(); + + String mac = null; + for (int y = 0; y < diskChildNodes.getLength(); y++) { + Node diskChildNode = diskChildNodes.item(y); + if (!"mac".equals(diskChildNode.getNodeName())) { + continue; + } + mac = diskChildNode.getAttributes().getNamedItem("address").getNodeValue(); + } + + if (StringUtils.isNotBlank(mac)) { + DpdkTO to = dpdkPortsMapping.get(mac); + + for (int z = 0; z < diskChildNodes.getLength(); z++) { + Node diskChildNode = diskChildNodes.item(z); + + if ("target".equals(diskChildNode.getNodeName())) { + Node targetNode = diskChildNode; + Node targetNodeAttr = targetNode.getAttributes().getNamedItem("dev"); + targetNodeAttr.setNodeValue(to.getPort()); + } else if ("source".equals(diskChildNode.getNodeName())) { + Node sourceNode = diskChildNode; + NamedNodeMap attrs = sourceNode.getAttributes(); + Node path = attrs.getNamedItem("path"); + path.setNodeValue(to.getPath() + "/" + to.getPort()); + Node mode = attrs.getNamedItem("mode"); + mode.setNodeValue(to.getMode()); + } + } + } + } + } + } + } + } + + return getXml(doc); + } + /** * In case of a local file, it deletes the file on the source host/storage pool. Otherwise (for instance iScsi) it disconnects the disk on the source storage pool.
* This method must be executed after a successful migration to a target storage pool, cleaning up the source storage. diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPrepareForMigrationCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPrepareForMigrationCommandWrapper.java index 5c9980be86d..f3f50aa61f0 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPrepareForMigrationCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPrepareForMigrationCommandWrapper.java @@ -22,20 +22,28 @@ package com.cloud.hypervisor.kvm.resource.wrapper; import com.cloud.agent.api.Answer; import com.cloud.agent.api.PrepareForMigrationAnswer; import com.cloud.agent.api.PrepareForMigrationCommand; +import com.cloud.agent.api.to.DpdkTO; import com.cloud.agent.api.to.DiskTO; import com.cloud.agent.api.to.NicTO; import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.exception.InternalErrorException; import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource; +import com.cloud.hypervisor.kvm.resource.LibvirtVMDef; +import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef.GuestNetType; import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager; import com.cloud.resource.CommandWrapper; import com.cloud.resource.ResourceWrapper; import com.cloud.storage.Volume; +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +import org.apache.commons.collections.MapUtils; import org.apache.log4j.Logger; import org.libvirt.Connect; import org.libvirt.LibvirtException; import java.net.URISyntaxException; +import java.util.HashMap; +import java.util.Map; @ResourceWrapper(handles = PrepareForMigrationCommand.class) public final class LibvirtPrepareForMigrationCommandWrapper extends CommandWrapper { @@ -56,6 +64,8 @@ public final class LibvirtPrepareForMigrationCommandWrapper extends CommandWrapp final NicTO[] nics = vm.getNics(); + Map dpdkInterfaceMapping = new HashMap<>(); + boolean skipDisconnect = false; final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr(); @@ -63,8 +73,13 @@ public final class LibvirtPrepareForMigrationCommandWrapper extends CommandWrapp final LibvirtUtilitiesHelper libvirtUtilitiesHelper = libvirtComputingResource.getLibvirtUtilitiesHelper(); final Connect conn = libvirtUtilitiesHelper.getConnectionByVmName(vm.getName()); + for (final NicTO nic : nics) { - libvirtComputingResource.getVifDriver(nic.getType(), nic.getName()).plug(nic, null, "", null); + LibvirtVMDef.InterfaceDef interfaceDef = libvirtComputingResource.getVifDriver(nic.getType(), nic.getName()).plug(nic, null, "", vm.getExtraConfig()); + if (interfaceDef != null && interfaceDef.getNetType() == GuestNetType.VHOSTUSER) { + DpdkTO to = new DpdkTO(interfaceDef.getDpdkOvsPath(), interfaceDef.getDpdkSourcePort(), interfaceDef.getInterfaceMode()); + dpdkInterfaceMapping.put(nic.getMac(), to); + } } /* setup disks, e.g for iso */ @@ -81,12 +96,19 @@ public final class LibvirtPrepareForMigrationCommandWrapper extends CommandWrapp return new PrepareForMigrationAnswer(command, "failed to connect physical disks to host"); } - return new PrepareForMigrationAnswer(command); - } catch (final LibvirtException e) { - return new PrepareForMigrationAnswer(command, e.toString()); - } catch (final InternalErrorException e) { - return new PrepareForMigrationAnswer(command, e.toString()); - } catch (final URISyntaxException e) { + PrepareForMigrationAnswer answer = new PrepareForMigrationAnswer(command); + if (MapUtils.isNotEmpty(dpdkInterfaceMapping)) { + answer.setDpdkInterfaceMapping(dpdkInterfaceMapping); + } + return answer; + } catch (final LibvirtException | CloudRuntimeException | InternalErrorException | URISyntaxException e) { + if (MapUtils.isNotEmpty(dpdkInterfaceMapping)) { + for (DpdkTO to : dpdkInterfaceMapping.values()) { + String cmd = String.format("ovs-vsctl del-port %s", to.getPort()); + s_logger.debug("Removing DPDK port: " + to.getPort()); + Script.runSimpleBashScript(cmd); + } + } return new PrepareForMigrationAnswer(command, e.toString()); } finally { if (!skipDisconnect) { diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java index f3839f0fc76..9c97bd4770f 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java @@ -69,7 +69,6 @@ public final class LibvirtStartCommandWrapper extends CommandWrapper dpdkInterfaceMapping = command.getDpdkInterfaceMapping(); + if (MapUtils.isNotEmpty(dpdkInterfaceMapping)) { + for (DpdkTO to : dpdkInterfaceMapping.values()) { + String portToRemove = to.getPort(); + String cmd = String.format("ovs-vsctl del-port %s", portToRemove); + s_logger.debug("Removing DPDK port: " + portToRemove); + Script.runSimpleBashScript(cmd); + } + } + } else { + for (final InterfaceDef iface : ifaces) { + // We don't know which "traffic type" is associated with + // each interface at this point, so inform all vif drivers + for (final VifDriver vifDriver : libvirtComputingResource.getAllVifDrivers()) { + vifDriver.unplug(iface); + } } } } diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriverTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverTest.java similarity index 66% rename from plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriverTest.java rename to plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverTest.java index a2a62fe3b7a..3bf1a6af742 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/DPDKDriverTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverTest.java @@ -35,11 +35,11 @@ import java.util.Map; @PrepareForTest({ Script.class }) @RunWith(PowerMockRunner.class) -public class DPDKDriverTest { +public class DpdkDriverTest { private static final int dpdkPortNumber = 7; - private DPDKDriver driver = new DPDKDriverImpl(); + private DpdkDriver driver = new DpdkDriverImpl(); private Map extraConfig; @@ -59,7 +59,7 @@ public class DPDKDriverTest { @Test public void testGetDpdkLatestPortNumberUsedExistingDpdkPorts() { Mockito.when(Script.runSimpleBashScript(Matchers.anyString())). - thenReturn(DPDKDriverImpl.DPDK_PORT_PREFIX + String.valueOf(dpdkPortNumber)); + thenReturn(DpdkDriverImpl.DPDK_PORT_PREFIX + String.valueOf(dpdkPortNumber)); Assert.assertEquals(dpdkPortNumber, driver.getDpdkLatestPortNumberUsed()); } @@ -67,47 +67,47 @@ public class DPDKDriverTest { public void testGetNextDpdkPortNoDpdkPorts() { Mockito.when(Script.runSimpleBashScript(Matchers.anyString())). thenReturn(null); - String expectedPortName = DPDKDriverImpl.DPDK_PORT_PREFIX + String.valueOf(1); + String expectedPortName = DpdkDriverImpl.DPDK_PORT_PREFIX + String.valueOf(1); Assert.assertEquals(expectedPortName, driver.getNextDpdkPort()); } @Test public void testGetNextDpdkPortExistingDpdkPorts() { Mockito.when(Script.runSimpleBashScript(Matchers.anyString())). - thenReturn(DPDKDriverImpl.DPDK_PORT_PREFIX + String.valueOf(dpdkPortNumber)); - String expectedPortName = DPDKDriverImpl.DPDK_PORT_PREFIX + String.valueOf(dpdkPortNumber + 1); + thenReturn(DpdkDriverImpl.DPDK_PORT_PREFIX + String.valueOf(dpdkPortNumber)); + String expectedPortName = DpdkDriverImpl.DPDK_PORT_PREFIX + String.valueOf(dpdkPortNumber + 1); Assert.assertEquals(expectedPortName, driver.getNextDpdkPort()); } @Test - public void testGetGuestInterfacesModeFromDPDKVhostUserModeClientDPDK() { - String guestMode = driver.getGuestInterfacesModeFromDPDKVhostUserMode(DPDKHelper.VHostUserMode.CLIENT); + public void testGetGuestInterfacesModeFromDpdkVhostUserModeClientDpdk() { + String guestMode = driver.getGuestInterfacesModeFromDpdkVhostUserMode(DpdkHelper.VHostUserMode.CLIENT); Assert.assertEquals("server", guestMode); } @Test - public void testGetGuestInterfacesModeFromDPDKVhostUserModeServerDPDK() { - String guestMode = driver.getGuestInterfacesModeFromDPDKVhostUserMode(DPDKHelper.VHostUserMode.SERVER); + public void testGetGuestInterfacesModeFromDpdkVhostUserModeServerDpdk() { + String guestMode = driver.getGuestInterfacesModeFromDpdkVhostUserMode(DpdkHelper.VHostUserMode.SERVER); Assert.assertEquals("client", guestMode); } @Test - public void testGetDPDKvHostUserModeServerExtraConfig() { - extraConfig.put(DPDKHelper.DPDK_VHOST_USER_MODE, DPDKHelper.VHostUserMode.SERVER.toString()); - DPDKHelper.VHostUserMode dpdKvHostUserMode = driver.getDPDKvHostUserMode(extraConfig); - Assert.assertEquals(DPDKHelper.VHostUserMode.SERVER, dpdKvHostUserMode); + public void testGetDpdkvHostUserModeServerExtraConfig() { + extraConfig.put(DpdkHelper.DPDK_VHOST_USER_MODE, DpdkHelper.VHostUserMode.SERVER.toString()); + DpdkHelper.VHostUserMode dpdKvHostUserMode = driver.getDpdkvHostUserMode(extraConfig); + Assert.assertEquals(DpdkHelper.VHostUserMode.SERVER, dpdKvHostUserMode); } @Test - public void testGetDPDKvHostUserModeServerClientExtraConfig() { - extraConfig.put(DPDKHelper.DPDK_VHOST_USER_MODE, DPDKHelper.VHostUserMode.CLIENT.toString()); - DPDKHelper.VHostUserMode dpdKvHostUserMode = driver.getDPDKvHostUserMode(extraConfig); - Assert.assertEquals(DPDKHelper.VHostUserMode.CLIENT, dpdKvHostUserMode); + public void testGetDpdkvHostUserModeServerClientExtraConfig() { + extraConfig.put(DpdkHelper.DPDK_VHOST_USER_MODE, DpdkHelper.VHostUserMode.CLIENT.toString()); + DpdkHelper.VHostUserMode dpdKvHostUserMode = driver.getDpdkvHostUserMode(extraConfig); + Assert.assertEquals(DpdkHelper.VHostUserMode.CLIENT, dpdKvHostUserMode); } @Test - public void testGetDPDKvHostUserModeServerEmptyExtraConfig() { - DPDKHelper.VHostUserMode dpdKvHostUserMode = driver.getDPDKvHostUserMode(extraConfig); - Assert.assertEquals(DPDKHelper.VHostUserMode.SERVER, dpdKvHostUserMode); + public void testGetDpdkvHostUserModeServerEmptyExtraConfig() { + DpdkHelper.VHostUserMode dpdKvHostUserMode = driver.getDpdkvHostUserMode(extraConfig); + Assert.assertEquals(DpdkHelper.VHostUserMode.SERVER, dpdKvHostUserMode); } } \ No newline at end of file diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapperTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapperTest.java index 5289481b66d..086808dbba1 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapperTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapperTest.java @@ -37,6 +37,7 @@ import javax.xml.transform.TransformerException; import org.junit.Assert; import org.junit.Before; +import com.cloud.agent.api.to.DpdkTO; import org.junit.Test; import org.junit.runner.RunWith; import org.libvirt.Connect; @@ -302,6 +303,146 @@ public class LibvirtMigrateCommandWrapperTest { " \n" + ""; + private String sourceDPDKVMToMigrate = + "\n" + + " i-2-33-VM\n" + + " 14c5c052-46cb-4301-a00a-28f6cc1dc605\n" + + " Other PV (64-bit)\n" + + " 9437184\n" + + " 9437184\n" + + " \n" + + " \n" + + " \n" + + " 2\n" + + " \n" + + " 4000\n" + + " \n" + + " \n" + + " /machine\n" + + " \n" + + " \n" + + " \n" + + " Apache Software Foundation\n" + + " CloudStack KVM Hypervisor\n" + + " 14c5c052-46cb-4301-a00a-28f6cc1dc605\n" + + " \n" + + " \n" + + " \n" + + " hvm\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " destroy\n" + + " restart\n" + + " destroy\n" + + " \n" + + " /usr/libexec/qemu-kvm\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " afb1d2e401fe4694940b\n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "