Skip to content

Commit e31eb4f

Browse files
authored
Merge branch 'main' into fix-vol-offering-update
2 parents 7ccc94c + 8c86f24 commit e31eb4f

File tree

189 files changed

+783
-240
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+783
-240
lines changed

agent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.apache.cloudstack</groupId>
2626
<artifactId>cloudstack</artifactId>
27-
<version>4.22.0.0-SNAPSHOT</version>
27+
<version>4.23.0.0-SNAPSHOT</version>
2828
</parent>
2929
<dependencies>
3030
<dependency>

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.apache.cloudstack</groupId>
2626
<artifactId>cloudstack</artifactId>
27-
<version>4.22.0.0-SNAPSHOT</version>
27+
<version>4.23.0.0-SNAPSHOT</version>
2828
</parent>
2929
<dependencies>
3030
<dependency>
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
package com.cloud.agent.api.to;
18+
19+
import java.util.ArrayList;
20+
import java.util.HashMap;
21+
import java.util.List;
22+
import java.util.Map;
23+
24+
public class VirtualMachineMetadataTO {
25+
// VM details
26+
private final String name;
27+
private final String internalName;
28+
private final String displayName;
29+
private final String instanceUuid;
30+
private final Integer cpuCores;
31+
private final Integer memory;
32+
private final Long created;
33+
private final Long started;
34+
35+
// Owner details
36+
private final String ownerDomainUuid;
37+
private final String ownerDomainName;
38+
private final String ownerAccountUuid;
39+
private final String ownerAccountName;
40+
private final String ownerProjectUuid;
41+
private final String ownerProjectName;
42+
43+
// Host and service offering
44+
private final String serviceOfferingName;
45+
private final List<String> serviceOfferingHostTags;
46+
47+
// zone, pod, and cluster details
48+
private final String zoneName;
49+
private final String zoneUuid;
50+
private final String podName;
51+
private final String podUuid;
52+
private final String clusterName;
53+
private final String clusterUuid;
54+
55+
// resource tags
56+
private final Map<String, String> resourceTags;
57+
58+
public VirtualMachineMetadataTO(
59+
String name, String internalName, String displayName, String instanceUuid, Integer cpuCores, Integer memory, Long created, Long started,
60+
String ownerDomainUuid, String ownerDomainName, String ownerAccountUuid, String ownerAccountName, String ownerProjectUuid, String ownerProjectName,
61+
String serviceOfferingName, List<String> serviceOfferingHostTags,
62+
String zoneName, String zoneUuid, String podName, String podUuid, String clusterName, String clusterUuid, Map<String, String> resourceTags) {
63+
/*
64+
* Something failed in the metadata shall not be a fatal error, the VM can still be started
65+
* Thus, the unknown fields just get an explicit "unknown" value so it can be fixed in case
66+
* there are bugs on some execution paths.
67+
* */
68+
69+
this.name = (name != null) ? name : "unknown";
70+
this.internalName = (internalName != null) ? internalName : "unknown";
71+
this.displayName = (displayName != null) ? displayName : "unknown";
72+
this.instanceUuid = (instanceUuid != null) ? instanceUuid : "unknown";
73+
this.cpuCores = (cpuCores != null) ? cpuCores : -1;
74+
this.memory = (memory != null) ? memory : -1;
75+
this.created = (created != null) ? created : 0;
76+
this.started = (started != null) ? started : 0;
77+
this.ownerDomainUuid = (ownerDomainUuid != null) ? ownerDomainUuid : "unknown";
78+
this.ownerDomainName = (ownerDomainName != null) ? ownerDomainName : "unknown";
79+
this.ownerAccountUuid = (ownerAccountUuid != null) ? ownerAccountUuid : "unknown";
80+
this.ownerAccountName = (ownerAccountName != null) ? ownerAccountName : "unknown";
81+
this.ownerProjectUuid = (ownerProjectUuid != null) ? ownerProjectUuid : "unknown";
82+
this.ownerProjectName = (ownerProjectName != null) ? ownerProjectName : "unknown";
83+
this.serviceOfferingName = (serviceOfferingName != null) ? serviceOfferingName : "unknown";
84+
this.serviceOfferingHostTags = (serviceOfferingHostTags != null) ? serviceOfferingHostTags : new ArrayList<>();
85+
this.zoneName = (zoneName != null) ? zoneName : "unknown";
86+
this.zoneUuid = (zoneUuid != null) ? zoneUuid : "unknown";
87+
this.podName = (podName != null) ? podName : "unknown";
88+
this.podUuid = (podUuid != null) ? podUuid : "unknown";
89+
this.clusterName = (clusterName != null) ? clusterName : "unknown";
90+
this.clusterUuid = (clusterUuid != null) ? clusterUuid : "unknown";
91+
92+
this.resourceTags = (resourceTags != null) ? resourceTags : new HashMap<>();
93+
}
94+
95+
public String getName() {
96+
return name;
97+
}
98+
99+
public String getInternalName() {
100+
return internalName;
101+
}
102+
103+
public String getDisplayName() {
104+
return displayName;
105+
}
106+
107+
public String getInstanceUuid() {
108+
return instanceUuid;
109+
}
110+
111+
public Integer getCpuCores() {
112+
return cpuCores;
113+
}
114+
115+
public Integer getMemory() {
116+
return memory;
117+
}
118+
119+
public Long getCreated() { return created; }
120+
121+
public Long getStarted() {
122+
return started;
123+
}
124+
125+
public String getOwnerDomainUuid() {
126+
return ownerDomainUuid;
127+
}
128+
129+
public String getOwnerDomainName() {
130+
return ownerDomainName;
131+
}
132+
133+
public String getOwnerAccountUuid() {
134+
return ownerAccountUuid;
135+
}
136+
137+
public String getOwnerAccountName() {
138+
return ownerAccountName;
139+
}
140+
141+
public String getOwnerProjectUuid() {
142+
return ownerProjectUuid;
143+
}
144+
145+
public String getOwnerProjectName() {
146+
return ownerProjectName;
147+
}
148+
149+
public String getserviceOfferingName() {
150+
return serviceOfferingName;
151+
}
152+
153+
public List<String> getserviceOfferingHostTags() {
154+
return serviceOfferingHostTags;
155+
}
156+
157+
public String getZoneName() {
158+
return zoneName;
159+
}
160+
161+
public String getZoneUuid() {
162+
return zoneUuid;
163+
}
164+
165+
public String getPodName() {
166+
return podName;
167+
}
168+
169+
public String getPodUuid() {
170+
return podUuid;
171+
}
172+
173+
public String getClusterName() {
174+
return clusterName;
175+
}
176+
177+
public String getClusterUuid() {
178+
return clusterUuid;
179+
}
180+
181+
public Map<String, String> getResourceTags() { return resourceTags; }
182+
}

api/src/main/java/com/cloud/agent/api/to/VirtualMachineTO.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ public class VirtualMachineTO {
8989
private DeployAsIsInfoTO deployAsIsInfo;
9090
private String metadataManufacturer;
9191
private String metadataProductName;
92+
private VirtualMachineMetadataTO metadata;
9293

9394
public VirtualMachineTO(long id, String instanceName, VirtualMachine.Type type, int cpus, Integer speed, long minRam, long maxRam, BootloaderType bootloader,
9495
String os, boolean enableHA, boolean limitCpuUse, String vncPassword) {
@@ -494,6 +495,14 @@ public void setMetadataProductName(String metadataProductName) {
494495
this.metadataProductName = metadataProductName;
495496
}
496497

498+
public VirtualMachineMetadataTO getMetadata() {
499+
return metadata;
500+
}
501+
502+
public void setMetadata(VirtualMachineMetadataTO metadata) {
503+
this.metadata = metadata;
504+
}
505+
497506
@Override
498507
public String toString() {
499508
return String.format("VM {id: \"%s\", name: \"%s\", uuid: \"%s\", type: \"%s\"}", id, name, uuid, type);

api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ public void execute() {
153153
if (ObjectUtils.anyNotNull(name, capacityIops, capacityBytes, url, isTagARule, tags) ||
154154
MapUtils.isNotEmpty(details)) {
155155
result = _storageService.updateStoragePool(this);
156+
} else {
157+
result = _storageService.getStoragePool(getId());
156158
}
157159

158160
if (enabled != null) {

client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<parent>
2626
<groupId>org.apache.cloudstack</groupId>
2727
<artifactId>cloudstack</artifactId>
28-
<version>4.22.0.0-SNAPSHOT</version>
28+
<version>4.23.0.0-SNAPSHOT</version>
2929
</parent>
3030
<dependencies>
3131
<dependency>

core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.apache.cloudstack</groupId>
2626
<artifactId>cloudstack</artifactId>
27-
<version>4.22.0.0-SNAPSHOT</version>
27+
<version>4.23.0.0-SNAPSHOT</version>
2828
</parent>
2929
<dependencies>
3030
<dependency>

core/src/main/java/org/apache/cloudstack/backup/RestoreBackupCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public void setBackupVolumesUUIDs(List<String> backupVolumesUUIDs) {
149149
}
150150

151151
public Integer getMountTimeout() {
152-
return this.mountTimeout;
152+
return this.mountTimeout == null ? 0 : this.mountTimeout;
153153
}
154154

155155
public void setMountTimeout(Integer mountTimeout) {

debian/changelog

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
cloudstack (4.22.0.0-SNAPSHOT) unstable; urgency=low
1+
cloudstack (4.23.0.0-SNAPSHOT) unstable; urgency=low
22

3-
* Update the version to 4.22.0.0-SNAPSHOT
3+
* Update the version to 4.23.0.0-SNAPSHOT
4+
5+
-- the Apache CloudStack project <[email protected]> Thu, 30 Oct 2025 19:23:55 +0530
6+
7+
cloudstack (4.23.0.0-SNAPSHOT-SNAPSHOT) unstable; urgency=low
8+
9+
* Update the version to 4.23.0.0-SNAPSHOT-SNAPSHOT
410

511
-- the Apache CloudStack project <[email protected]> Thu, Aug 28 11:58:36 2025 +0530
612

developer/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<parent>
2626
<groupId>org.apache.cloudstack</groupId>
2727
<artifactId>cloudstack</artifactId>
28-
<version>4.22.0.0-SNAPSHOT</version>
28+
<version>4.23.0.0-SNAPSHOT</version>
2929
</parent>
3030
<dependencies>
3131
<dependency>

0 commit comments

Comments
 (0)