Commit Graph

464 Commits

Author SHA1 Message Date
Murali reddy 8aa2b55dd6 moving out NetApp code to plugins/file-systems/netapp 2012-07-02 08:34:02 -07:00
David Nalley e87558256c Patch from Chip Childers
https://reviews.apache.org/r/5704/
License header updates for the server folder
2012-07-02 09:51:21 -04:00
Murali reddy 8197f1f07c moving out VMWAre and Nexus VSM support code into plugins/hypervisors/vmware 2012-06-26 19:48:55 -07:00
Murali reddy 392ae5cb13 moving out Srx code into Plugins/network-elements 2012-06-25 16:55:53 -07:00
Murali reddy 422c4ce513 moving out F5 code from server into plugins/network-elements/f5/ 2012-06-23 14:16:59 -07:00
Murali reddy 49b88472a5 moving out NetScaler network element code from CloudStack core into plugins/network-elements/netscaler 2012-06-21 18:57:18 -07:00
Vijayendra Bhamidipati 7f26a43d48 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Incorporating more changes from Alena's review.

	Modified the Nexus Enable and Disable commands
	to return CiscoNexusVSMResponse instead of
	SuccessResponse.

	Put event annotations for enable/disable functions
	that the enable/disable nexus commands cal into.
2012-05-25 18:37:50 -07:00
Vijayendra Bhamidipati ed0ba1a0e6 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Incorporating more changes post review by Alena.

	1. Renamed the ListCiscoVSMDetailsCmd command
	   to ListCiscoNexusVSMsCmd. The command will
	   return a list of VSMs always, depending on
	   what parameter is passed to it. If a clusterId
	   is passed to it, it will return the VSM
	   associated to that cluster, if present. If
	   a zoneId is passed in, it will return a list
	   of all VSMs configured for any clusters of
	   type VMware within that zone. If neither is
	   passed, it will return a list of all VSMs
	   configured in the management server. If no
	   VSMs are found, it will return an exception
	   response.

	2. Cleaned up miscellaneous code.

Conflicts:

	client/tomcatconf/cisconexusvsm_commands.properties.in
	server/src/com/cloud/server/ManagementServerImpl.java
2012-05-25 18:27:29 -07:00
Vijayendra Bhamidipati ffaa8cc20a CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	More changes incorporating Alena's review comments:

	  1. Changed id to clusterId for better naming.

	  2. Changed the name of GetCiscoVSMByClusterIdCmd
	     to ListCiscoVSMDetailsCmd.

	  3. Removed the GetCiscoVSMDetailsCmd command.

	  4. Removed catch{} blocks in each of the Nexus
	     related APIs since the exceptions raised in
	     the API implementations will be caught in the
   	     command dispatcher.

	  5. Added ActionEvent annotation to
	     deleteCiscoNexusVSM() function.

	  6. Modified each Nexus API command's
	     getEntityOwnerId() to return
	     Account.ACCOUNT_ID_SYSTEM.
2012-05-25 18:23:51 -07:00
Vijayendra Bhamidipati e7246847ac 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-25 18:23:40 -07:00
Vijayendra Bhamidipati 78d40da1bf CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Removing two unexposed APIs that we never use:
		ConfigureCiscoNexusVSMCmd
		ListCiscoNexusVSMCmd

	More changes to follow.
2012-05-25 18:23:21 -07:00
Vijayendra Bhamidipati b28568a221 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Modified the following commands to be Async:
		a. EnableCiscoNexusVSM
		b. DisableCiscoNexusVSM
		c. DeleteCiscoNexusVSM

	Cleaned up miscellaneous code.
2012-05-25 18:11:04 -07:00
Vijayendra Bhamidipati c5aba77927 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Removed the AddCiscoNexusVSMCmd command, and all
	references to it. From now on, we shall support
	adding a Nexus VSM only when the cluster is being
	created. The VSM ipaddress, username, password,
	the vCenter DC Name and vCenter Ipaddress that it
	serves and connects to respectively can be passed
	to the addClusterCmd command optionally. To support
	these new parameters, parameters have been added
	to the addClusterCmd command.

	Added a debug statement in the code that runs checks
	when attempting to delete a VSM.
2012-05-25 18:06:59 -07:00
Vijayendra Bhamidipati c08716db00 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Added a new API GetCiscoVSMDetailsCmd. This
	API gets all details of a VSM when provided
	with the VSM ID.

Resolved Conflicts:

	client/tomcatconf/cisconexusvsm_commands.properties.in

Conflicts:

	client/tomcatconf/cisconexusvsm_commands.properties.in
2012-05-25 18:06:27 -07:00
Vijayendra Bhamidipati f774ef7415 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Missed out a file in previous commit when adding
	the new API getCiscoVSMByClusterId. Stub file was
	added by Sateesh to prevent breakage. Putting the
	file in in this commit plus better exception
	handling.
2012-05-25 17:45:03 -07:00
Sateesh Chodapuneedi 75d0f91186 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Added command class GetCiscoVSMByClusterIdCmd.
2012-05-25 17:44:52 -07:00
Vijayendra Bhamidipati 781f0b4966 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-25 17:17:56 -07:00
Vijayendra Bhamidipati 0f28222cce Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	1. Modify addCiscoNexusVSMCmd to enable a VSM
           by default, when it is added to a cluster.

	2. Put in two new APIs exposed to the user -
                a. EnableCiscoNexusVSMCmd
                b. DisableCiscoNexusVSMCmd

        Disabling a VSM does not delete it. It only
        prevents the Management Server from using that
        VSM. This is useful if the VSM is in
        maintenance mode.
2012-05-25 17:17:37 -07:00
Vijayendra Bhamidipati 38c140b181 Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

        1. Put in invocation to the deleteCiscoNexusVSM()
	   function in the deleteCiscoNexusVSM command
	   chain.

        2. Put in additional check for physical servers
	   present in a cluster that still is tied to a
	   VSM. The previous check would query for all
	   hosts in a cluster, causing the check to see
	   if a cluster has any physical servers in it
	   to always fail and thus block the VSM from
	   getting deleted. By putting in a check to see
	   if a host if of type "Routing", we refine this
	   search to only hypervisors.

        3. Other miscallaneous code + cleanup.
2012-05-25 17:17:29 -07:00
Vijayendra Bhamidipati 037ac6592e Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

        1. Changed AddCiscoNexusVSMCmd to:
             a. Extend BaseCmd instead of BaseAsyncCmd.
             b. Take in more required parameters (viz
                vCenterDCName and vCenterIpAddress)

        1a. Changed DeleteCiscoNexusVSMCmd to also
            extend BaseCmd.

        2. Put in changes that will ensure that
           When a VSM is added, it is disabled by default.

        3. Fixed code that was leading to exceptions
           related to DB reads/writes to VSM related tables.

        4. Added new API Constants in ApiConstants.java.
           NOTE - Always initialize new attributes in
           ApiConstants.java to values in small case.
           Never put in upper case there. Also regardless
           of what names you give attributes in the
           *Cmd.java's class, you pass in parameters via
           API calls by specifying <key>=<value> where the
           <key> is taken from the value you specified in
           ApiConstants.java.

        5. Modified the addCiscoNexusVSM() function in
           CiscoNexusVSMDeviceManagerImpl.java to write VSM
           records to the db.
2012-05-25 17:17:18 -07:00
Vijayendra Bhamidipati ab957b8928 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Fixed type of argument taken by AddCiscoNexusVSMCmd
	from ZONE_ID to CLUSTER_ID.
2012-05-25 17:16:38 -07:00
Vijayendra Bhamidipati 7380f52f12 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	1. Missed replacing older table name for VSMs in a few
	   files (changed the name from
	   external_virtual_switch_management_devices to
	   virtual_supervisor_module). Fixed that in this commit.

	2. Missed adding the new Dao ClusterVSMMapDao in the Dao
	   loading in DefaultComponentLibrary. Fixed.

	3. Fixed wrong searchbuilder options passed to ipaddrSearch
	   in CiscoNexusVSMDeviceDaoImpl.
2012-05-25 17:09:41 -07:00
Vijayendra Bhamidipati 28568e694b Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	This is work in progress. This set of changes will not
	compile. Checking in for team wide code sync up.

	Changes are underway to test if VMWareResource can be
	leveraged to talk to the VSM, instead of creating a
	new resource for the VSM, like we've been doing up
	until now.
2012-05-25 17:09:08 -07:00
Vijayendra Bhamidipati 32ba2ef17a 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-25 17:05:15 -07:00
Murali reddy 3b1aca19b3 bug CS-14291: support EIP with multiple NetScalers in basic zone
This fix will enable support for multiple NetScaler devices providing EIP service in same zone.

    - Introduced global setting "eip.use.multiple.netscalers" to turn multiple netscaler support
    - Enhanced configureNetscalerLoadBalancer API to take the PBR setup between the POD's subnet
      and NetScaler device
    - logic to pick a NetScaler (based on the guest IP and corresponding pod) while configuring INAT rule
2012-05-15 14:00:32 +05:30
David Nalley 59436be4ee fixing line endings in server 2012-04-07 20:13:10 -04:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
Alena Prokharchyk 2e9511e2ae Changed isElastic to isSystem for the publicIpAddress assigned during the vm deployment in EIP enabled network
Reviewed-by: Chiradeep
2012-02-21 15:39:49 -08:00
kishan ced6fd46b8 Bug 12954: Added usage for security groups. Usage will be generated for each security group that is assigned to a Vm.
Status 12954: resolved fixed
Reviewed-By: Nitin
2012-02-17 13:50:18 +05:30
kishan 9a6e0abe8c Bug 13599: Used IdentityDao to map usage records to correct UUIDs
Status 13599: resolved fixed
Reviewed-By: Nitin
2012-02-10 16:34:02 +05:30
kishan c7337f00be Bug 12802: Updated generate usage records API description
Status 12802: resolved fixed
Reviewed-By: Nitin
2012-02-10 12:00:14 +05:30
kishan b15e5d6730 Bug 13326: Include isElastic flag in IPAddress usage response
Reviewed-By: Nitin
2012-02-03 18:03:04 +05:30
Edison Su 3aa9a312b4 seems netapp part of code is missing due to merge
Revert "bug 10837: rename api related to netapp"

This reverts commit 5db6b500dd1bbb96bfddbd7eda6cf1f616e2e0f9.

Conflicts:

	api/src/com/cloud/api/commands/MigrateVolumeCmd.java
	client/tomcatconf/commands-ext.properties.in
2012-01-12 15:17:27 -08:00
Murali Reddy c9b2031fa9 changes in add/configure API commands for F5 & Netscaler for UI integration 2011-11-21 13:31:54 -08:00
Murali Reddy 75121bd762 bug 11817 : NAAS external networking device support
- added pluggable (service) API's for managing F5 and SRX devices
2011-11-16 10:53:22 -08:00
Murali Reddy 0b05badaaa bug 11817: NAAS external network device support
-made Netscaler, SRX, F5 network elements as pluggable service
   -added abstract load balancer device manager ExternaLoadBalancerDeviceManager
   -made both F5 and Netscaler pluggable service to extend ExternaLoadBalancerDeviceManager
   -added abstract firewall device manager ExternalFirewallDeviceManager
   -made SRX pluugable service to extende ExternalFirewallDeviceManager
   -added API's to configure and manage netscaler devices
2011-11-15 12:18:59 -08:00
Sheng Yang bde1f6d2de Merge branch 'networkasservice'
Conflicts:
	api/src/com/cloud/api/commands/CreateRedundantVirtualRouterElementCmd.java
	api/src/com/cloud/api/commands/CreateVirtualRouterElementCmd.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	setup/db/create-schema.sql
2011-11-10 16:36:08 -08:00
Alex Huang f6fcaa49ec Merge complete except for virtualnetworkappliancemanager 2011-11-10 15:18:16 -08:00
Murali Reddy 122b62066a bug 11817: NAAS: device allocation logic
- adding a allocation state to device
 - change device allocation logic based on network offering  and device state
2011-11-10 09:55:23 -08:00
Kelven Yang 924e556c95 bug 6745: Using UUID instead of integers - for all commands 2011-11-03 07:34:00 -07:00
Edison Su 4c1a2f50bd bug 10837: rename api related to netapp
status 10837: resolved fixed
2011-10-26 17:37:04 -07:00
Murali Reddy a48ee9c568 add support for multiple provider instanes per physical network
refactor NetworkDevicemanager and ExternalnetworkdeviceManager in to one single manager
2011-10-27 03:07:30 +05:30
Murali Reddy aa808f5685 -Added LB serive provider (seperating it out from Firewall service provider)
-Bringing add/delete/list of all external network devices under one unified API's (addNetworkDevice, deleteNetworkDevice, listNetworkDevice)
-Refactoring External network manager to work from both sets of API's add/delete/list NetworkDevice and add/delete/list External Firewall/LoadBalancer
2011-10-21 18:15:36 +05:30
alena 7433d5314a 1) Refactored networkOfferings:
* moved all services to the separate table, map them to the network_offering+provider.
* added state/securityGroupEnabled properties for the networkOffering
* added ability to list by state/securityGroupEnabled in listNetworkOfferings api command

2) New service: SourceNat
2011-10-12 16:38:59 -07:00
alena a17570ef51 1)Implemented Suspend/Activate project
2)Email/token based invitation system
2011-10-06 16:10:36 -07:00
alena 9f9b60a287 1) Added resource limits for the Projects - the same as for the account
2) Added "Project" limit type for the Domain object
2011-09-21 17:09:49 -07:00
frank b3478c377e Full opensource 2011-08-23 19:52:19 -07:00
Alex Huang 1e44925564 api refactoring 2010-11-21 12:00:21 -08:00
Chiradeep Vittal 394554770e Enforce user limit on number of vpn users 2010-11-18 18:38:29 -08:00
alena 0b2b8e31d8 Fixed updateUser command - didn't work correctly via 8096 port (user account info was taken from UserContext instead of User object). 2010-11-18 17:07:20 -08:00