package org.zstack.test.deployer; import org.zstack.header.cluster.ClusterInventory; import org.zstack.header.host.HostInventory; import org.zstack.test.ApiSenderException; import org.zstack.test.deployer.schema.DeployerConfig; import org.zstack.test.deployer.schema.SimulatorHostConfig; import java.util.List; public class SimulatorHostDeployer implements HostDeployer<SimulatorHostConfig> { static { Deployer.registerDeployer(new SimulatorHostDeployer()); } @Override public Class<SimulatorHostConfig> getSupportedDeployerClassType() { return SimulatorHostConfig.class; } @Override public void deploy(List<SimulatorHostConfig> hosts, ClusterInventory cluster, DeployerConfig config, Deployer deployer) throws ApiSenderException { for (SimulatorHostConfig hc : hosts) { HostInventory hinv = new HostInventory(); hinv.setClusterUuid(cluster.getUuid()); hinv.setDescription(hc.getDescription()); hinv.setManagementIp(hc.getManagementIp()); hinv.setName(hc.getName()); hinv.setManagementIp(hc.getManagementIp()); long memCap = deployer.parseSizeCapacity(hc.getMemoryCapacity()); long cpuCap = hc.getCpuNum() * hc.getCpuSpeed(); hinv.setAvailableMemoryCapacity(memCap); hinv.setAvailableCpuCapacity(cpuCap); hinv = deployer.getApi().addHostByFullConfig(hinv); deployer.hosts.put(hinv.getName(), hinv); } } }