Commit Graph

16749 Commits

Author SHA1 Message Date
Vijayendra Bhamidipati 9fcdfe5b19 CS-15024: NullPointerException thrown while executing GetVmStatsCommand
Description:

	Fixing incorrect non-null object check.
2012-05-25 18:24:02 -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 a31aa29423 Bug CS-15020: DB inconsistencies after upgrade from Acton to Bonita
Description:

	Putting in table creation DMLs in upgrade script
	when upgrading from Acton (3.0.2) to Bonita (3.0.3).
	Please note that the field names in the tables need
	to be changed as per naming conventions. Those changes
	will be checked in in an upcoming commit.

Conflicts:

	setup/db/db/schema-302to303.sql
2012-05-25 18:22:41 -07:00
Sateesh Chodapuneedi e952f0d5f3 CS-15010 Nexus vSwitch: Advanced Zone - System VMs failed to deploy due to Start Command Failure
CS-15016 SSH connections to VSM are not cleared [Once the connections are exceeded it failed to connect to VSM]

Conflicts:

	core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
	vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java
2012-05-25 18:17:59 -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 b3e05a7dcb CS-14937: System VMs and Router VMs does not come up after upgrading from 3.0 to Bonita
Description:

	Reverting my earlier fix for bug 14937. The fix is
	not needed.
2012-05-25 18:10:35 -07:00
Vijayendra Bhamidipati f7797e8b02 CS-14937: System VMs and Router VMs does not come up after upgrading from 3.0 to Bonita
Description:

	Putting in fix for bug 14937. Please note however,
	that this fix may be modified later.
2012-05-25 18:10:18 -07:00
Devdeep Singh 3006bed6df CS-14948: Fixing an issue with parsing the xml-rpc response to a command
from vsm. This was throwing false exceptions when infact the command
execution was a success. Also adding retry logic for create port profile
request.
2012-05-25 18:08:48 -07:00
Sateesh Chodapuneedi a20aace44e CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Temporarily skipping exception until vsmresponse
	parser doesn't throw malformed exceptions after
	adding port profile for native access.
2012-05-25 18:08:28 -07:00
Vijayendra Bhamidipati 187d32057e CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Didn't stage all modified files in previous
	commit by mistake. Checking in the rest of
	the changes in this commit. Please refer to
	immediate previous commit for CS-9919 for
	details on what changes went in with this
	commit.

Conflicts:

	client/tomcatconf/cisconexusvsm_commands.properties.in
2012-05-25 18:07:48 -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 b793c4c0fe 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-25 18:04:46 -07:00
Sateesh Chodapuneedi 49673d772b CS-14940 VSM access credentials are logged in clear text with Management-server.log
Removed debug log after fetching the credentials.
2012-05-25 18:04:33 -07:00
Sateesh Chodapuneedi ed79950faa CS-14937 System VMs and Router VMs does not come up after upgrading from 3.0 to Bonita
Enabling virtual NIC association with distributed vNetwork only in Nexus dvSwitch is enabled.

Conflicts:

	core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
2012-05-25 18:04:15 -07:00
Sateesh Chodapuneedi 67bfe23d28 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.

Conflicts:

	server/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
2012-05-25 18:00:13 -07:00
Sateesh Chodapuneedi c65199cd8c CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Added VSM credentials to AddClusterCmd(optonal params only).
Cleanup.

Conflicts:

	api/src/com/cloud/api/commands/AddClusterCmd.java
2012-05-25 17:56:46 -07:00
Sateesh Chodapuneedi 9709774b4b CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Instance configuration to join distributed vNetwork.

Conflicts:

	core/src/com/cloud/hypervisor/vmware/manager/VmwareManager.java
	core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
	vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareHelper.java
2012-05-25 17:53:00 -07:00
Sateesh Chodapuneedi 7838b3fed6 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Discover dvSwitch UUID for dvPort configuration.

Conflicts:

	vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java
2012-05-25 17:47:58 -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
Sateesh Chodapuneedi c59d5415ad 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.

Conflicts:

	core/src/com/cloud/hypervisor/vmware/manager/VmwareManager.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-05-25 17:44:02 -07:00
Sateesh Chodapuneedi 6d896951b3 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Increasing the window for xmlstream.
2012-05-25 17:41:31 -07:00
Vijayendra Bhamidipati d933358f10 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Adding command getCiscoVSMByClusterId to
	retrieve a VSM associated with a cluster.
2012-05-25 17:41:24 -07:00
Devdeep Singh 8db1ca296b CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Do not set the access mode of an interface if vlanid is zero.
2012-05-25 17:41:17 -07:00
Sateesh Chodapuneedi b6687faf89 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Retreving physical network configuration from
	database. Passing configuration down to resource.
	Cleanup.

Conflicts:

	core/src/com/cloud/hypervisor/vmware/manager/VmwareManager.java
	server/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
2012-05-25 17:40:38 -07:00
Devdeep Singh 8d1b9c2477 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Adding api to remove from a service policy
	(policy map) from a port profile.
2012-05-25 17:36:48 -07:00
Devdeep Singh ec19facd30 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Adding apis to create service policies and
	associate them with a port profile.
2012-05-25 17:36:42 -07:00
Sateesh Chodapuneedi aa1f26cb00 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Moved dvSwitch specific functionality over datacenter.

Conflicts:

	vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java
	vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
2012-05-25 17:35:50 -07:00
Sateesh Chodapuneedi 04898a0bf9 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Cleanup upgrade script.
2012-05-25 17:29:44 -07:00
Vijayendra Bhamidipati 7e845cfa62 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	1. Removed CiscoNexusVSM.java.

	2. Put in invocation of Netconfhelper's
	   connect method to a VSM, in
	   CiscoNexusVSMDeviceManagerImpl.java.
2012-05-25 17:29:35 -07:00
Sateesh Chodapuneedi 8ba1d62b50 CS-9919 Support for Nexus Swiches (Cisco Vswitches)
Description:

	Modified upgrade script to include new global
	configuration parameters.
2012-05-25 17:29:28 -07:00
Sateesh Chodapuneedi fb887ac7b7 CS 9919 - Support for Nexus Swiches (Cisco Vswitches)
Support for various types of vswitches in VMware.
2012-05-25 17:27:15 -07:00
Sateesh Chodapuneedi 205f4a2192 CS-9919 - Support for Nexus Swiches (Cisco Vswitches)
Description:

	Code changes to manage Cisco Nexus 1000v in CloudStack.
	VmwareResource has been modified to leverage Nexus vSwitch.

	Providing following global configuration parameters,

vmware.use.nexus.vswitch -
	This would decide whether Nexus vSwitch in the VMware
	cluster environment would be used/managed by CloudStack
	for it's network infrastructure needs.

vmware.guest.network.vswitch.type -
	This setting would enable CloudStack to use Nexus vSwitch
	in the VMware cluster environment for guest traffic.

vmware.private.network.vswitch.type -
	This setting would enable CloudStack to use Nexus vSwitch
	in the VMware cluster environment for private traffic.

vmware.public.network.vswitch.type -
	This setting would enable CloudStack to use Nexus vSwitch
	in the VMware cluster environment for private traffic.

Functional Specification -
	http://wiki.cloudstack.org/display/RelOps/Cisco+Nexus+1000v+Support+in+CloudStack+-+Functional+Specification

Documentation / README for usage instructions -
	http://wiki.cloudstack.org/display/RelOps/Configuration+instructions+for+CloudStack+Deployment+with+Nexus+vSwitch

Conflicts:

	core/src/com/cloud/hypervisor/vmware/manager/VmwareManager.java
	core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
	server/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
	vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
	vmware-base/src/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
	vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java
2012-05-25 17:27:00 -07:00
Devdeep Singh 0e293b7b5b CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Made changes to persist the vsm configuration
	after updating it.
2012-05-25 17:18:11 -07:00
Devdeep Singh 76e1d338f3 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Adding a helper routine for modifying port
	profile configuration.
2012-05-25 17:18:04 -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
Devdeep Singh 4ff2893ffc CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Updated the add port profile routine to support
	more options (bindingtype, switchport mode, port
	profile types).
2012-05-25 17:17:43 -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
Devdeep Singh 441a811927 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Added handling for error responses from vsm.
	Fixing an issue with port profile creation.
2012-05-25 17:17:02 -07:00
Devdeep Singh 3fd32c1784 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Removing unused classes and references to them.
2012-05-25 17:16:55 -07:00
Devdeep Singh 631cc863e1 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Updated the rpc request generation logic for
	creating and deleting port profiles.
2012-05-25 17:16:48 -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 5109902c9f CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Update create-schema.sql to create tables for
	VSM and VSM-Cluster mapping.

	Fixed an incorrect exception path in
	CSExceptionErrorCode.

Conflicts:

	utils/src/com/cloud/utils/exception/CSExceptionErrorCode.java
2012-05-25 17:11:49 -07:00
Vijayendra Bhamidipati 414435c7f3 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Fixing failure to load ClusterVSMMapDao by
	putting in a constructor that takes no
	arguments, inClusterVSMMapVO.
2012-05-25 17:10:04 -07:00
Devdeep Singh 1198a62453 CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Adding a netconf helper class for adding and
	deleting port profiles. These functions need
	to be further parameterized and error handling
	needs to be taken care of.
2012-05-25 17:09:54 -07:00