Commit Graph

412 Commits

Author SHA1 Message Date
Alena Prokharchyk c82885021b More logging to plug nic code 2012-06-15 14:27:49 -07:00
Alena Prokharchyk aa2b7d2d8c VPC: fixed guest network shutdown 2012-06-15 14:27:42 -07:00
Alena Prokharchyk 7e119e4c94 Fixed addDhcpEntry/userdata/password in VPC setup 2012-06-15 14:27:24 -07:00
Alena Prokharchyk aa84256542 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-15 14:27:00 -07:00
Alena Prokharchyk d70d2f82d4 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-15 14:25:31 -07:00
Alena Prokharchyk 31b8f07bb5 Added NicTO to setupGuestNetworkCommand constructor - we need this info for guest network configuraiton 2012-06-15 14:22:40 -07:00
Alena Prokharchyk 72974831a0 Modified virtual router startup procedure - initial start happens with control nic only; then we plug Public and then Guest nic to it 2012-06-15 14:22:19 -07:00
Alena Prokharchyk 0a7faa9838 Support for adding private network
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade2214to30.java
2012-06-15 14:20:34 -07:00
anthony 396fa72ee3 1. move control network to eth0 on domr
2. if it is basic mode, use guest NIC as Control NIC
2012-06-15 14:18:38 -07:00
Alena Prokharchyk c56998e876 Support for IPAssoc inside VPC 2012-06-15 14:10:33 -07:00
Alena Prokharchyk d9fd7e02a5 Plug nic support
Conflicts:

	server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
2012-06-15 14:07:46 -07:00
Alena Prokharchyk f4060c3c1d 1) Added new element - VpcVirtualRouterElement. Extends VirtualRouter + has plug/unplug nics support
2) Added services api support for plugging/unplugging the nics to VpcElement

Conflicts:

	api/src/com/cloud/network/NetworkService.java
	core/src/com/cloud/vm/VMInstanceVO.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-06-15 14:04:09 -07:00
Alena Prokharchyk c12ba9c86d Add type and rpcfilter to the virtual router bootload arguments even when there is no guest network is being configured. 2012-06-15 13:57:27 -07:00
Alena Prokharchyk ab680bc30c Start Virtual Router as a part of VPC start
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
2012-06-15 13:57:00 -07:00
Alena Prokharchyk 9debd3a5df 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

Conflicts:

	server/src/com/cloud/network/IPAddressVO.java
2012-06-15 13:56:05 -07:00
Alena Prokharchyk 998cf66e6c 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-06-15 13:54:48 -07:00
Alena Prokharchyk 60b52f90dd 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

Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	setup/db/create-schema.sql
2012-06-15 13:53:59 -07:00
Sheng Yang 79c276ba6b 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-05-31 18:57:11 -07:00
Naredula Janardhana Reddy d0a09732d2 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 10:08:51 +05:30
Sheng Yang f6383f844d 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:25 -07:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
kishan bed3f7f7e2 bug 14512: Create user_stats entry for router while persisting routerVO
status 14512: resolved fixed
reviewed-by: Nitin
2012-03-27 19:04:34 +05:30
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
Sheng Yang 319dbccabf Fix not sending DNS in DHCP command 2012-03-21 10:38:12 -07:00
Alena Prokharchyk fec3a87d09 bug 14388: don't return console proxy / ssvm service offerings
status 14388: resolved fixed
2012-03-19 14:50:09 -07:00
Sheng Yang ec5a225a78 Refactor VirtualRouterNetworkManagerImpl
Refactor applyDhcpEntry and applyUserData to use applyRules framework.
2012-03-12 16:10:48 -07:00
Sheng Yang 21fe5e1087 bug 14074: Specify networkId for list public ip
status 14074: resolved fixed
2012-03-12 12:00:31 -07:00
Sheng Yang 476c671374 Refactor VirtualNetworkApplianceManagerImpl
Add separate create command for dhcp, userdata and password.
2012-03-09 19:02:47 -08:00
Sheng Yang d62d3b5a01 Refactor rules appling in the VirtualNetworkApplianceManagerImpl 2012-03-09 18:00:06 -08:00
Sheng Yang e152e64ac0 Fix several wrong ResourceUnavailableException scopes 2012-03-08 11:55:31 -08:00
Sheng Yang 887256ad12 bug 14076: Fix the exception scope
status 14076: resolved fixed
2012-03-01 14:58:40 -08:00
Kelven Yang 2d9a949ff8 bug 13989: get domr control IP from NIC table, the old private ip in domain_router table is no longer valid under basic zone configuration. Reviewed-By: Anthony 2012-02-27 15:05:18 -08:00
Kelven Yang b597362e50 bug 13989: GetDomRVersion command context is not correctly set for VMware under Basic zone configuration. Reviewed-By: Anthony 2012-02-24 10:01:07 -08:00
Alena Prokharchyk f03fc196ad bug 13961: always return NetworkUsageAnswer from the networkUsageCommand
status 13961: resolved fixed
Reviewed-by: Alex Huang
2012-02-23 11:15:38 -08:00
Alena Prokharchyk 2992c608c4 bug 13919: do includingRemoved Nic search when remove firewall rules during the vm expunge
status 13919: resolved fixed
Reviewed-by: Sheng Yang
2012-02-21 18:02:44 -08:00
Sheng Yang a9a1475302 bug 13915: Fix VirtualRouter get gateway IP when others used as SourceNatServiceProvider
status 13915: resolved fixed

Reviewed-by: Edison
2012-02-21 15:24:14 -08:00
Alena Prokharchyk ebe664cff2 bug 13041: in Basic zone just restart all exising domRs in the zone during the networkRestart, don't try to create a new one
status 13041: resolved fixed
reviewed-by: Sheng Yang
2012-02-16 14:58:16 -08:00
frank 890bfffe2f Bug 6849 - Randomize systemvm passwords (edit)
status 6849: resolved fixed
2012-02-03 17:28:58 -08:00
Naredula Janardhana Reddy 72fb7256d7 Bug 13297,13375,12705 :
Summary of changes :
        - Added a new flag -s to ipassoc command to carry if the ip address is
used for SNAT or not.
        - SNAT is completly decoupled from the first flag. first flag is used
to decide if the ip address is first ip address of the interface.
        - -s and -f are independent, SNAT can be enabled on the non-first ip
also.
2012-02-01 12:39:10 +05:30
anthony 3615b15c39 bug 13338:
increate timeout for sshcheck to 10 minutes
if sshcheck fails, finalizeCommandsOnStart fails, no exception

status 13338: resolved fixed
2012-01-26 12:22:24 -08:00
prachi 6a7fd4d96c Bug 13248 - NPE: DeployVMCmd fired during 2.2.x regression test on Acton build
Changes:
- After deployment of Router failed, we did not throw out the error inorder to retry the start using another hypervisorType.
- But there is no other hypervisor to try, causing the failed and expunged router to be passed on further leading to an NPE later
- So in case there are no more hypervisors to retry the router start, we should throw out the original error.
2012-01-23 17:58:25 -08:00
prachi f80ed99879 Bug 13035 - cleanup required for virtual router deployment log entry
- adding in null check
2012-01-23 15:27:12 -08:00
prachi 4329004cd3 Bug 13035 - cleanup required for virtual router deployment log entry
- logging only the datacenter since rest of the information in deploymest destiination is not applicable to the router being deployed
2012-01-23 15:27:11 -08:00
Edison Su bced9a6e48 advanced startup command 2012-01-20 11:54:32 -08:00
Alena Prokharchyk d20e10edd3 bug 12919: pass all lb rules in transition (revoke/add) state to the backend when apply a single LB rule
status 12919: resolved fixed
2012-01-18 14:15:21 -08:00
Alena Prokharchyk 83400cd15f bug 12776: if there are multiple objects involved in resource creation, verify that they belong to the same account
status 12776: resolved fixed
2012-01-17 13:40:37 -08:00
Sheng Yang 73dbaf4c9f bug 12997: Prevent creating LB and firewall rule on different provider
status 12997: resolved fixed
2012-01-10 19:02:31 -08:00
Edison Su 9bcb2affff bug 12139: add a way to specifiy which hypervisor used to start system vm:
Admin can either configure system.vm.default.hypervisor which is a global configuration for all zones, or call updatezone add defaultSystemVMHypervisorType
status 12139: resolved fixed
2012-01-10 15:11:50 -08:00
Sheng Yang 89ca2fe48e bug 12656: Add restriction for network update and new rules
status 12656: resolved fixed
2012-01-05 21:08:41 -08:00
Sheng Yang ba23973d53 bug 12656: Refactor IP associate process
Introduce the concept of Ip Deployer. The IP deployer would be responible for
apply IP to the element. Most element's IP deployer is itself, but it can be
someone else if we want to implement inline mode in the future.
2012-01-05 21:08:28 -08:00