Commit Graph

641 Commits

Author SHA1 Message Date
alena b7e4ec1749 bug 9564: 1) For all list commands set pageSize() to default.page.size if not specified 2) When pageSize is specified in the request, and it's more than default.page.size - throw an exception
status 9564: resolved fixed
2011-04-29 16:57:38 -07:00
prachi b2b01bfcd2 Bug 8830 - Return parent template ID from templates created off of a snapshot
Changes:
- Added a new column `source_template_id` to vm_template table to carry the parent/source template ID from which the tempalte was created
- Added the column in db upgrade 224 to 225
- Changed code to save the source_template_id if there is one associated to the volume/ volume from which the snapshot was taken
- API response returns the sourcetemplateid field, if set, in all template usecases.
2011-04-29 15:40:59 -07:00
Alex Huang 99bc15f64a changed getName to getHostname 2011-04-29 08:34:10 -07:00
nit f5cc308e77 bug 7140: Add MAC address in response list of LlistVirtualMachines API.
status 7140: resolved fixed
2011-04-29 18:41:46 +05:30
prachi 25fd7cd999 Merging changes from zonesfeature branch: Adding dhcp_provider parameter to UpdateZoneCmd 2011-04-28 23:28:14 -07:00
prachi 86b386e8c0 Merging changes from zonesfeature branch for Bug 8026 - discern proper cluster/pod/zone for added host (and refactor AgentManagerImpl)
- CreateZone API creates a zoneToken, inserts in DB and returns it in the
response

- UpdateZone API takes in 'details' map that is loaded to data_center_details
2011-04-28 23:08:58 -07:00
will 633d024b7c - Merge all CloudZones Registration feature into master 2011-04-28 16:05:36 -07:00
alena f8742adcd5 bug 9621: set addressFormat during NicProfile creation
status 9621: resolved fixed
2011-04-27 23:19:43 -07:00
Frank 6f322474c1 network devices APIs 2011-04-27 14:04:38 -07:00
Alex Huang cc8bdf354b storage stats can be such that it doesn't work if one storage pool cannot be reached. 2011-04-27 13:56:52 -07:00
Murali Reddy c12ccbd06f Bug 9534 : implement CPU cap
Introducing new boolean flag in service offering to restrict the user VM's CPU utilization to what service offering it is entitled for.
2011-04-27 13:54:45 +05:30
Abhinandan Prateek 0fc005f20a bug 6451: XenServer username/password should be changable through API 2011-04-27 12:08:02 +05:30
Alex Huang 9909371eaa bug 9445: Signal alert for the host if a primary storage pool was unavailable on that host 2011-04-26 15:09:36 -07:00
alena 4290abb57c bug 9578: when deploy dhcp in Basic zone, put pod information to deploymentPlan
status 9578: resolved fixed
2011-04-26 14:57:40 -07:00
prachi 18b773650f Bug 9447 - ModifySshKeyCommand contents are logged...
- Local fix to not log the content for ModifySshKeyCommand.
- For commands that do not want to log the parameters, added the facility to indicate this.
- For such commands, we remove the parameters from the log.
2011-04-25 14:22:50 -07:00
alena 4953461e57 bug 8809: listHypervisors api - when zoneId=-1 is specified, only hypervisors availble in all zones are being returned 2011-04-25 10:39:51 -07:00
prachi b84a7477f0 Bug 9539 - cpu.overprovisioning.factor does not work
Changes:
- Changed host allocators/planner  to use cpu.overprovisioning.factor
- Removed following: while adding a new host, we were setting the total_cpu in op_host_capacity to be actual_cpu * cpu.overprovisioning.factor. Now we set it to actual_cpu.
- ListCapacities response now calculates the total CPU as actual * cpu.overprovisioning.factor (This change does not add anything new - listCapacities was pulling total CPU from op_host_capacity DB earlier which had the cpu.overprovisioning.factor applied already. Now we need to apply it over the DB entry.)
- HostResponse has a new field: 'cpuWithOverprovisioning' that returns the cpu after applying the cpu.overprovisioning.factor

- Db Upgrade 222 to 224 now updates the total_cpu in op_host_capacity to be the actual_cpu for each Routing host.
2011-04-22 18:09:31 -07:00
Kelven Yang 160b2e1114 Finalize custom certficate support. hook with UI 2011-04-22 13:45:09 -07:00
alena 41e5e38fef bug 9336: securityGroups can be used by other securityGroups in the same domain only; no cross domain SG authentication
status 9336: resolved fixed

Following changes were made:

* deleteSecurityGroup/authorizeSecurityGroupIngress - removed account/domainId parameters as SG is uniquely identified by id now
* removed account_name field from securityGroup DB table; removed allowed_security_group/allowed_sec_grp_acct from security_ingress_rule.
These values were used for api response generation only for performance purposes; added caching on API level to improve performance
* Added missing security checks for securityGroups/ingressRules
2011-04-22 11:35:29 -07:00
prachi 09b4b06b63 Bug 9447 - ModifySshKeyCommand contents are logged...
Since private and public keys are logged, this is a Security concern

Changes: Added capability to 'Command' instances to support excluding certain fields from getting logged using GSON @Expose annotation.
2011-04-22 10:43:26 -07:00
Kelven Yang e69774e13a Add console proxy management state, support certificate upload, all done except UI 2011-04-21 18:46:37 -07:00
alena 1a6d78eae4 Code cleanup. No need to declare runtime exceptions (CloudRuntimeException, InvalidParameterException, PermissionDenied exceptions) 2011-04-21 16:26:53 -07:00
alena c844655825 bug 9488: throw InsufficientVirtualNetworkCapcityException when fail to allocate guest vnet as a part of network implement() call
status 9488: resolved fixed
2011-04-21 13:59:06 -07:00
alena f881d394e2 bug 9415: deleteHost - cleanup vms running on the host to be removed
status 9415: resolved fixed
2011-04-20 15:50:10 -07:00
Abhinandan Prateek efa0417881 bug 5242: adding a host does not return useful error
status 5242: closed fixed
2011-04-15 17:28:46 +05:30
alena f830b8cd70 Removed trailing spaces from Api doc for createPortForwardingRule command 2011-04-14 16:14:39 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
Alex Huang 6936a666fd removed some references to name 2011-04-14 03:54:34 -07:00
prachi 88c0126878 Bug 9187: modify userdata with update vm
Changes:
- UpdateVMCmd is changed to take in userData as a parameter
-The userData is updated in the DB if it is non-null.
2011-04-13 19:22:18 -07:00
prachi b1700af146 Bug 9387: Recreate system vms if template id changed....
Changes:
While starting a System VM:
- We check, incase the ROOT volume is READY, if the templateID of the volume matches the SystemVM's template.
- If it does not match, we update the volumes' templateId and ask deployment planner to reassign a pool to this volume even if it is READY.

In general:
- If a root volume is READY, we remove its entry from the deploydestination before calling storagemanager :: prepare()
- StorageManager creates a volume if a pool is assigned to it in deploydestination passed to it.
- If a volume has no pool assigned to it in deploydestination, it means the volume is ready and has a pool already allocated to it.
2011-04-13 13:47:07 -07:00
alena 8abda2fdd0 Changed description for Destroyed volume state. 2011-04-13 13:01:31 -07:00
alena 4d8df029d3 bug 8245: mark storage pool status as Removed before performing actual cleanup
status 8245: resolved fixed
2011-04-12 14:44:55 -07:00
alena 0da82b4062 bug 9353: API doc update for updateTemplatePermissions and createTemplate calls
status 9353: resolved fixed
2011-04-11 19:15:09 -07:00
alena acaab55c3e bug 9391: removed source_id, source_type from "volumes" table as we don't use them any more
status 9391: resolved fixed

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
2011-04-11 18:19:10 -07:00
alena 52bf157387 bug 9398: removed resource_type from volumes table as we no longer use it. Corresponding db upgrade scripts are updated
status 9398: resolved fixed

Conflicts:

	server/src/com/cloud/storage/StorageManagerImpl.java
2011-04-11 18:14:35 -07:00
Frank 5645137f9c reslove conflicts api/src/com/cloud/api/ApiConstants.java 2011-04-11 14:26:48 -07:00
Frank 105db3b15a Merge branch 'baremetal' to master
modifies:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/AddHostCmd.java
	api/src/com/cloud/api/commands/CreatePodCmd.java
	api/src/com/cloud/api/commands/DeployVMCmd.java
	api/src/com/cloud/dc/Pod.java
	api/src/com/cloud/network/NetworkService.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/dc/HostPodVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	setup/db/create-schema.sql
	utils/src/com/cloud/utils/SerialVersionUID.java
2011-04-11 14:21:41 -07:00
prachi c3d2bab81b Some more changes for Bug 8932 - add md5 sum to list templates call:
Also changed 'RegisterTemplate' to take in a new optional parameter 'checksum'.
The value set to it is stored as-is in the DB in vm_template table, 'checksum' column.
2011-04-11 13:17:23 -07:00
Frank 0810831fd2 Bug 8208 - bare metal provisioning
set useexternalDHCP to false when creating pod
2011-04-11 10:41:45 -07:00
nit debe236a8d bug 8710: CONTD....Introducing a new user role in cloudstack called RESOURCE_DOMAIN_ADMIN. The role would have all the domain_admin rights and the rights to list zone,pods,clusters and so on. More info in the bug 2011-04-11 19:40:37 +05:30
prachi 77ac511225 Bug 8932 - add md5 sum to list templates call
Modified TemplateResponse to contain a new field 'checksum' of the template. The value is pulled from the vm_template table, 'checksum' column.
2011-04-08 15:01:12 -07:00
prachi 191d689912 Bug 9045: No 'Starting job for VM.MIGRATE' & 'Successfully completed VM.MIGRATE' events shown for VM manual migration
Changes:
- Added the required 'ActionEvent' annotation to the API, so that the events get added.
2011-04-05 16:28:01 -07:00
alena 0fdcba3f4f bug 8855: introduced search by zoneId to listLoadBalancerRules api. Also added "zoneId" parameter to the response
status 8855: resolved fixed
2011-04-05 14:38:47 -07:00
anthony 288a36d09f Merge branch '2.2.4'
Conflicts:
	api/src/com/cloud/configuration/ConfigurationService.java
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	setup/db/db/schema-21to22.sql
	setup/db/db/schema-222to224.sql
	utils/src/com/cloud/utils/exception/ExceptionUtil.java
2011-04-05 12:04:09 -07:00
Frank 5819e8fee0 Bug 8208 - bare metal provisioning
Work with PING
2011-04-04 19:19:42 -07:00
prachi 204aa86686 Bug 9043 - VM manual migration - when destination host is out of memory for migration, VMs being migrated remained in 'migrating' state
Changes:
- When migration fails we try to do cleanup on the destination host agent. The AgentUnavailableException in this cleanup was not caught.
-Due to that other cleanup like reverting capacity allocated and vm state were skipped.
-Fix is to catch the AgentUnavailableException so that rest of the cleanup can happen.
- Also corrected the exceptions in various cases of migration failure.
- In case the VM is still starting, HA should schedule a retry. Introduced a special migration exception for handling this.
2011-04-04 17:39:27 -07:00
prachi 53f8ebf6f0 Bug 9043 - VM manual migration - when destination host is out of memory for migration, VMs being migrated remained in 'migrating' state
Changes:
- When migration fails we try to do cleanup on the destination host agent. The AgentUnavailableException in this cleanup was not caught.
-Due to that other cleanup like reverting capacity allocated and vm state were skipped.
-Fix is to catch the AgentUnavailableException so that rest of the cleanup can happen.
- Also corrected the exceptions in various cases of migration failure.
- In case the VM is still starting, HA should schedule a retry. Introduced a special migration exception for handling this.
2011-04-04 17:30:08 -07:00
Kelven Yang 1692caabe8 Make sure hooking of answer command callback be called for both sync/Async commands 2011-04-04 14:46:19 -07:00
alena af4459f24f Fixed list* api commands. 2011-04-04 11:36:49 -07:00
Frank ab643851c5 Bug 8208 - bare metal provisioning
support dhcpd as external dhcp server
2011-04-02 19:42:27 -07:00
alena 2aeacd5a4c bug 3179: added "count" parameter to the response to all List* api commands 2011-04-01 19:29:08 -07:00
alena bf588166ed bug 7704: network limits cleanup.
status 7704: resolved fixed

For user vm:
* for default network, take limit from the corresponding service offering
* for all additional networks, take limit from the network offerings

For domainRouter/SSVM/CPVM:
* get info from the network offering

Added new config parameter: "vm.network.throttling.rate". If nw_rate is NULL for serviceOffering, this parameter would be used for default vm's network
2011-04-01 15:48:32 -07:00
Kelven Yang ea95ac1808 bug 8713 : finalize the implementation of supporting system vm pooling 2011-03-31 17:14:09 -07:00
alena 6d7f3da46a For VirtualRouter apply networkThrottling rate of the GuestNetworkOffering to both Guest and Public networks. 2011-03-30 14:53:04 -07:00
alena bb31bc779f For VirtualRouter apply networkThrottling rate of the GuestNetworkOffering to both Guest and Public networks. 2011-03-30 14:49:15 -07:00
Alex Huang bf13d2cbec added missing changes from schema changes previously 2011-03-30 13:23:56 -07:00
Alex Huang 971915a26a added missing changes from schema changes previously 2011-03-30 12:17:20 -07:00
Prasanna Santhanam a72427444b including a new Simulator hypervisor type 2011-03-30 19:39:32 +05:30
Murali Reddy 1b251a5fc8 Bug 4061: support for Microsoft Hyper-V changes- part 1 2011-03-30 18:48:51 +05:30
Prasanna Santhanam 5a154e5007 new hypervisor type for simulator 2011-03-30 14:00:50 +05:30
alena efd4cfa297 bug 9201: listNetworkOfferings - return -1 when network_rate is Unlimited; if value is NULL - return global configuration value
status 9201: resolved fixed
2011-03-29 19:26:20 -07:00
alena aab78874c7 bug 9201: listNetworkOfferings - return -1 when network_rate is Unlimited; if value is NULL - return global configuration value
status 9201: resolved fixed
2011-03-29 19:21:25 -07:00
alena f04f2ab10c bug 9192: More improvements to listVm performance - cache dataCenter/serviceOffering/Network/Template/Iso information on Api level
status 9192: resolved fixed
2011-03-29 19:18:30 -07:00
alena 2af46789cb bug 9192: multiple improvementes to listVms command.
1) No longer do multiple searches involving "domain" table; only one join with domain is being done.
2) Do join with domain table only when command is executed by domainAdmin
3) Added index for "path" field in "domain" table
4) No longer do joins with account table as account_id is already present in vm_instance table.
2011-03-29 19:18:30 -07:00
alena 9f3f99f27f bug 9192: More improvements to listVm performance - cache dataCenter/serviceOffering/Network/Template/Iso information on Api level
status 9192: resolved fixed
2011-03-29 18:42:44 -07:00
alena 46a80a599a bug 9192: multiple improvementes to listVms command.
1) No longer do multiple searches involving "domain" table; only one join with domain is being done.
2) Do join with domain table only when command is executed by domainAdmin
3) Added index for "path" field in "domain" table
4) No longer do joins with account table as account_id is already present in vm_instance table.
2011-03-29 18:42:44 -07:00
anthony 0ed810824c bug 9189:
add new command
2011-03-29 10:55:24 -07:00
anthony 4ae19b76ab bug 9189:
add new command
2011-03-29 10:52:11 -07:00
alena 7436654f4f Use correct response type for the user response in list/create/update/enable/disableAccount commands. 2011-03-28 18:28:09 -07:00
alena 65a083b1db bug 8831: no need for "isdedicatedtodomain" and "dedicateddomainid" parameters. If 1) network is private, return account/domainId 2)If network is shared for specific domain, return domainId only 3) If network is shared in zone, don't return account/domainId
status 8831: resolved fixed
2011-03-28 16:54:09 -07:00
alena d3357c6691 Set network limit to be 0 by default for Control/Management/Storage/Public networks (these networks are used by SSVM/ConsoleProxy/domR) 2011-03-28 15:48:11 -07:00
alena cc79f75197 createIpForwardingRule - revoke the rule when it fails to apply on the backend - the way it's done for portForwarding rules 2011-03-28 12:27:00 -07:00
alena 8c61e10c08 bug 9158: introduced new parameter "storageId" to listVirtualMachines api.
status 9158: resolved fixed

1) Works for admins only
2) When specified, list only vms that have volumes on this storage
2011-03-25 18:26:59 -07:00
nit ded1184548 bug 8710: Introducing a new user role in cloudstack called RESOURCE_DOMAIN_ADMIN. The role would have all the domain_admin rights and the rights to list zone,pods,clusters and so on. More info in the bug 2011-03-25 18:04:09 -07:00
alena bb895a7b75 bug 8103: don't allow to remove host if it has Running/Stopping/Starting vms
status 8103: resolved fixed
2011-03-25 17:29:54 -07:00
alena 1932652125 bug 5912: Added events and logging for securityGroup create/delete
status 5912: resolved fixed
2011-03-25 15:23:18 -07:00
Alex Huang 9d158dc060 Removed the async create status for volume now that our customers don't use it 2011-03-24 20:04:23 -07:00
prachi 923f562aa8 Bug 6873: disable/enable mode for clusters (and pods and zones and hosts)
- Added a new flag 'allocation_state' to zone,pod,cluster and host
- The possible values for this flag are 'Enabled' or 'Disabled'
- When a new zone,pod,cluster or host is added, allocation_state is 'Disabled' by default.
- For existing zone,pod,cluster or host, the state is 'Enabled'.
- All Add/Update/List  commands for each of zone,pod,cluster or host can now take a new parameter 'allocationstate'
- If 'allocation_state' is 'Disabled', Allocators skip that zone or pod or cluster or pod.
- For a root admin, ListZones lists all zones including the 'Disabled' zones. But for any other user, the 'Disabled' zones are not included in the response.
- For any usecase that creates/deploys/adds/registers a resource and takes in zone as parameter, now we check if the Zone is 'Disabled'. If yes then the operation cannot be performed by a user other than root-admin. Add volume, snapshot, templates are examples of this usecase.
- To enable the root admin to test a particular pod/cluster/host, deployVM command takes in 'host_id' parameter that can be passed in only by root admin.
If this parameter is passed in by the admin, allocators do not search for hosts and use that host only. StoragePools are searched in the cluster of that host.
If VM cannot be deployed to that host, allocators and deployVM fails without retrying
2011-03-23 22:15:35 -07:00
Kelven Yang 1c9196f9af add vncPassword on hypervisor back 2011-03-23 16:18:22 -07:00
alena 8de3bacd2b bug 9026: added ability to turn off apiCommand/commandParameter for docGeneration
status 9026: resolved fixed

1) Don't expose following commands in doc:

* registerSSHKeyPair
* createSSHKeyPair
* deleteSSHKeyPair
* listSSHKeyPairs

2) Don't show "sshKeyPairName" parameter for deployVm command
2011-03-23 12:56:58 -07:00
alena 7dce8412e4 Fixed API xml doc generation 2011-03-23 12:12:29 -07:00
alena f95d845360 bug 9053: modified updateUser api (mentioned that api and secret keys must be specified together. 2011-03-23 12:12:29 -07:00
alena f84c81a47d bug 8533: all IP Address fields in DB have char(40) type
status 8533: resolved fixed
2011-03-22 14:06:14 -07:00
alena 718386a2b6 bug 8862: added updateNetwork api command. Can update name/displayText only 2011-03-22 11:26:56 -07:00
alena e9a10c53dc bug 8831: added 2 new parameters to create/listNetworks api: "isdedicatedtodomain" and "dedicateddomainid" 2011-03-22 10:17:08 -07:00
alena 7c1a6e4884 bug 8831: API/Management server part is done for "Dedicate Network to domain". UI part is left 2011-03-21 18:17:59 -07:00
Frank b4e18b7fbe Bug 8208 - bare metal provisioning
use hostTags in addHostCmd
2011-03-18 18:04:34 -07:00
alena a27c4881ea bug 7424: 0 value for network.throttling.rate global config param indicates that network throttling is disabled
status 7424: resolved fixed
2011-03-18 15:23:03 -07:00
Kelven Yang 65d4cc98be Allow template re-deployment once template is deleted from hypervisor and CloudStack still holds out-dated status 2011-03-17 17:59:51 -07:00
alena 96e83fe97f bug 8146: Elastic IP support in Basic zone.
Following was done as a part of checkin:

1) NetworkOffering/Network:

* add PF service support for default Guest network offering.
* Add one more additional network - Public.
* Allow to enable external firewall in Basic zone.

2) Don't allow to deployVm in Public Network.
3) Allow to add vlan ip ranges to Public networks in Basic zone.
4) Associate IP - allow to associate with Direct vms.
5) Allow to create PF/Static nat rules. Rules are being sent to External Firewall Rule only.
6) Add PF support to External Firewall element.
2011-03-17 17:19:36 -07:00
will ae549ed4d1 bug 8208: Added first addHost dialog to take into account baremetal requirements in the resource page.
- Standardized the addHost optional parameters for baremetal.
2011-03-17 16:29:31 -07:00
Chiradeep Vittal 8d791777db Introduce zone (datacenter) details 2011-03-15 15:44:36 -07:00
alena d2f92f1c76 bug 8973: Create Virtual Guest network as a part of deployVm if corresponding networkOffering has availability=Required and no networkIds are specified
status 8973: resolved fixed
2011-03-15 15:06:52 -07:00
alena d3f04b2b38 bug 8945: introduced "default.page.limit" config param (default value is 500). Used for pagination in API list* commands.
status 8945: resolved fixed
2011-03-15 15:06:52 -07:00
nit f88fb1e505 bug 8887 : Stats Calculation Improvement - Storage stats wont update DB anymore and would be kept "in memory" just like other stats. For the listCapacityCmd which consumes it (sec. storage used and primary storage used) this would be constructed using the in memory maps rather than DB which wont have sec storage and primary storage used in the DB anymore. 2011-03-14 18:45:00 -07:00
Frank ffb900fc86 Bug 8208 - bare metal provisioning
Add useExternalDhcp option to createPodCmd
2011-03-14 16:42:59 -07:00
alena bf1aae8413 bug 8730: perform permission check when listSshKeyPair
status 8730: resolved fixed
2011-03-14 16:03:25 -07:00
alena c32198838f bug 8724: can create sshKeyPair in behalf of other users now
status 8724: resolved fixed
2011-03-14 15:37:50 -07:00
prachi 402f275a9f Change for Bug 3316 - manual live migration
The MigrateVMCmd response should be in all small case.
2011-03-11 17:49:54 -08:00
prachi ed9a11c6b6 API changes for Bug 3316 - Manual live migration of Virtual Machines
This is a Root admin only functionality
---------------------
Service API changes:
---------------------
- ManagementServer  will expose new API:
   Pair<List<HostVO>, List<Long>> listHostsForMigrationOfVM(UserVm vm, Long
startIndex, Long pageSize)
The API returns list of all hosts in the VM's cluster minus the current host and also a list of hostIds that seem to have enough CPU and RAM capacity to host this VM.
- ListHostsCmd will call this service API if virtualmachineid is present in the request.
- MigrateVmCmd is the new command added that takes in virtualmachineid and destination hostid
- UserVmService  will expose a new API:  UserVm migrateVirtualMachine(UserVm vm, Host destinationHost)

------------------------------------
API throws error in following cases:
------------------------------------
- User is not a root Admin. (‘Permission denied’)
- A VM uses local storage, we cannot migrate it, so ‘listHosts’ will throw error.
- We fail to migrate the VM on the chosen host.
- API will support migration for XenServer only currently. So error is thrown
if hypervisor is not XenServer (e.g KVM, vSphere etc)
- Destination host is not in same cluster as source host.
- VM is not in running state
2011-03-11 17:49:53 -08:00