Commit Graph

296 Commits

Author SHA1 Message Date
Vijayendra Bhamidipati a1eba25802 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Putting in code changes as per Alena's reviews:

	  Replaced references to CiscoNexusVSMDeviceVO
	  in GetCiscoVSMByClusterIdCmd to work with an
	  interface that CiscoNexusVSMDeviceVO instead,
	  since VO objects should not be directly accessed
	  in APIs.

	  Made associated changes in other files.

	More commits incorporating Alena's review comments
	will follow.
2012-05-21 19:16:00 -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 de30d66fd8 Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	1. Added the PortProfile infrastructure:

	    a. PortProfileVO : The VO class to represent a db
	    record of the table port_profile. Each db record
	    represents one port profile.

	    b. PortProfileDao: The interface that declares search
	    functions on the port_profile table.

	    c. PortProfileDaoImpl: The class that defines the
	    interfaces declared in PortProfileDao.

	    d. PortProfileManagerImpl: The class that contains
	    routines that will add or delete db records from
	    the port_profile table. If you want to create/delete
	    a portprofile, call functions from this class.

	    e. Changes to create-schema.sql to create the port_profile
	    table.

	2. Cleaned up code:

	    a. Removed a number of unused Dao and Manager objects in
	    CiscoNexusVSMDeviceManagerImpl.

	    b. Removed the ListCiscoNexusVSMNetworksCmd command.

	    c. Removed a bunch of import statements in a few files.
2012-05-14 18:42:29 -07:00
Vijayendra Bhamidipati aaabd427f6 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Reviewed by: Sateesh Chodapuneedi, Devdeep Singh

Description:

This is the first in a series of commits for integrating the
Cloudstack Management Server with the Nexus 1000v Virtual
Supervisor Module.

These changes introduce the necessary API command interfaces
to work with a Cisco N1KV VSM. The backend logic is still to
be put in and will be incorporated in subsequent commits.
Please do not attempt to use these APIs until then. Also,
these are not yet filled in into commands.xml, so they are
not currently exposed.

Additional APIs would be added if required.

These changes will not break any current management server
functionality.

Given below is a description of the changes put in here:

	Added Cisco N1KV commands to core/api:
	    These are the added commands -

		AddCiscoNexusVSMCmd
		DeleteCiscoNexusVSMCmd
		ConfigureCiscoNexusVSMCmd
		ListCiscoNexusVSMCmd
		ListCiscoNexusVSMNetworksCmd

	Added a Network Element service file for Cisco N1KV.

	Declared the interface functions that we'll need for
	the N1KV VSM.

	Defined a DeviceVO file for the Cisco Nexus Element.

	Created a response file for Cisco Nexus VSM.

	Created new event types for external Switching Management devices.

	Put in logic to call interface methods in ListCiscoNexusVSMNetworksCmd
	and ListCiscoNexusVSMCmd

NOT VSM RELATED:
	Fixed minor typo in some of the event types for external load balancers.

       Added properties of a VSM in the VSM VO class.

       Replaced the "url" input parameter by "ipaddress"
       in the AddCiscoNexusVSMCmd API.

       Added a new file - CiscoNexusVSMElement.java to
       contain the implementation of the functions
       declared in the VSMElementService interface, and
       put in implementations of the functions for the
       Nexus VSM API commands. These functions are
       defined in the CiscoNexusVSMElement class.

       Added a class for Port Profiles (PortProfile.java).
       The fields in this class are still not correctly
       declared as of now. We'll make the required changes
       going forward.

	Added CiscoNexusVSMDeviceManagerImpl class.

	Added CiscoNexusVSMResource class.

	Created a new class to provide a package to
	connect to Cisco Nexus VSMs. This will be a
	set of Java wrapper functions that allow us
	to connect/disconnect and send commands and
	receive the results of those commands via
	XML-RPC. These functions are yet to be
	implemented, and will be checked in in future
	commits.

	Added two new classes, VSMCommand and
	VSMResponse, to encapsulate XML-RPCcommands
	and responses to and from a Ciscon Nexus VSM.

	Put in the following function stubs inside the
	CiscoNexusVSMService class:

		connectToVSM()
		disconnectFromVSM()
		executeVSMCommand()

	Added new field in the Type enum of the "Host"
	interface, for Cisco Nexus VSMs.

	Added two parameters to AddCiscoNexusVSMCommand
		vsmName
		zoneId

	Modified the CiscoNexusVSMDeviceVO constructor to
	take in an zoneId as a parameter when creating
	the VO object.

	Added new interface and class for the DeviceDao
	implementation for Cisco Nexus VSM devices:
		CiscoNexusVSMDeviceDao
		CiscoNexusVSMDeviceDaoImpl

	Removed the vsmvCenterDomainId property, since it's
	going to the same as vsmDomainId, which is the VSM's
	switch Domain Id.

	Have started putting in the following query functions
	in the CiscoNexusVSMDeviceDao interface:

	Put in DAO implementations of some of the above functions in the CiscoNexusVSMDeviceDaoImpl class.

	Added a vsmName parameter to the CiscoNexusVSMDeviceVO class.
2012-05-14 18:15:11 -07:00
Salvatore Orlando 0cdfa7f943 Removing connectivity from service provider list 2012-04-24 02:20:39 +01:00
Salvatore Orlando fbd5edc2e3 Fix conflict resolution errors
Conflicts:

	api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java
2012-04-24 02:20:39 +01:00
Salvatore Orlando cc344ad038 Adding DB support for interfaces OVS tunnel manager will use as GRE endpoints
Conflicts:

	server/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java
2012-04-24 02:20:38 +01:00
Salvatore Orlando 275840bcdb 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/api/ApiResponseHelper.java
2012-04-24 02:20:38 +01:00
Salvatore Orlando 5cdd19152a Open vSwitch tunnel manager
Applying patch with new ovs-tunnel-manager on top of cloudstack oss-master
2012-04-24 02:20:38 +01:00
Salvatore Orlando 2d12cfbc87 Fixing remaining issues with per-VIF flow script and removing version-specific scripts.
Now generating XSnetwork names using gre keys

Plus other minor corrections

Conflicts:

	server/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
2012-04-24 02:20:38 +01: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
Salvatore Orlando f786505a1b Adding Missing file to source control 2012-04-24 02:20:37 +01:00
Salvatore Orlando 8c398654d3 Open vSwitch tunnel manager
Applying patch with new ovs-tunnel-manager on top of cloudstack oss-master

Conflicts:

	api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java
2012-04-24 02:20:37 +01:00
frank 72d284de7d Switch to Apache license 2012-04-03 04:54:14 -07:00
prachi 64311cc3ab Bug 14299 - Fix adding public ip range per account
Changes:
Fixed as described in the bug.

* CreateVlanIpRangeCmd still accept account/domainId info
* if account owns:
- one Isolated network with source nat service enabled, use this network
- more than one Isolated network with source nat service enabled - error out
- none Isolated networks with source nat service enabled, create it only in
case when there is an Isolated network offering with Availability=Required and
source nat service enabled.
2012-03-21 16:46:13 -07:00
Sheng Yang d3142c2977 Refactor VirtualRouterNetworkManagerImpl
Refactor applyDhcpEntry and applyUserData to use applyRules framework.
2012-03-12 16:10:16 -07:00
Alena Prokharchyk 9e9ff4f363 bug 14239: limit number of Isolated account specific networks per account
status 14239: resolved fixed
2012-03-12 15:50:49 -07:00
Alena Prokharchyk 9bdf7fe645 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:54 -08:00
Alena Prokharchyk 12aade4dc7 Changed isElastic to isSystem for the publicIpAddress assigned during the vm deployment in EIP enabled network
Reviewed-by: Chiradeep
2012-02-21 15:38:31 -08:00
Alena Prokharchyk 6a769b81c4 bug 13864: for elastic IP address return the purpose (staticNat or Lb) in listPublicIpAddresses api response
Reviewed-by: Frank
2012-02-17 15:43:12 -08:00
Alena Prokharchyk 18e74a2790 bug 13708: make a search by traffic type when locate physical network in the zone
status 13708: resolved fixed
reviewed-by: Prachi Damle
2012-02-14 12:46:24 -08:00
Sheng Yang fadec7afe7 Add "changecidr" parameter for updateNetwork API
CIDR may be different after update to a service offering contained external
network element, user is required to acknowledge this, otherwise the update
won't process
2012-02-08 15:57:50 -08:00
Sheng Yang 9317eb6bc3 Revert dynamic cidr change 2012-02-08 15:54:22 -08:00
Naredula Janardhana Reddy ce22712293 Bug 12812:
Summary of changes:  Database changes will be rollbacked while applying the LB rule to the Netscaler device.
   - Database changes will be rollbacked to previous state during the following Lb API's:
      1) assignVM to LB rule
      2) remove VM from LB rule
      3) updateLb rule
      4) deleteLb rule
      5) create/attach sticky policy to Lb rule
      6) delete sticky policy from Lb rule
   - Database changes of the Lb rule will be not be rolledback during:
       1) Removing IP
       2) removing VM
2012-02-06 19:16:34 +05:30
Alena Prokharchyk 3a87cf8331 Code style fixes for API package 2012-02-03 14:25:26 -08:00
Alena Prokharchyk 1490e45a1c Fixed format style in a bunch of files (replaced tabs with spaces as a part of it) 2012-02-03 13:49:11 -08:00
Naredula Janardhana Reddy aea81205ef Bug 11845:
Summary of Changes:
    - created a generic way for LB rule validations, so as LB device(like Haproxy) specific validations can be done syncronously.
    - Removed asyncronous validations from Haproxy and done syncronously.
2012-02-01 18:01:11 +05:30
Alex Huang c42f50c4b0 Used a different way to allocate guest ip address. not in used yet. 2012-01-30 16:10:10 -08:00
Alena Prokharchyk 03b4ac91e1 Get new elasticIp when disassociateIP is called for static nat non-elastic IP 2012-01-24 15:15:22 -08:00
Alena Prokharchyk 5307d21210 DisableStaticNat: if elasticIP service is enabled for the network offering, always allocate new elastic ip and create static nat rule for it when disableStaticNat is called 2012-01-24 14:06:01 -08:00
Alena Prokharchyk 8bcf30da85 bug 12869: more changes to NAAS feature 2012-01-20 14:16:30 -08:00
Alena Prokharchyk 212c22b256 Added isElastic flag to ip address 2012-01-19 13:58:35 -08:00
Alena Prokharchyk 6325d21c50 Get new elasticIp when releaseIpAddress is called for elasticIP of the vm 2012-01-19 13:58:35 -08:00
Alena Prokharchyk a8758d292e ElasticLB support in Basic zone.
When elb capability is enabled on the network offering, we:

1) on each createLB command:
* associate ip address to the LB rule owner
* create LB rule

2) on each deleteLb command:
* delete the rule
* disassociate ip address

The rule belongs to the owner, so proper usage events are generated
2012-01-19 13:57:37 -08:00
Alena Prokharchyk ff1e8413f1 1) Added StaticNat/Firewall/Lb capabilities to Netscaler element. Renamed it to "NetscalerElement" from NetscalerLoadBalancingElement as it serves more services now
2) Added elasticIp and elasticLb network capabilities. Provided support to create network offering with these capabilities.
3) Added one more default network offering having elasticip and elasticlb
4) Public network support to Basic zone. You can associate/disassociate IP addresses now
2012-01-19 13:56:59 -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 56b3561033 bug 12856: network offerings with services w/o providers support
status 12856: resolved fixed
2012-01-17 16:17:09 -08:00
Alena Prokharchyk adaea570e4 bug 12934: added name to physical network
status 12934: resolved fixed
2012-01-09 14:20:37 -08:00
frank 391f3e8b30 Bug 12777 - Add storage network configuration into CloudStack
fix typo: changing ListTafficTypeImplementorsCmd to ListTrafficTypeImplementorsCmd
2012-01-09 10:53:08 -08:00
Alena Prokharchyk c581506103 bug 12306: list* command revamp 2012-01-09 10:07:42 -08:00
frank 4bb580de86 Bug 12777 - Add storage network configuration into CloudStack
new API: UpdateStorageNetworkIpRangeCmd

Bug 12777: resolved fixed
2012-01-06 11:07:15 -08:00
frank ea422af8a9 Bug 12777 - Add storage network configuration into CloudStack
Let StorageGuru inherit PodBaseNetworkGuru
2012-01-06 11:07:14 -08:00
frank ec7c22f5c7 Bug 12777 - Add storage network configuration into CloudStack
new API: ListTafficTypeImplementors
2012-01-06 11:07:14 -08:00
frank f72940e041 Bug 12777 - Add storage network configuration into CloudStack
most finish
2012-01-06 11:06:18 -08:00
frank 0b01c5dc1a Bug 12777 - Add storage network configuration into CloudStack
create APIs
2012-01-06 11:06:17 -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
Alena Prokharchyk d4e0fbda83 bug 12686: added search by zoneId to the listNetworkOfferings 2012-01-04 12:31:59 -08:00
Murali reddy 4f058feef2 bug 12276: public IP's should be associated with a network service provider depending on the network rules for which IP is used for 2011-12-19 23:48:52 +05:30
Prasanna Santhanam dac505194c Changes to PhysicalNetworkTrafficType to accomodate the simulator hypervisor type 2011-12-15 19:12:21 +05:30