Skip to content

Commit f0b7336

Browse files
committed
Address comments
1 parent ca0a3fe commit f0b7336

File tree

3 files changed

+20
-44
lines changed

3 files changed

+20
-44
lines changed

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

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818

1919
import java.net.URI;
2020
import java.net.URLDecoder;
21-
import java.util.Date;
2221
import java.util.HashMap;
22+
import java.util.HashSet;
2323
import java.util.List;
2424
import java.util.Map;
25+
import java.util.Set;
2526
import java.util.UUID;
2627

2728
import javax.inject.Inject;
@@ -46,10 +47,9 @@
4647
import com.cloud.host.Status;
4748
import com.cloud.host.dao.HostDao;
4849
import com.cloud.hypervisor.Hypervisor.HypervisorType;
49-
import com.cloud.storage.VMTemplateVO;
50-
import com.cloud.storage.VMTemplateZoneVO;
5150
import com.cloud.storage.dao.VMTemplateDao;
5251
import com.cloud.storage.dao.VMTemplateZoneDao;
52+
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
5353

5454
public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, Listener, ResourceStateAdapter {
5555

@@ -64,6 +64,8 @@ public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, L
6464
@Inject
6565
MockAgentManager _mockAgentMgr = null;
6666
@Inject
67+
TemplateService templateService;
68+
@Inject
6769
MockStorageManager _mockStorageMgr = null;
6870

6971
/**
@@ -194,21 +196,12 @@ private Map<AgentResourceBase, Map<String, String>> createAgentResources(Map<Str
194196
@Override
195197
public void postDiscovery(List<HostVO> hosts, long msId) {
196198

199+
Set<Long> dcIds = new HashSet<>();
197200
for (HostVO h : hosts) {
198-
associateTemplatesToZone(h.getId(), h.getDataCenterId());
201+
dcIds.add(h.getDataCenterId());
199202
}
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-
}
203+
for (Long dcId : dcIds) {
204+
templateService.associateCrossZoneTemplatesToZone(dcId);
212205
}
213206
}
214207

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

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4230,8 +4230,6 @@ private void duplicateCacheStoreRecordsToRegionStore(long storeId) {
42304230
}
42314231

42324232
private void associateCrosszoneTemplatesToZone(Long zoneId) {
4233-
VMTemplateZoneVO tmpltZone;
4234-
42354233
List<Long> dcIds = new ArrayList<>();
42364234
if (zoneId != null) {
42374235
dcIds.add(zoneId);
@@ -4244,15 +4242,8 @@ private void associateCrosszoneTemplatesToZone(Long zoneId) {
42444242
}
42454243
}
42464244

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-
}
4245+
for (Long dcId : dcIds) {
4246+
_imageSrv.associateCrossZoneTemplatesToZone(dcId);
42564247
}
42574248
}
42584249

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

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@
2020
import java.lang.reflect.Constructor;
2121
import java.lang.reflect.InvocationTargetException;
2222
import java.net.URI;
23-
import java.util.Date;
2423
import java.util.HashMap;
24+
import java.util.HashSet;
2525
import java.util.List;
2626
import java.util.Map;
2727
import java.util.Random;
28+
import java.util.Set;
2829

2930
import javax.inject.Inject;
3031
import javax.naming.ConfigurationException;
@@ -37,14 +38,13 @@
3738
import com.cloud.resource.Discoverer;
3839
import com.cloud.resource.DiscovererBase;
3940
import com.cloud.resource.ServerResource;
40-
import com.cloud.storage.VMTemplateVO;
41-
import com.cloud.storage.VMTemplateZoneVO;
4241
import com.cloud.storage.dao.VMTemplateDao;
4342
import com.cloud.storage.dao.VMTemplateZoneDao;
4443
import com.cloud.storage.resource.DummySecondaryStorageResource;
4544
import com.cloud.utils.component.ComponentContext;
4645
import com.cloud.utils.net.NfsUtils;
4746
import com.cloud.utils.script.Script;
47+
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
4848

4949
/**
5050
* SecondaryStorageDiscoverer is used to discover secondary
@@ -65,6 +65,8 @@ public class SecondaryStorageDiscoverer extends DiscovererBase implements Discov
6565
@Inject
6666
protected VMTemplateDao _vmTemplateDao = null;
6767
@Inject
68+
protected TemplateService templateService;
69+
@Inject
6870
protected AgentManager _agentMgr = null;
6971

7072
protected SecondaryStorageDiscoverer() {
@@ -285,22 +287,12 @@ public void postDiscovery(List<HostVO> hosts, long msId) {
285287
_agentMgr.agentStatusTransitTo(h, Event.AgentDisconnected, msId);
286288
}
287289
}
290+
Set<Long> dcIds = new HashSet<>();
288291
for (HostVO h : hosts) {
289-
associateTemplatesToZone(h.getId(), h.getDataCenterId());
292+
dcIds.add(h.getDataCenterId());
290293
}
291-
292-
}
293-
294-
private void associateTemplatesToZone(long hostId, long dcId) {
295-
VMTemplateZoneVO tmpltZone;
296-
297-
List<VMTemplateVO> crossZoneTemplates = _vmTemplateDao.listAllCrossZoneTemplates();
298-
for (VMTemplateVO vt : crossZoneTemplates) {
299-
tmpltZone = _vmTemplateZoneDao.findByZoneTemplate(dcId, vt.getId());
300-
if (tmpltZone == null) {
301-
VMTemplateZoneVO vmTemplateZone = new VMTemplateZoneVO(dcId, vt.getId(), new Date());
302-
_vmTemplateZoneDao.persist(vmTemplateZone);
303-
}
294+
for (Long dcId : dcIds) {
295+
templateService.associateCrossZoneTemplatesToZone(dcId);
304296
}
305297
}
306298
}

0 commit comments

Comments
 (0)