Commit Graph

715 Commits

Author SHA1 Message Date
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 8cbf5f749f VPC: Don't allow to do ip assoc to the network in the VPC. The ip should be assigned to the VPC itself 2012-06-25 13:19:28 -07:00
Alena Prokharchyk ba7fddac3b VPC: implemented add/delete Private gateway 2012-06-22 15:06:58 -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 e56dbdf78e canUseForDeploy is always false for system networks 2012-06-20 15:42:41 -07:00
Alena Prokharchyk bb30a6b6bb VPC: initial checkin for network ACLs 2012-06-20 12:48:00 -07:00
Alena Prokharchyk b8f67f0249 Vpc: fixed the network shutdown happening as a part of GC thread for VPC networks 2012-06-19 14:30:50 -07:00
Sheng Yang 830f12aadf Don't need to check guest cidr overlap
It's not external devices, so guest network with different vlan can be the same.
2012-06-18 16:03:03 -07:00
Vijayendra Bhamidipati b9263b0c51 Merge branch '3.0.x' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into 3.0.x 2012-06-18 13:01:11 -07:00
Vijayendra Bhamidipati 2ef8287287 Bug CS-14448: Wrong error message on using the createVlanIpRange cmd
Description:

	Fixing two other scenarios apart from the reported one
	where we were not passing in database IDs for translation
	into uuids, in the exception.
2012-06-18 12:57:56 -07:00
Vijayendra Bhamidipati e03ed60540 Bug 13127: API error text refer to database ids instead of uuids
Bug CS-14448: Wrong error message on using the createVlanIpRange cmd

Cherry-picking from master for bug 14448 into 3.0.x. Resolved
conflicts encountered during cherry-picking.

Description:

	Adding overloaded addProxyObject() function to CloudException
	and RuntimeCloudException classes and using this function
	to stuff exceptions with IDs, to reduce code footprint.

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
2012-06-18 12:55:44 -07:00
Vijayendra Bhamidipati 7860b78049 Bug 13127: API error text refer to database ids instead of uuids
Bug CS-14448: Wrong error message on using the createVlanIpRange cmd

Cherry-picking from master for bug 14448 into 3.0.x. Resolving
conflicts arising from the pick.

Description:

	Modifying the API functions' exception handling to call
	addProxyObject() wherever applicable, and removing some
	wrong calls to addProxyObject() that were put in in an
	earlier commit for this bug.

	With this commit, we cover many API functions to use the
	new exception handling code, but some pieces may still be
	left out. These will be covered as work in progress, when
	making changes to the CS API code.

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
2012-06-18 12:44:18 -07:00
Vijayendra Bhamidipati 6d48578234 Bug 13127: API error text refer to database ids instead of uuids
Bug CS-14448: Wrong error message on using the createVlanIpRange cmd

Cherry-picking from master for bug 14448 into 3.0.x. Modified the
pick to resolve some conflicts.

Description:

	Removed some wrong invocations to addProxyObject() when
	throwing exceptions in NetworkManagerImpl.java.

	Replaced db ids with uuids in various points in the code
	of NetworkManagerImpl.java, where exceptions are thrown.

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
2012-06-18 12:18:17 -07:00
anthony 3b2b8fc143 VPC: fix VPC cidr check 2012-06-18 11:40:59 -07:00
Alena Prokharchyk 1abdb876c9 1) Allow having multiple shared networks with the same vlan
2) Added new parameter to listNetworks command - canUseForDeploy(boolean). When true, list only networks that can be used for vm deployment (networks have enough ip addresses to allocate from for the vm)

Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/ListNetworksCmd.java
	api/src/com/cloud/api/response/NetworkResponse.java
	api/src/com/cloud/network/NetworkService.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/IPAddressDao.java
	server/src/com/cloud/network/dao/IPAddressDaoImpl.java
2012-06-15 15:57:56 -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 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 d1598e366e Release acquired lock for VPC 2012-06-11 14:31:39 -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
Kelven Yang 3e16945914 bug CS-15191: remove a sanity check that prevent us from getting traffic lable under VMware
Reviewed-by: anthony
2012-06-06 15:14:26 -07:00
Kelven Yang 400602ee9f CS-15080: VMware control network is CloudStack management network, correct the way to send down a correct traffic label to VMware resource
Reviewed-by: Anthony
2012-06-06 15:14:03 -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
Alena Prokharchyk ddae550a55 AssociateIpAddress to VPC - the ip gets associated to the network only when the first rule for the ip gets created.
When the last rule is removed for vpc ip, networkId is set to null
2012-05-30 19:46:40 -07:00
Alena Prokharchyk 6a097ad3b6 Support for IPAssoc inside VPC 2012-05-29 11:27:26 -07:00
Alena Prokharchyk a7c8354c7b Destroy VPC if it fails to start during the deployment 2012-05-29 10:36:46 -07:00
Sateesh Chodapuneedi fb85787a76 CS-14956 Support for rate limiting policies in Nexus dvSwith feature for CloudStack
Removed global parameters that are not required. Cleanup.
Reviewed-by: Devdeep
2012-05-26 05:22:03 +05:30
Alena Prokharchyk fbdf10bac7 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.
2012-05-25 14:16:23 -07:00
Alena Prokharchyk aa0c0cb260 Added support for network shutdown in VPC guest networks 2012-05-24 15:33:52 -07:00
Alena Prokharchyk 269d4dac83 CS-15083: fixed source nat ip assoc for the case when account owns more than 1 guest network, and 1+ public account specific ranges 2012-05-24 13:41:16 -07:00
Alena Prokharchyk 4c83520dd1 CS-15082: don't allow to remove guest network in Basic zone when there are non-expunged CPVM/SSVMs using it. 2012-05-24 11:48:47 -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 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
Murali reddy 135431d727 bug CS-14862: EIP/ELB - SSVM and CPVM should be given an ip address from the public ip address range.
With this fix  both SSVM and CPVM will get public IP's in case of basic zone with EIP service.
A static NAT rule is implicitly configured on the EIP service provider to map public IP to a
guest IP address associated with SSVM/CPVM
2012-05-21 20:08:46 +05:30
Vijayendra Bhamidipati f204185841 CS-14929: Exception while creating a port forwarding rule on an acquired ip
CS-14943: Unable to deploy VM due to Unable to identify the provider by name CiscoNexus1000vVSM

Description:

	Ignore the CiscoNexus1000vVSM provider when checking for
	providers when applying port forwarding rules.
2012-05-18 18:27:40 -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
Vijayendra Bhamidipati 30b59044c8 CS-14929: Exception while creating a port forwarding rule on an acquired ip
CS-14943: Unable to deploy VM due to Unable to identify the provider by name CiscoNexus1000vVSM

Description:

	Ignore the CiscoNexus1000vVSM provider when checking for
	providers when applying port forwarding rules.
2012-05-16 13:04:57 -07:00
Sateesh Chodapuneedi 951b5688af CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Avoid detection of public traffic label for basic zones. Check switch types along with global parameter for enabling a particular vmware vswitch types. Move credentials information into resource and load during resource configuration. Cleanup.
2012-05-16 19:50:35 +05:30
Sateesh Chodapuneedi c9331e5d21 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Portprofile shaping policies will be fetched
	from nexus vswitch instead of vcenter.
	ACLs and Policies won't be synced to vCenter.
	Get physical network label while adding cluster.
	Cleanup.
2012-05-14 18:55:08 -07:00
Vijayendra Bhamidipati f601db1304 Bug 14060: Include a CloudStack error code in an Exception Response
Bug 13127: API error text refer to database ids instead of uuids

Code-Reviewers: Ewan Mellor, Kelven Yang

Description:

	1. A new class CSExceptionErrorCode has been added to utils.
	   It contains a list of error codes for each type of
	   Exception class. Use fully qualified package paths for
	   Exceptions in CSExceptionErrorCode.  We log any exception
	   name not found in the list of error codes for exceptions.

	2. Whenever we throw an exception exobj anywhere in the
	   CS code, the CSErrorCode is set in the base class
	   constructor.

	3. We add a new field csErrorCode in classes CloudException,
	   RuntimeCloudException, ExecutionException and
	   ExceptionResponse.

	4. Two places in ApiServer.java were wrongly modified when
	   putting in changes for bug 13127 to not throw an exception.
	   This has been corrected in this commit.
2012-05-01 13:48:15 +01:00
Vijayendra Bhamidipati bea85d47a7 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Modify Exception handling to enable addition of multiple
	uuids in a single exception thrown by API functions. Both
	XML and JSON outputs will store all uuids and Fieldnames.
	This will make it easier to provide more information when
	an exception occurs - for example, a zone id, a cluster id,
	host id, and then a specific property id.
2012-05-01 13:28:21 +01:00
Vijayendra Bhamidipati 094f01be41 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Added a field name for the db id in the IdentityProxy class, and
	modified setProxyObject() to take an additional id name parameter.
	This will let us know the name of the uuid that we are returning.
	E.g.- domainId, zoneId, etc. The client can view this field in
	the json/xml output. Modified the JSON/XML serialization routines
	to append this new parameter to the serialized output for Exception
	Responses.
2012-05-01 13:28:20 +01:00
Vijayendra Bhamidipati b4cefb4cc6 Bug 13127: API error text refer to database ids instead of uuids
Description:

	1) Added a setProxyObject() method to CloudException and RuntimeCloudException
	2) Modified a bunch of throw exceptions in NetworkManagerImpl.java to call setProxyObject() before throwing an exception.
	3) Changed scope of ProxyIdentity attribute to protected.
	4) Added routines to ServerApiException to get/set IdentityProxy object, and
	   routine in RuntimeCloudException to get the Idproxy object.
	5) Modified the exception handling around the dispatcher and handlerequest()
	   to copy over the IdentityProxy information before rethrowing an exception
	   eventually back to handle().
	6) Removed duplicate IdentityProxy object in ServerApiException.
	   It was extending RuntimeCloudException which already had an
	   IdentityProxy object.
2012-05-01 13:28:16 +01:00
Alena Prokharchyk 4e3bdb62d2 Account specific vlan ranges - fixed deleteVlanRange
Conflicts:

	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
2012-04-24 17:16:58 -07:00
Alena Prokharchyk ccd0472201 CS-14622: fixed adding vlan range per account - associate it with the Guest network, not public
Conflicts:

	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
2012-04-24 11:42:53 -07:00
Salvatore Orlando 58165221ef Now using vnets instead of network id for creating networks
Fixed issues with vif scripts on 5.6FP1
Fixed ipv6 issue on 5.6FP1
Plus other various fixes and improvements

Starting to remove debug code
NOTE: Network is configured correctly but instances do not start. Possibly indefinite wait occuring on some commands

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/guru/OvsGuestNetworkGuru.java
	server/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java
2012-04-24 02:20:37 +01:00