1487 Commits

Author SHA1 Message Date
Nitin Mehta
3c68f1f8e8 bug CS-15200: Introducing state transition when volume is getting copied from secondary storage and it is put into Creating state
Reviewed-by: Kishan
2012-08-03 17:18:13 +05:30
Alena Prokharchyk
befd6dd0c6 listVirtualMachines: implemented search by templateId/isoId
Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/ListVMsCmd.java
2012-08-02 18:15:13 -07:00
Koushik Das
3f571684aa CS-15631 : Support for up to 16 VDIs per VM on XS 6.0 and above
Support for up to 16 VDIs per VM on XS 6.0 and above (16 VDIs => root + cd + 14 data volumes). Currently in CS number of data disk that can be attached to VM is hard-coded to 6. Made this setting configurable by moving it to hypervisor capabilities. Although XS 6.0 and above supports upto 16 VDIs but while testing on XS 6.0.2 found that only 13 data volumes can be attached to a VM. So for XS 6.0 and 6.0.2 max_data_volumes_limit is set to 13 currently.

Signed-off-by: Koushik Das <Koushik.Das@citrix.com>
2012-08-01 19:39:30 +05:30
Chip Childers
640087b534 api license header fixes 2012-07-31 20:31:57 -04:00
Pranav Saxena
36fc2bd9b5 CS-15044:API changes and UI changes to provide option to view the name of the guestnetwork a virtual machine belongs 2012-07-31 02:57:46 +05:30
Hugo Trippaers
236f63fd34 When cleaning up or setting ip associations the NiciraNvpElement should be ignored.
Implemented a generic ConnectivyProvider interface work around the dependency from server to nicira-plugin.
2012-07-30 15:17:35 +02:00
kishan
9611a017e9 bug CS-15389: Added prepareStop to Virtualmachine manager and moved network usage collection into prepareStop of VR manager 2012-07-27 23:37:46 -04:00
Alena Prokharchyk
3f4b7602f4 CS-15628: ip address id is required by createFirewallRule command 2012-07-26 13:36:35 -07:00
Wido den Hollander
406fd95d87 Add RBD support for primary storage
This patch adds RBD (RADOS Block Device) support for primary storage in combination with KVM.

To get this patch working you need:
- libvirt-java 0.4.8
- libvirt with RBD storage pool support (>0.9.13)
- Qemu with RBD support (>0.14)

The primary storage does not support all the functions of CloudStack yet, for example snapshotting is disabled
due to the fact that backupping up a RBD snapshot is not possible in the way CloudStack wants to do it.

Creating templates from RBD volumes goes well, creating a VM from a template however is still a hit-and-miss.

NFS primary storage is also still required, you are not able to run your System VM's from RBD, they will need
to run on NFS.

Other then these points you can run instances with RBD backed disks.
2012-07-26 22:22:26 +02:00
Alena Prokharchyk
7bef9a961d Resource tags: CS-15661 - don't accept NULL or empty key value when create resource tag 2012-07-23 10:51:20 -07:00
David Nalley
50da77c63f cleaning up one remaining license header issue in api 2012-07-20 13:51:56 -04:00
kishan
f2bbf62d9d Added getUser API to get user details using API key. Services like S3 can user this API to authenticate. API is admin only. 2012-07-18 14:20:04 -07:00
Hugo Trippaers
79c7da07ab Phase 1 of Nicira integration 2012-07-11 17:16:06 -07:00
Alena Prokharchyk
63d6941bdc ResourceTags: respect tag parameter in listTemplates/listIsos commands
Conflicts:

	server/src/com/cloud/storage/dao/VMTemplateDao.java
	server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
2012-07-06 16:59:14 -07:00
Alena Prokharchyk
85677b71fe Resource tags: CS-15473 - fixed delete/list by resourceId when UUID is specified as a value
Conflicts:

	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/vpc/Dao/StaticRouteDaoImpl.java
	server/src/com/cloud/network/vpc/Dao/VpcDaoImpl.java
	server/src/com/cloud/projects/dao/ProjectDaoImpl.java
2012-07-06 11:43:31 -07:00
Alena Prokharchyk
710fa36bfd CS-15474: fixed response name for the deleteTags API 2012-07-06 11:43:31 -07:00
Alena Prokharchyk
7acf8585b1 Resource tags: 1) Remove tag records when correspdonding cloudStack object gets removed
2) added "tags" request parameter to the banch of list* Api commands (listVirtualMachines, listSnapshots - all commands are listed in the resource tags functional spec)

Conflicts:

	api/src/com/cloud/api/commands/ListFirewallRulesCmd.java
	api/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java
	api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java
	api/src/com/cloud/api/commands/ListSecurityGroupsCmd.java
	api/src/com/cloud/api/commands/ListSnapshotsCmd.java
	api/src/com/cloud/api/commands/ListVolumesCmd.java
	api/src/com/cloud/api/response/FirewallResponse.java
	api/src/com/cloud/api/response/IPAddressResponse.java
	api/src/com/cloud/api/response/VolumeResponse.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/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
	server/src/com/cloud/vm/dao/UserVmDaoImpl.java
2012-07-06 11:43:31 -07:00
Alena Prokharchyk
81afcabdb2 Added missing package name mistakenly removed by headers cleanup checkin 2012-07-05 11:12:02 -07:00
David Nalley
a77b6756fc more cleanups of license headers and attribution 2012-07-04 21:48:07 -04:00
David Nalley
c0d5f86356 a bit more license header cleanup 2012-07-04 19:53:04 -04:00
Murali reddy
c41094154d moving out OVS code to plugins/network-elements/ovs 2012-06-28 17:23:41 -07: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
Vijayendra Bhamidipati
361ca9643d CS-15173: Additional Cluster is allowed to add with the same VSM IPaddress as the previous cluster
Description:

    Restricting association of a Cisco Nexus VSM to a single
    cluster.
2012-06-22 13:31:56 -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
Alena Prokharchyk
55a12582b4 Completed API / Management server code for Resource tags feature. UI is yet to be done 2012-06-20 15:45:08 -07:00
Alena Prokharchyk
62d45b9670 Initial checkin for resource tags feature
Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/uuididentity/dao/IdentityDao.java
	server/src/com/cloud/uuididentity/dao/IdentityDaoImpl.java
	setup/db/create-schema.sql
2012-06-20 15:45:08 -07:00
Wido den Hollander
bc94948e06 agent: Set the listen addr of a VM specificly to the private IP of a host
Now users have to modify their /etc/libvirt/qemu.conf vnc_listen, this is not needed anymore
2012-06-20 15:29:26 +02:00
Abhinandan Prateek
27e504cb18 bug CS-15285: preserving order of network ids so that first network is taken as the default network 2012-06-20 11:32:43 +01:00
Alena Prokharchyk
810151586b 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
	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
2012-06-15 16:47:13 -07:00
David Nalley
c15948a3ef committing Chip Childers patches fixing licensing headers
Applying to the following directories:
* api
* deamonize
* agnet
* agent-simulator
* cloud-cli
2012-06-12 12:32:58 -04:00
Vijayendra Bhamidipati
15d0cf782a CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Removed the vcenter_dc_name and vcenter_ipaddr
	fields from the virtual_supervisor_module
	table, the CiscoNexusVSMDeviceVO, addClusterCmd,
	and all other references to these two fields.

	Fixing null pointer exceptions when checking
	for nexus related global parameter values in
	addClusterCmd.

Conflicts:

	api/src/com/cloud/api/commands/AddClusterCmd.java
2012-05-25 18:37:20 -07:00
Vijayendra Bhamidipati
82ffddc7b8 CS-15055: DB exception when creating n1kv VSM when adding a cluster via the latest management server GUI.
Description:

	Adding an optional flag to the addCluster command,
	"addvsmflag". If this is set to true, the API will
	throw an exception if any VSM parameter is missed
	out. The above bug was running into a DB exception
	because the vCenter ipaddress wasn't passed in and
	the API didn't catch it.
2012-05-25 18:28:10 -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
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
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
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
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
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
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
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
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
7028357111 Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Fixing a wrong package path in CiscoNexusVSMResponse.

	More commits to follow.
2012-05-25 17:05:41 -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
prachi
3fd17ae029 Merge awsapi related changes to CloudStack 2012-05-25 14:40:53 -07:00
prachi
751972a3b4 CS-15061: Not able to add account based ingress rules.NullPointerException seen in management server logs.
Reviewed-By: Sheng Yang

Adding null check - regression due to CS 14968
2012-05-22 18:06:56 -07:00
Murali reddy
a4b0759c52 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:18:37 +05:30
Nitin Mehta
ed0b98ee75 bug CS-14945:
UploadVolume API is async now with the guidance for all the new apis added in 3.0.x need to be async. Though the success/failure wont be available through the queryAsync job which will report only the initial validation success or failure. The success or failure and the progress will all be available through listVolumes api.
2012-05-21 15:04:53 +05:30
Nitin Mehta
a4adc25295 bug CS-14945:
UploadVolume API is async now with the guidance for all the new apis added in 3.0.x need to be async. Though the success/failure wont be available through the queryAsync job which will report only the initial validation success or failure. The success or failure and the progress will all be available through listVolumes api.
2012-05-21 14:46:17 +05:30