Skip to content

Commit 5348655

Browse files
committed
simulator: allow adding hosts with arch
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent cca3619 commit 5348655

7 files changed

Lines changed: 24 additions & 0 deletions

File tree

plugins/hypervisors/simulator/src/main/java/com/cloud/agent/manager/MockAgentManager.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public interface MockAgentManager extends Manager {
3939
public static final long DEFAULT_HOST_MEM_SIZE = 8 * 1024 * 1024 * 1024L; // 8G, unit of Mbytes
4040
public static final int DEFAULT_HOST_CPU_CORES = 4; // 2 dual core CPUs (2 x 2)
4141
public static final int DEFAULT_HOST_SPEED_MHZ = 8000; // 1 GHz CPUs
42+
public static final String DEFAULT_HOST_ARCH = "x86_64";
4243

4344
@Override
4445
boolean configure(String name, Map<String, Object> params) throws ConfigurationException;

plugins/hypervisors/simulator/src/main/java/com/cloud/agent/manager/MockAgentManagerImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ public Map<AgentResourceBase, Map<String, String>> createServerResources(Map<Str
153153
long cpuSpeed = Long.parseLong((String)params.get("cpuspeed"));
154154
long memory = Long.parseLong((String)params.get("memory"));
155155
long localStorageSize = Long.parseLong((String)params.get("localstorage"));
156+
String arch = (String)params.get("arch");
156157
synchronized (this) {
157158
long dataCenterId = Long.parseLong((String)params.get("zone"));
158159
long podId = Long.parseLong((String)params.get("pod"));
@@ -170,6 +171,7 @@ public Map<AgentResourceBase, Map<String, String>> createServerResources(Map<Str
170171
mockHost.setCpuCount(cpuCore);
171172
mockHost.setCpuSpeed(cpuSpeed);
172173
mockHost.setMemorySize(memory);
174+
mockHost.setArch(arch);
173175
String guid = UUID.randomUUID().toString();
174176
mockHost.setGuid(guid);
175177
mockHost.setName("SimulatedAgent." + guid);

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ public StartupCommand[] initialize() {
177177
StartupRoutingCommand cmd =
178178
new StartupRoutingCommand((Integer)info.get(0), (Long)info.get(1), (Long)info.get(2), (Long)info.get(4), (String)info.get(3), HypervisorType.Simulator,
179179
RouterPrivateIpStrategy.HostLocal);
180+
cmd.setCpuArch((String)info.get(5));
180181

181182
Map<String, String> hostDetails = new HashMap<String, String>();
182183
hostDetails.put(RouterPrivateIpStrategy.class.getCanonicalName(), RouterPrivateIpStrategy.DcGlobal.toString());
@@ -274,12 +275,14 @@ protected List<Object> getHostInfo() {
274275
long cpus = agentHost.getCpuCount();
275276
long ram = agentHost.getMemorySize();
276277
long dom0Ram = agentHost.getMemorySize() / 10;
278+
String arch = agentHost.getArch();
277279

278280
info.add((int)cpus);
279281
info.add(speed);
280282
info.add(ram);
281283
info.add(agentHost.getCapabilities());
282284
info.add(dom0Ram);
285+
info.add(arch);
283286

284287
return info;
285288
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, L
8787
long cpuCores = MockAgentManager.DEFAULT_HOST_CPU_CORES;
8888
long memory = MockAgentManager.DEFAULT_HOST_MEM_SIZE;
8989
long localstorageSize = MockStorageManager.DEFAULT_HOST_STORAGE_SIZE;
90+
String arch = MockAgentManager.DEFAULT_HOST_ARCH;
9091
if (scheme.equals("http")) {
9192
if (host == null || !host.startsWith("sim")) {
9293
String msg = "uri is not of simulator type so we're not taking care of the discovery for this: " + uri;
@@ -111,6 +112,8 @@ public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, L
111112
memory = Long.parseLong(parameter[1]);
112113
} else if (parameter[0].equalsIgnoreCase("localstorage") && parameter[1] != null) {
113114
localstorageSize = Long.parseLong(parameter[1]);
115+
} else if (parameter[0].equalsIgnoreCase("arch") && parameter[1] != null) {
116+
arch = parameter[1];
114117
}
115118
}
116119
}
@@ -168,6 +171,7 @@ public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, L
168171
params.put("cpucore", Long.toString(cpuCores));
169172
params.put("memory", Long.toString(memory));
170173
params.put("localstorage", Long.toString(localstorageSize));
174+
params.put("arch", arch);
171175

172176
resources = createAgentResources(params);
173177
return resources;

plugins/hypervisors/simulator/src/main/java/com/cloud/simulator/MockHost.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ public interface MockHost {
2323

2424
public long getMemorySize();
2525

26+
String getArch();
27+
2628
public String getCapabilities();
2729

2830
public long getId();

plugins/hypervisors/simulator/src/main/java/com/cloud/simulator/MockHostVO.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ public class MockHostVO implements MockHost, InternalIdentity {
8787
@Column(name = "ram")
8888
private long memorySize;
8989

90+
@Column(name = "arch")
91+
private String arch;
92+
9093
@Column(name = "capabilities")
9194
private String capabilities;
9295

@@ -143,6 +146,14 @@ public void setMemorySize(long memorySize) {
143146
this.memorySize = memorySize;
144147
}
145148

149+
public String getArch() {
150+
return arch;
151+
}
152+
153+
public void setArch(String arch) {
154+
this.arch = arch;
155+
}
156+
146157
@Override
147158
public String getCapabilities() {
148159
return this.capabilities;

setup/db/create-schema-simulator.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ CREATE TABLE `simulator`.`mockhost` (
4343
`cpus` int(10) unsigned,
4444
`speed` int(10) unsigned,
4545
`ram` bigint unsigned,
46+
`arch` varchar(8) DEFAULT "x86_64" COMMENT "the CPU architecture of the host",
4647
`capabilities` varchar(255) COMMENT 'host capabilities in comma separated list',
4748
`vm_id` bigint unsigned,
4849
`resource` varchar(255) DEFAULT NULL COMMENT 'If it is a local resource, this is the class name',

0 commit comments

Comments
 (0)