Skip to content

Commit 6a5b9b6

Browse files
committed
Address comments
1 parent ca0a3fe commit 6a5b9b6

File tree

3 files changed

+21
-24
lines changed

3 files changed

+21
-24
lines changed

plugins/hypervisors/simulator/src/main/java/com/cloud/resource/SimulatorDiscoverer.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
import java.net.URLDecoder;
2121
import java.util.Date;
2222
import java.util.HashMap;
23+
import java.util.HashSet;
2324
import java.util.List;
2425
import java.util.Map;
26+
import java.util.Set;
2527
import java.util.UUID;
2628

2729
import javax.inject.Inject;
@@ -50,6 +52,7 @@
5052
import com.cloud.storage.VMTemplateZoneVO;
5153
import com.cloud.storage.dao.VMTemplateDao;
5254
import com.cloud.storage.dao.VMTemplateZoneDao;
55+
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
5356

5457
public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, Listener, ResourceStateAdapter {
5558

@@ -64,6 +67,8 @@ public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, L
6467
@Inject
6568
MockAgentManager _mockAgentMgr = null;
6669
@Inject
70+
TemplateService templateService;
71+
@Inject
6772
MockStorageManager _mockStorageMgr = null;
6873

6974
/**
@@ -194,21 +199,12 @@ private Map<AgentResourceBase, Map<String, String>> createAgentResources(Map<Str
194199
@Override
195200
public void postDiscovery(List<HostVO> hosts, long msId) {
196201

202+
Set<Long> dcIds = new HashSet<>();
197203
for (HostVO h : hosts) {
198-
associateTemplatesToZone(h.getId(), h.getDataCenterId());
204+
dcIds.add(h.getDataCenterId());
199205
}
200-
}
201-
202-
private void associateTemplatesToZone(long hostId, long dcId) {
203-
VMTemplateZoneVO tmpltZone;
204-
205-
List<VMTemplateVO> crossZoneTemplates = _vmTemplateDao.listAllCrossZoneTemplates();
206-
for (VMTemplateVO vt : crossZoneTemplates) {
207-
tmpltZone = _vmTemplateZoneDao.findByZoneTemplate(dcId, vt.getId());
208-
if (tmpltZone == null) {
209-
VMTemplateZoneVO vmTemplateZone = new VMTemplateZoneVO(dcId, vt.getId(), new Date());
210-
_vmTemplateZoneDao.persist(vmTemplateZone);
211-
}
206+
for (Long dcId : dcIds) {
207+
templateService.associateCrossZoneTemplatesToZone(dcId);
212208
}
213209
}
214210

server/src/main/java/com/cloud/storage/StorageManagerImpl.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4244,15 +4244,8 @@ private void associateCrosszoneTemplatesToZone(Long zoneId) {
42444244
}
42454245
}
42464246

4247-
List<VMTemplateVO> crossZoneTemplates = _vmTemplateDao.listAllCrossZoneTemplates();
4248-
for (VMTemplateVO vt : crossZoneTemplates) {
4249-
for (Long dcId : dcIds) {
4250-
tmpltZone = _vmTemplateZoneDao.findByZoneTemplate(dcId, vt.getId());
4251-
if (tmpltZone == null) {
4252-
VMTemplateZoneVO vmTemplateZone = new VMTemplateZoneVO(dcId, vt.getId(), new Date());
4253-
_vmTemplateZoneDao.persist(vmTemplateZone);
4254-
}
4255-
}
4247+
for (Long dcId : dcIds) {
4248+
_imageSrv.associateCrossZoneTemplatesToZone(dcId);
42564249
}
42574250
}
42584251

services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/SecondaryStorageDiscoverer.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import java.net.URI;
2323
import java.util.Date;
2424
import java.util.HashMap;
25+
import java.util.HashSet;
2526
import java.util.List;
2627
import java.util.Map;
2728
import java.util.Random;
29+
import java.util.Set;
2830

2931
import javax.inject.Inject;
3032
import javax.naming.ConfigurationException;
@@ -45,6 +47,7 @@
4547
import com.cloud.utils.component.ComponentContext;
4648
import com.cloud.utils.net.NfsUtils;
4749
import com.cloud.utils.script.Script;
50+
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
4851

4952
/**
5053
* SecondaryStorageDiscoverer is used to discover secondary
@@ -65,6 +68,8 @@ public class SecondaryStorageDiscoverer extends DiscovererBase implements Discov
6568
@Inject
6669
protected VMTemplateDao _vmTemplateDao = null;
6770
@Inject
71+
protected TemplateService templateService;
72+
@Inject
6873
protected AgentManager _agentMgr = null;
6974

7075
protected SecondaryStorageDiscoverer() {
@@ -285,10 +290,13 @@ public void postDiscovery(List<HostVO> hosts, long msId) {
285290
_agentMgr.agentStatusTransitTo(h, Event.AgentDisconnected, msId);
286291
}
287292
}
293+
Set<Long> dcIds = new HashSet<>();
288294
for (HostVO h : hosts) {
289-
associateTemplatesToZone(h.getId(), h.getDataCenterId());
295+
dcIds.add(h.getDataCenterId());
296+
}
297+
for (Long dcId : dcIds) {
298+
templateService.associateCrossZoneTemplatesToZone(dcId);
290299
}
291-
292300
}
293301

294302
private void associateTemplatesToZone(long hostId, long dcId) {

0 commit comments

Comments
 (0)