cloudstack/server/src/com/cloud
Sheng Yang 1ca493e4fa bug 14042: Don't set dhcp:router option on DHCP server for non-default network on CentOS/RHEL
The routing table with two nics may be messed up, due to we sent same
router(gateway) information from different DHCP server, in order to specify
default gateway. E.g.

Network A: 192.168.1.0/24, gw 192.168.1.1
Network B: 192.168.2.0/24, gw 192.168.2.1

User VM: Nic 1 connect to network A, get ip 192.168.1.10; nic 2 connect to
network B, get ip 192.168.2.10.

Set network A as the default network of user VM.

Currently we would send this information to user VM through DHCP offer:
In network A: dhcp-option:router 192.168.1.1
In network B: dhcp-option:router 192.168.1.1

So both NIC in the guest VM would receive 192.168.1.1 as router(gateway).

But, in CentOS 5.6, dhclient-scripts try to tell if the gateway is reachable
for current subnet.

So when we try to enable nic 2(eth1) of user VM, dhclient would receive:
IP: 192.168.2.10
Mask: 255.255.255.0
Router: 192.168.1.1

Then it would found that the specified gateway(router) is not within its own
subnet(192.168.2.0/24). But since we send out this ip(192.168.1.1) as the
gateway for it, dhclient thought that it should got someway to access the
network through this IP. So it would execute:

ip route add 192.168.1.1 dev eth1
ip route replace default via 192.168.1.1 dev eth1

But it can never reach 192.168.1.1(which is in the eth0's subnet and the
gateway of eth0) by go through eth1 interface. So it is messed up.

We've tested Windows 2008 R2, CentOS 5.3, CentOS 5.6 and Ubuntu 10.04. Windows
and Ubuntu are fine with above policy.

To solve this, we send different dhcp:router option according to the guest OS
type now.

We may need expand this list later, but for now we only know that CentOS and
RHEL would behavior in this way.

status 14042: resolved fixed
2012-03-21 10:38:18 -07:00
..
account Added more changes to the api 2010-10-21 15:11:49 -07:00
acl bug 14271: return only domainId in error message when caller is not authorized to operate within the domain 2012-03-14 13:31:43 -07:00
agent Bug 13127: API error text refer to database ids instead of uuids 2012-03-15 16:27:52 -07:00
alert Bug 13420: Send alert of type 18 when sending alert for SSVM 2012-02-08 18:50:42 +05:30
api Bug 14336 - Login API does not return UUID's 2012-03-20 16:59:04 -07:00
async Bug 13127: API error text refer to database ids instead of uuids 2012-02-27 17:54:53 -08:00
baremetal Bug 13127: API error text refer to database ids instead of uuids 2012-03-15 16:27:52 -07:00
capacity bug 13910: release cpu/memory after expunged 2012-02-21 16:22:49 -08:00
certificate/dao Add license header to files 2011-04-14 11:23:14 -07:00
cluster Bug 13127: API error text refer to database ids instead of uuids 2012-02-27 17:54:53 -08:00
configuration bug 14379: don't enable 8096 port by default (set global config variable to null by default, and don't create a listener on this port unless its set to valid integer) 2012-03-19 16:19:38 -07:00
consoleproxy bug 14369: remove host entry when destroy CPVM/SSVM instances 2012-03-20 14:10:18 -07:00
dao Port forwarding rules and load balancing rules rewrite 2010-12-03 08:48:02 -08:00
dc Bug 13568 - secondary storage VM's static route for nfs server breaks things! 2012-02-17 16:24:32 -08:00
deploy Bug 14000 - Neither Admin or regular user can create a VM when the Pod is disabled 2012-03-05 17:04:22 -08:00
domain Bug 13127: API error text refer to database ids instead of uuids 2012-03-08 17:34:28 -08:00
event Bug 12929: Added domain_id to event table. Populate domain_id while persisting events. Cleanedup EventUtils. 2012-01-12 16:16:06 +05:30
ha bug 13478: added exception printing. Reviewed-by: Anthony 2012-02-09 16:50:27 -08:00
host/dao bug 14369: remove host entry when destroy CPVM/SSVM instances 2012-03-20 14:10:18 -07:00
hypervisor bug 12947: enabling XCP 1.5 2012-03-21 10:23:04 +05:30
keystore add cert chain in db, and also open the api to upload a cert chain 2012-02-09 14:56:40 -08:00
maint Use Long type for version comparsion 2011-03-22 11:07:11 -07:00
migration bug 14388: don't return console proxy / ssvm service offerings 2012-03-19 14:50:09 -07:00
netapp 1) Added resource limits for the Projects - the same as for the account 2011-09-21 17:09:49 -07:00
network bug 14042: Don't set dhcp:router option on DHCP server for non-default network on CentOS/RHEL 2012-03-21 10:38:18 -07:00
offerings bug 14420: listNetworkOfferings by networkId - respect specifyVlan flag of the original offering 2012-03-20 11:31:13 -07:00
projects Bug 13127: API error text refer to database ids instead of uuids 2012-03-15 16:27:52 -07:00
resource Bug 14370 - addSecondaryStorage always fails: "Can't find pod with specificied podId null" 2012-03-19 17:14:03 +00:00
resourcelimit bug 14239: limit number of Isolated account specific networks per account 2012-03-12 15:53:30 -07:00
secstorage Bug 11522 - New agent manager 2011-10-06 11:56:17 -07:00
server bug 14388: don't return console proxy / ssvm service offerings 2012-03-19 14:50:09 -07:00
service Bug 7883 - Add support to allow admins to sort templates, isos, offerings... 2011-11-03 10:54:00 -07:00
servlet do not default display name from null to other name like host name 2012-01-30 14:57:50 -08:00
storage bug 14369: remove host entry when destroy CPVM/SSVM instances 2012-03-20 14:10:18 -07:00
template bug 14379: don't enable 8096 port by default (set global config variable to null by default, and don't create a listener on this port unless its set to valid integer) 2012-03-19 16:19:38 -07:00
test Revert zone guest cidr setting 2012-02-08 15:54:16 -08:00
upgrade bug 14407: update network count for account/domain as a part of 3.0 to 3.0.1 upgrade 2012-03-20 10:40:32 -07:00
usage Changed isElastic to isSystem for the publicIpAddress assigned during the vm deployment in EIP enabled network 2012-02-21 15:39:49 -08:00
user bug 14103: mark account for cleanup only in cleanupAccount and disableAccount method, not in the callers methods 2012-03-05 16:19:12 -08:00
uuididentity bug 12843: initialize uuid column for tables that have default data content 2012-01-05 17:38:50 -08:00
vm bug 14216: rightly initializing to avoid NPE 2012-03-21 15:33:05 +05:30