Commit Graph

432 Commits

Author SHA1 Message Date
Alena Prokharchyk edb8e04b0e VPC: update public IP info in domain_router table once the VR gets the public nic 2012-06-27 17:41:41 -07:00
Alena Prokharchyk 9936e9b731 VPC: 1) Don't allow to delete private gateway when it has static routes assigned. Routes have to be removed first.
2) Re-apply static routes as a part of VPC VR start
2012-06-26 15:14:29 -07:00
Alena Prokharchyk ccb075de6f VPC: added vpcId to SetStaticNatRule and CreateLoadBalancerConfig commands 2012-06-26 13:36:33 -07:00
Alena Prokharchyk 32c858ecd2 VPC: finilize start for the VR - send ip assoc commands only after plug nic is done for all public nics 2012-06-25 15:59:23 -07:00
Alena Prokharchyk b407b8831c VPC: initial checkin for Static Routes 2012-06-25 15:16:17 -07:00
Alena Prokharchyk 05332128e9 VPC: resend private gateway as a part of VPC VR start 2012-06-22 15:47:15 -07:00
Alena Prokharchyk a96a259923 VPC: apply dhcp entries only after all guest nics are plugged 2012-06-22 10:06:26 -07:00
Alena Prokharchyk 516628273f VPC: apply firewall ACLs as a part of VPC router start/restart and VPC network implement 2012-06-21 15:10:15 -07:00
Alena Prokharchyk 4ea750680b Added NicTO to SetSourceNat command, CreateLoadBalancerConfigCommand, SetNetworkACLCommand
Conflicts:

	api/src/com/cloud/agent/api/routing/SetNetworkACLCommand.java
2012-06-21 10:05:31 -07:00
Alena Prokharchyk bb30a6b6bb VPC: initial checkin for network ACLs 2012-06-20 12:48:00 -07:00
anthony 17b9952b86 VPC : use correc provider for guest network inside VPC 2012-06-19 11:30:11 -07:00
Alena Prokharchyk da6c58ed30 VPC: plug guest nic on guest network implement, and unplug on shutdown 2012-06-19 10:00:56 -07:00
Alena Prokharchyk 7a23556513 Network usage for VPC implementation 2012-06-18 17:48:35 -07:00
Alena Prokharchyk 375bb99f09 Don't send public/guest nic info when start VR in VPC 2012-06-18 15:57:58 -07:00
Alena Prokharchyk aaf0d24a83 Merge branch 'vpc-3.0.x' into 3.0.x
Conflicts:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/api/ResponseGenerator.java
	api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
	api/src/com/cloud/api/commands/EnableStaticNatCmd.java
	api/src/com/cloud/event/EventTypes.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/rules/RulesService.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	scripts/vm/hypervisor/xenserver/xenserver56fp1/patch
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade2214to30.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vm/MockVirtualMachineManagerImpl.java
	setup/db/create-schema.sql
	wscript
2012-06-14 19:04:59 -07:00
Alena Prokharchyk 127daa5831 Fixed lock problem when add vm to guest network 2012-06-13 16:43:43 -07:00
Alena Prokharchyk 2412b7837d Isolated non-vpc networks: start router with 3 nics from the very beginning 2012-06-13 14:56:04 -07:00
anthony 4075963767 VPC : revert some change 2012-06-12 15:33:01 -07:00
Alena Prokharchyk 97ca76856a VPC: more changes to ipAssoc 2012-06-12 13:35:15 -07:00
Alena Prokharchyk 9c01ca2785 VPC: ipAssoc consists of 3 parts: plug nic (if needed), associateIp, enableSourceNat(if ip is source nat ip) 2012-06-12 10:58:20 -07:00
Alena Prokharchyk 287ebd350d More logging to plug nic code 2012-06-11 15:58:26 -07:00
Alena Prokharchyk 07be6918d8 VPC: fixed guest network shutdown 2012-06-11 15:01:51 -07:00
Alena Prokharchyk 3b943d84dd Fixed addDhcpEntry/userdata/password in VPC setup 2012-06-11 13:37:38 -07:00
Alena Prokharchyk cf1882a2c8 1) Added VpcVirtualNetworkApplianceService interface
2) Pass dns1/dns2 to setupGuestNetworkCommand
3) Network implement - don't get source nat ip address for Vpc if it already has one
2012-06-10 12:31:47 -07:00
Alena Prokharchyk 7bdcb244a2 StartRouter: set only control nic during the initial router start; plug exising public and guest nics after the router is started with control nic 2012-06-06 16:56:38 -07:00
Alena Prokharchyk d9758045d9 Added NicTO to setupGuestNetworkCommand constructor - we need this info for guest network configuraiton 2012-06-05 16:10:20 -07:00
Alena Prokharchyk 3ae5b0b5c8 Modified virtual router startup procedure - initial start happens with control nic only; then we plug Public and then Guest nic to it 2012-06-05 11:33:31 -07:00
Alena Prokharchyk 460bab4a7d Support for adding private network 2012-06-05 10:57:29 -07:00
anthony 0d89f34a48 1. move control network to eth0 on domr
2. if it is basic mode, use guest NIC as Control NIC
2012-06-04 16:35:27 -07:00
Sheng Yang 0b730969ef CS-15116: When GetDomRVersion failed, let VR creation fail
Because there are more commands after GetDomRVersion command. Though
GetDomRVersion command itself is not that critical, the commands after it may
including DHCP and firewall related commands. The failure of GetDomRVersion
command would result in the following commands fail to be executed. So it should
fail, and fail loudly.
2012-06-04 16:29:18 -07:00
Alena Prokharchyk 6a097ad3b6 Support for IPAssoc inside VPC 2012-05-29 11:27:26 -07:00
Alena Prokharchyk 2014cb0feb Plug nic support 2012-05-23 16:18:41 -07:00
Alena Prokharchyk 9fb9149c99 1) Added new element - VpcVirtualRouterElement. Extends VirtualRouter + has plug/unplug nics support
2) Added services api support for plugging/unplugging the nics to VpcElement
2012-05-22 16:53:27 -07:00
Alena Prokharchyk 675bad3eed Add type and rpcfilter to the virtual router bootload arguments even when there is no guest network is being configured. 2012-05-21 18:07:12 -07:00
Alena Prokharchyk 1fab93a8fb Start Virtual Router as a part of VPC start 2012-05-21 17:37:47 -07:00
Alena Prokharchyk e4458cf5b7 1) Added start logic to the VPC
2) VirtualRouterManagerImpl - refactored deployVirtualRouter method
3) Added vpcId to domain_router/user_ip_address tables and corresponding vo objects
2012-05-21 14:29:34 -07:00
Alena Prokharchyk 492e41c462 Removed network_id reference from domain_router table as now VirtualRouter can be associated with multiple networks (VPC case). Code modifications were done accordingly to the places where this field was used.
Router->Networks (one to many) are held in router_network_ref table now
2012-05-18 17:25:04 -07:00
Alena Prokharchyk 978c2f414a Initial checkin for VPC feature:
1) Added API frameworks for the feature. New commands:
* CreateVPCCmd
* ListVPCsCmd
* DeleteVPCCmd
* UpdateVPCCmd
* CreateVPCOfferingCmd
* UpdateVPCOfferingCmd
* DeleteVPCOfferingCmd
* ListVPCOfferingsCmd

2) New db tables:

* `cloud`.`vpc`
* `cloud`.`vpc_offerings`
* `cloud`.`vpc_offering_service_map`

and corresponding VO/Dao objects.

Added vpc_id field to `cloud.`networks` table - not null when network belongs to VPC

3) New Manager and Service interfaces- VpcManager/VpcService

4) Automatically create new VpcOffering (if doesn't exist) on system start

5) New Action events:

* VPC.CREATE
* VPC.UPDATE
* VPC.DELETE

* VPC.OFFERING.CREATE
* VPC.OFFERING.UPDATE
* VPC.OFFERING.DELETE
2012-05-17 18:08:03 -07:00
Naredula Janardhana Reddy e75520259d Bug 14120: Enabling SNAT for all the public NICs.
Summary of changes:
    - snat flag is set to true if it is first ip of the NIC.

reviewed-by: Abhi
2012-05-07 09:59:44 +05:30
Sheng Yang 95d3be2d3a bug 14470: Return true for applyRules unless specified
Only DHCP entry need to know if no one apply the entries(when VM is starting
up), other rules should be safe when return true anyway.

status 14470: resolved fixed
2012-04-13 14:51:13 -07:00
frank 72d284de7d Switch to Apache license 2012-04-03 04:54:14 -07:00
kishan 23f87663e4 bug 14512: Create user_stats entry for router while persisting routerVO
status 14512: resolved fixed
reviewed-by: Nitin
2012-03-27 19:09:55 +05:30
Sheng Yang ce2e1166e0 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:37:30 -07:00
Sheng Yang e14cf6a4e1 Fix not sending DNS in DHCP command 2012-03-21 10:37:24 -07:00
Alena Prokharchyk 7964665cb4 bug 14388: don't return console proxy / ssvm service offerings
status 14388: resolved fixed
2012-03-19 14:52:11 -07:00
Sheng Yang d3142c2977 Refactor VirtualRouterNetworkManagerImpl
Refactor applyDhcpEntry and applyUserData to use applyRules framework.
2012-03-12 16:10:16 -07:00
Sheng Yang 9022ab5bc9 bug 14074: Specify networkId for list public ip
status 14074: resolved fixed
2012-03-12 12:07:57 -07:00
Sheng Yang 21fedec0ef Refactor VirtualNetworkApplianceManagerImpl
Add separate create command for dhcp, userdata and password.
2012-03-09 19:00:35 -08:00
Sheng Yang 4956177dd1 Refactor rules appling in the VirtualNetworkApplianceManagerImpl 2012-03-09 18:00:26 -08:00
Sheng Yang 666a7aa974 Fix several wrong ResourceUnavailableException scopes 2012-03-08 11:54:43 -08:00