30 Commits

Author SHA1 Message Date
Alena Prokharchyk
cf72aa3274 Fixes/improvements for VPC feature:
1) Added comments to VPC/VPCService/VPCManager interfaces
2) Moved VPC offering related methods from VpcService to the new interface - VpcProvisioningService
3) Fixed static nat creation in the VPC - used to result in NPE due to invalid method referencing while obtaining VPC VR information
2013-03-29 16:56:01 -07:00
Kishan Kavala
836ce6c11a CLOUDSTACK-749: External device support for VPC. VPC offering can be created with providers other than VPCVirtualRouter 2013-02-25 18:32:23 +05:30
Saksham Srivastava
ea3db2f073 CLOUDSTACK-705 IP Address reservation for Isolated Guest Networks
CloudStack uses Guest CIDR for dhcp-range for the Guest VMs. The entire
CIDR is used by CloudStack for assigning IPs to Guest VMs. IP Address
Reservation will allow part of address space to be used fornon CloudStack
hosts/physical servers also, by restricting the address space of CloudStack
Guest VMs. Reservation can be configured using update Network API by specifying
guestvmCidr as an additional parameter. Reservation will be applicable for
Isolated Guest Networks including VPC. reservediprange in the response
will return the IP range that can be used for non Cloudstack hosts.

Tested manually the following scenarios:
Applying reservation when there are running VMs inside the
guest_vm_cidr.
Applying reservation when there are running VMs outside the
guest_vm_cidr.(not allowed)
Applying reservation when external device like Netscaler is configured
in the guest_cidr.
Applying reservation in VPC tiers.
Applying reservation outside the range of guest_cidr.(not allowed)
2013-02-22 15:50:33 +05:30
Alex Huang
fe6f0457d5 fixed unit tests from merge 2013-01-18 15:58:55 -08:00
Rohit Yadav
e398b1e47a api: Refactor command and response classes to org.apache.cloudstack.api.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 19:23:24 -08:00
Rohit Yadav
5e0501d116 api_refactor: refactor project apis
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace
- Fix trailing whitespaces for all *.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 22:10:32 -08:00
Rohit Yadav
ac1ea7616a api_refactor: refactor vpc apis
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 21:44:40 -08:00
Alena Prokharchyk
8f2d9a09e5 CLOUDSTACK-332: intermediate checkin fixing count parameter in listCommands
Fixes the count in commands:

listVolumes
listVirtualMachines
listSnapshots
listRouters
listFirewallRules
listPortForwardingRules
listLoadBalancerRules
listIpForwardingRules
listAccounts
listUsers
listDomains
listDomainChildren
listPublicIpAddresses
listAlerts
listAsyncJobs
listRemoteAccessVpns
listVpnUsers
listTags
listPrivateGateways
listNetworkACLs
listStaticRoutes

Conflicts:

	api/src/com/cloud/api/commands/ListVMsCmd.java
	api/src/com/cloud/api/commands/ListVolumesCmd.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
	server/src/com/cloud/tags/TaggedResourceManagerImpl.java
2012-10-12 13:58:59 -07:00
Alena Prokharchyk
bda1e2d08d VPC: more unittests for VpcService
Conflicts:

	server/src/com/cloud/network/vpc/VpcManagerImpl.java
2012-08-07 11:37:36 -07:00
Alena Prokharchyk
3496a73878 VPC: CS-15812 - fixed listVPCs by projectId 2012-08-03 14:23:56 -07:00
Alena Prokharchyk
d6df2fdc64 VPC: createPrivateGateway - added cleanup part happening in case when the gateway fails to be applied on the backend
Conflicts:

	api/src/com/cloud/api/commands/CreatePrivateGatewayCmd.java
	api/src/com/cloud/api/response/AsyncJobResponse.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
2012-08-02 18:12:19 -07:00
Alena Prokharchyk
b92d2336ad VPC: CS-15798 - added vpc resource limit. Check vpc functional spec for more details:
http://wiki.cloudstack.org/display/RelOps/Inter-VLAN+Routing+functional+spec

Conflicts:

	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java
2012-08-01 18:57:33 -07:00
Alena Prokharchyk
5cbe3d9722 ResourceTags: resourcetags support for Project/Vpc/NetworkACL/StaticRoute
Conflicts:

	api/src/com/cloud/api/commands/ListVPCsCmd.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/projects/dao/ProjectDaoImpl.java
	server/src/com/cloud/uuididentity/dao/IdentityDao.java
2012-08-01 18:54:08 -07:00
Alena Prokharchyk
7cceaae912 VPC: moved vpc related code from NetworkManager to VpcManager
Conflicts:

	api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-08-01 18:45:06 -07:00
Alena Prokharchyk
ebe53a91d7 VPC: reduced visability for some vpc related methods
Conflicts:

	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
2012-08-01 18:33:12 -07:00
Sheng Yang
7d68e33323 S2S VPN: Use source NAT ip address for VPN gateway
Conflicts:

	api/src/com/cloud/api/commands/CreateVpnGatewayCmd.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
2012-07-23 14:44:05 -07:00
Alena Prokharchyk
281b23c2cd Fixed license headers 2012-07-18 14:52:13 -07:00
Alena Prokharchyk
21519070fc VPC: added vpc_id to private_ip_address table to indicate which vpc the ip belongs to
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManager.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-09 18:23:35 -07:00
Alena Prokharchyk
a6086dc806 Removed @author tag from bunch of resources 2012-07-06 17:25:36 -07:00
Alena Prokharchyk
c19639e4a2 Static route can be created for generic VpcGateway now, not just Private gateway 2012-06-28 17:17:44 -07:00
Alena Prokharchyk
1a232171eb VPC: implementation for Add/delete/list StaticRoute. Agent implementation is yet to be done 2012-06-28 10:11:41 -07:00
Alena Prokharchyk
ce876e24de VPC: intermidiate checkin to Static Routes
Conflicts:

	api/src/com/cloud/api/ApiConstants.java
2012-06-25 21:00:57 -07:00
Alena Prokharchyk
dc04e0b2e5 VPC: listPrivateGateways API implementation 2012-06-25 20:57:09 -07:00
Alena Prokharchyk
030458a37b VPC: implemented add/delete Private gateway
Conflicts:

	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/dc/DataCenterVO.java
	server/src/com/cloud/network/NetworkManagerImpl.java
2012-06-25 20:54:14 -07:00
Alena Prokharchyk
9ec8526281 1) Added VPC restart support - new api command RestartVPC. The purpose of the call is to shutdown and start VPC including VPCVirtualRouter restart, rules re-implement, etc
2) Only networks created from offerings with conserveMode=false, can participate in VPC
2012-06-15 14:10:09 -07:00
Alena Prokharchyk
b9a4e79277 1) Added search by vpcId to listRouters/listNetworks Apis
2) Don't allow to add new networks/implement existing ones for VPC in Disabled state. Disabled state indicates that there was unsuccessful attempt to remove the VPC, and the further cleanup will be taken care of by cleanup thread.

Conflicts:

	server/src/com/cloud/network/dao/IPAddressDao.java
	server/src/com/cloud/server/ManagementServerImpl.java
2012-06-15 14:09:37 -07:00
Alena Prokharchyk
d5507e1379 Support for delete VPC 2012-06-15 14:08:26 -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
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
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