This commit is contained in:
Chiradeep Vittal 2011-07-29 11:04:54 -07:00
parent 29c88787e1
commit 56d7be35f1
3 changed files with 98 additions and 2 deletions

View File

@ -396,6 +396,24 @@ setup_console_proxy() {
chkconfig nfs-common off
}
setup_elbvm() {
log_it "Setting up Elastic Load Balancer system vm"
local hyp=$1
setup_common eth0 eth1 eth2
sed -i /gateway/d /etc/hosts
public_ip=$ETH2_IP
[ "$ETH2_IP" == "0.0.0.0" ] && public_ip=$ETH0_IP
echo "$public_ip $NAME" >> /etc/hosts
setup_sshd $ETH0_IP
enable_fwding 0
enable_svc haproxy 0
enable_svc dnsmasq 0
enable_svc cloud-passwd-srvr 0
enable_svc cloud 0
}
setup_default() {
cat > /etc/network/interfaces << EOF
auto lo eth0
@ -430,6 +448,10 @@ start() {
[ "$NAME" == "" ] && NAME=consoleproxy
setup_console_proxy $hyp;
;;
elbvm)
[ "$NAME" == "" ] && NAME=elb
setup_elbvm
;;
unknown)
[ "$NAME" == "" ] && NAME=systemvm
setup_default;

View File

@ -752,7 +752,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
NetworkOfferingVO guestNetworkOffering = new NetworkOfferingVO(NetworkOffering.SystemGuestNetwork, "System Offering for System-Guest-Network", TrafficType.Guest, true, false, null, null,
null, true, Availability.Required,
// services - all true except for firewall/lb/vpn and gateway services
true, true, true, false, false, false, false, GuestIpType.Direct);
true, true, true, false, false, true, false, GuestIpType.Direct);
guestNetworkOffering = _networkOfferingDao.persistDefaultNetworkOffering(guestNetworkOffering);
_systemNetworks.put(NetworkOfferingVO.SystemGuestNetwork, guestNetworkOffering);

View File

@ -33,6 +33,7 @@ import org.apache.log4j.Logger;
import com.cloud.agent.AgentManager;
import com.cloud.agent.AgentManager.OnError;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.StopAnswer;
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
import com.cloud.agent.api.routing.NetworkElementCommand;
import com.cloud.agent.api.to.LoadBalancerTO;
@ -104,7 +105,9 @@ import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.DomainRouterVO;
import com.cloud.vm.NicProfile;
import com.cloud.vm.ReservationContext;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineGuru;
import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.VirtualMachineManager;
import com.cloud.vm.VirtualMachineName;
@ -114,7 +117,7 @@ import com.cloud.vm.dao.DomainRouterDao;
@Local(value = { ElasticLoadBalancerManager.class })
public class ElasticLoadBalancerManagerImpl implements
ElasticLoadBalancerManager, Manager {
ElasticLoadBalancerManager, Manager, VirtualMachineGuru<DomainRouterVO> {
private static final Logger s_logger = Logger
.getLogger(ElasticLoadBalancerManagerImpl.class);
@ -369,6 +372,8 @@ public class ElasticLoadBalancerManagerImpl implements
throw new ConfigurationException("Traffic type for front end of load balancer has to be guest or public; found : " + traffType);
_gcThreadPool = Executors.newScheduledThreadPool(1, new NamedThreadFactory("ELBVM-GC"));
_gcThreadPool.scheduleAtFixedRate(new CleanupThread(), 30, 30, TimeUnit.SECONDS);
_itMgr.registerGuru(VirtualMachine.Type.DomainRouter, this);
}
@ -683,4 +688,73 @@ public class ElasticLoadBalancerManagerImpl implements
}
}
@Override
public DomainRouterVO findByName(String name) {
// TODO Auto-generated method stub
return null;
}
@Override
public DomainRouterVO findById(long id) {
// TODO Auto-generated method stub
return null;
}
@Override
public DomainRouterVO persist(DomainRouterVO vm) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean finalizeVirtualMachineProfile(VirtualMachineProfile<DomainRouterVO> profile, DeployDestination dest, ReservationContext context) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean finalizeDeployment(Commands cmds, VirtualMachineProfile<DomainRouterVO> profile, DeployDestination dest, ReservationContext context) throws ResourceUnavailableException {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean finalizeStart(VirtualMachineProfile<DomainRouterVO> profile, long hostId, Commands cmds, ReservationContext context) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile<DomainRouterVO> profile) {
// TODO Auto-generated method stub
return false;
}
@Override
public void finalizeStop(VirtualMachineProfile<DomainRouterVO> profile, StopAnswer answer) {
// TODO Auto-generated method stub
}
@Override
public void finalizeExpunge(DomainRouterVO vm) {
// TODO Auto-generated method stub
}
@Override
public Long convertToId(String vmName) {
// TODO Auto-generated method stub
return null;
}
}