9 Commits

Author SHA1 Message Date
Sheng Yang
96e7e3d1ca CS-15175: Fix public interfaces of redundant router
We need to use ifup/ifdown to bring up the interfaces, because ifconfig don't
know the ip of the interface after we modify cloud-early-config to avoid
first start up of public interface.

Reviewed-by: Edison
2012-05-31 17:58:02 -07:00
Sheng Yang
3b2e2b079b bug 12704: Fix multiply public nics with redundant router
status 12704: resolved fixed
2011-12-21 16:01:58 -08:00
Sheng Yang
29cc88571f Redundant router script fix, also fix CheckRouterTask 2011-08-11 17:57:12 -07:00
Sheng Yang
258a1bc451 Ifdown may not bring interface down if ifup not run
Use ifconfig to bring it down
2011-08-11 15:01:02 -07:00
Sheng Yang
7807e29c30 Use ifup/ifdown for redundant router 2011-08-11 14:30:21 -07:00
Sheng Yang
5cf6feb2e5 Fix "RTNETLINK answers: No such process" when starting redundant router
The issue happened quite rare, but indeed can show.

And when the issue happen, the status of redundant router would be "Status:
FAULT".

It's due to ipassoc.sh wasn't executed before the system bring eth2 up and go to
master mode, then eth2 wasn't configured correctly. Then "ip route add default
xx" can't complete.

This commit should fixes the issue.
2011-08-10 12:06:53 -07:00
Sheng Yang
9985df928b Try to workaround "ip route add" fail in redundant router
It's probably due to the network is not ready, so wait some time for it.
2011-08-05 16:40:57 -07:00
Sheng Yang
2973ab5ef5 Enable multiply public ips for redundant router
Also solve duplicate mac issue.
2011-06-07 14:47:46 -07:00
Sheng Yang
62ac899091 bug 9154: Initial check in for enabling redundant virtual router
This patch enable redundant virtual routers.

1. To enable this feature, db need to be updated using follow SQL by now(we
would get a UI way later):

UPDATE network_offerings SET redundant_router=1 WHERE guest_type="Virtual" AND
system_only=0;

2. System would try to start up two routers at different hosts. But if there is
only one host in the zone, system would start up two routers on it.

3. The failover part is using keepalived, and connection tracking part is using
conntrackd. There would be one master router and one backup router. The status
of router(master or backup) can be query from the database table domain_router
now. Management server would update the status every 30s by default.

4. The routers for the same zone would use same external NIC(same ip and mac).
The script used for fail-over would ensure only one external NIC present in the
network at any time.

5. Currently management server don't got the ability to stop one of router is
both of them reported as master. The feature is in the todo list.

After two routers start up, disconnect anyone of them, the guest network
shouldn't be affected, and established connection(http, ssh, etc.) should still
works. The fail-over on gateway part should be 3~4 seconds.

Currently the patch works with KVM. Would deal with vmware and XenServer soon.
2011-06-07 14:47:45 -07:00