diff --git a/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java b/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java index a6598082004..2f59c6fb49f 100755 --- a/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java @@ -237,11 +237,15 @@ public String call(HostUsedCpuMem arg) { } }); - hostUuids.stream().filter(huuid -> !hostHasVms.contains(huuid)).forEach(huuid -> { + for (String huuid : hostUuids) { + if (hostHasVms.contains(huuid)) { + continue; + } + HostUsedCpuMem s = new HostUsedCpuMem(); s.hostUuid = huuid; hostUsedCpuMemList.add(s); - }); + } for (final HostUsedCpuMem s : hostUsedCpuMemList) { new HostCapacityUpdater(s.hostUuid).run(new HostCapacityUpdaterRunnable() { diff --git a/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostFlow.java b/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostFlow.java index ee542fe36ee..3059e9dfc19 100755 --- a/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostFlow.java +++ b/compute/src/main/java/org/zstack/compute/vm/VmAllocateHostFlow.java @@ -21,6 +21,7 @@ import org.zstack.header.host.HostVO; import org.zstack.header.image.ImageConstant.ImageMediaType; import org.zstack.header.image.ImageInventory; +import org.zstack.header.message.APIMessage; import org.zstack.header.message.MessageReply; import org.zstack.header.network.l3.L3NetworkInventory; import org.zstack.header.storage.primary.PrimaryStorageClusterRefVO; @@ -95,6 +96,9 @@ public String call(L3NetworkInventory arg) { })); msg.setImage(image); msg.setVmOperation(spec.getCurrentVmOperation().toString()); + if (spec.getMessage() instanceof APIMessage && ((APIMessage) spec.getMessage()).getSystemTags() != null) { + msg.setSystemTags(new ArrayList<>(((APIMessage) spec.getMessage()).getSystemTags())); + } if (spec.getVmInventory().getZoneUuid() != null) { msg.setZoneUuid(spec.getVmInventory().getZoneUuid()); diff --git a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java index 5ad18e49c9f..16ff667f21d 100755 --- a/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java +++ b/plugin/kvm/src/main/java/org/zstack/kvm/KVMHostCapacityExtension.java @@ -16,6 +16,7 @@ import org.zstack.resourceconfig.ResourceConfigFacade; import java.util.Map; +import java.util.concurrent.TimeUnit; public class KVMHostCapacityExtension implements KVMHostConnectExtensionPoint, HostConnectionReestablishExtensionPoint { @@ -31,6 +32,7 @@ public class KVMHostCapacityExtension implements KVMHostConnectExtensionPoint, H public void reportCapacity(HostInventory host, Completion completion) { CheckHostCapacityMsg msg = new CheckHostCapacityMsg(); msg.setHostUuid(host.getUuid()); + msg.setTimeout(TimeUnit.MINUTES.toMillis(30)); bus.makeTargetServiceIdByResourceUuid(msg, HostConstant.SERVICE_ID, host.getUuid()); bus.send(msg, new CloudBusCallBack(completion) { @Override