Commit Graph

1375 Commits

Author SHA1 Message Date
Min Chen e51adc3b7d CLOUDSTACK-2673: Failed to deploy guest vm using ISO with S3 being the
storage provider.
2013-05-29 15:47:39 -07:00
Nitin Mehta 8d1189c2ae CLOUDSTACK-2060
Global config to turn off dynamically scale vm functionality
2013-05-29 19:02:06 +05:30
Min Chen 6e55776795 CLOUDSTACK-2331: Failed to display exception object information in case of CloudRuntimeException. 2013-05-28 16:01:33 -07:00
Harikrishna Patnala a34e577d1b CLOUDSTACK-1453: support restore for VM created from ISO
This is to support restore a vm to a new/currently_attached ISO.
In the restorevm API we have an optional parameter templateId to restore the vm to the new template/ISO ID.
2013-05-24 16:41:03 +05:30
Nitin Mehta 23baacba62 CLOUDSTACK-2669 - Adding resource limit and count logic for scale vm 2013-05-24 16:06:26 +05:30
Min Chen 98af424053 Merge branch 'master' into object_store. 2013-05-23 18:00:15 -07:00
Wido den Hollander b1f4c8e89a Fix a small typo in a log line 2013-05-23 23:46:55 +02:00
Sheng Yang 92ad6abab0 PVLAN: Fix NPE when VM are in allocated state
If vlan is not assigned for VM, nic.getBroadcastUri() would be null. Then just
ignore it.
2013-05-21 14:51:35 -07:00
Sheng Yang eb7c321426 PVLAN: CLOUDSTACK-2401: VM Migration support 2013-05-20 16:43:24 -07:00
Hiroaki Kawai 7260e8d83f CLOUDSTACK-1638: Introduce NetworkMigrationResponder
The location of the virtual machine is provided by DeployDestination, which will
be passed in NetworkGuru#reserve and NetworkElement#prepare.

During the virtual machine migration, it actually changes DeployDestination and
it looks like that it will tell that event to network components as it has
NetworkManager#prepareNicForMigration. The problem is that althogh the interface
has that method, NetworkManagerImpl does not tell the DeployDestination changes
to network components.

So IMHO, we need to add calls of NetworkGuru#reserve and NetworkElement#prepare
in NetworkManagerImpl#prepareNicForMigration . And then, we also need to add
calls NetworkGuru#release and NetworkElement#release after the migration,
otherwise the network resources that plugin reserved will be kept even when the
vm leaves off.

(Sheng Yang: rebase code, add license header)

Signed-off-by: Sheng Yang <sheng.yang@citrix.com>
2013-05-20 16:43:18 -07:00
Devdeep Singh f5c8e386e5 CLOUDSTACK-2379: Fix for issue destroy vm causing NPE. Made the following changes.
1. Made a fix to make sure a null object is added to the exception.
2. Also fixed the marvin test cases for the feature. Account cleanup will remove the vms deployed for the account. There is no need to explicitly delete the vms for the account.
3. Fixed the assertion checks for the vm created for an account. If there are multiple vms for an account, the test script needs to compare the ids with the correct instance.
2013-05-20 18:26:50 +05:30
Prasanna Santhanam 6ea2b06aab Fixing multiple minor annoyances:
1. Keeping the description consistent - Memory not RAM when referring to
overcommit
2. getters And setters grouped, provided right casing.
3. Removed wildcard imports

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:26 +05:30
Prachi Damle 1851f7f7f6 CLOUDSTACK-2365: Anti-Affinity - As admin , we are allowed to deploy a Vm in an affinity group that belongs to different user.
CLOUDSTACK-2349: Anti-Affinity - As admin user , using updateVMAffinityGroup() , we are allowed to update the affinity group of a Vm (that belongs to a regular user) to be set to admin's affinity group.

Changes:
- Even for root-admin make sure that the affinity group and the VM belong to same account
2013-05-17 15:33:01 -07:00
Prachi Damle 31a67706e4 CLOUDSTACK-2070: Anti-Affinity - When Vm deployment fails because of not being able to satisfy the anti-affinity rule , user should be provided with more informative message.
Changes:
- There is no good mechanism currently to figure out if the  deployment failed due to affinity groups only
- We can just hint the user that the deployment might have failed due to the affinity groups and ask to review the input
2013-05-17 14:36:23 -07:00
Nitin Mehta 4eb310e926 iCLOUDSTACK-2321
Fix the response of scaleVMCmd
Add Scale System vm command
2013-05-17 17:43:43 +05:30
Edison Su f7c1b711ad merge to master 2013-05-16 23:56:20 -07:00
Prachi Damle a2eb7bab1e CLOUDSTACK-2056: DeploymentPlanner choice via ServiceOffering
- Changes merged from planner_reserve branch
- Exposing deploymentplanner as an optional parameter while creating a service offering
- changes to DeploymentPlanningManagerImpl to make sure host reserve-release happens between conflicting planner usages.
2013-05-16 15:02:17 -07:00
Vijayendra Bhamidipati 15be97772e PVLAN : Implementing PVLAN deployment capability for VMware deployments in cloudstack. 2013-05-16 14:50:16 -07:00
Mice Xia e26442f7d0 instead of '==', use equals() to compare two strings in cloud-server 2013-05-16 16:18:53 +08:00
Mice Xia 6d57393629 instead of using '==', use equals() to test Long value equality 2013-05-16 16:00:02 +08:00
Saksham Srivastava e260817318 CLOUDSTACK-2130: UpdateDefaultNicForVirtualMachine api should also create usage events for updating new default network
Signed-off-by: Mice Xia <mice_xia@tcloudcomputing.com>
2013-05-16 14:22:36 +08:00
Sheng Yang 2d2c0c48cd Merge branch 'pvlan'
Conflicts:
	scripts/vm/hypervisor/xenserver/xenserver60/patch
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/NetworkServiceImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
2013-05-15 16:08:08 -07:00
Edison Su a0c3d280b4 merge to master 2013-05-15 00:40:53 -07:00
Nitin Mehta f84b6abde0 merge with master 2013-05-13 17:30:42 +05:30
Bharat Kumar 052c24c4d1 CLOUDSTACK-702: Multiple ip ranges in different subnets.
This feature enables adding of guest ip ranges (public ips)  form different subnets.

In order to provide the dhcp service to a different subnet we create an ipalias on the router. This allows the router to listen to the dhcp request from the guest vms and respond accordingly. Every time a vm is deployed in the new subnet we configure an ip alias on the router. Cloudstack uses dnsmasq to provide dhcp service. We need to configure the dnsmasq to issue ips on the new subnets. Added a new class dnsmasqconfigurator which generates the dnsmasq confg file, this file replaces the old config in the router.

The details of the alias ips are stored in db in the nic_ip_alias table. Every time a new subnet is added one of the ip from the subnet is used to configure the ip alias.

I have pushed the code to  https://github.com/bvbharatk/cloud-stack/tree/Cloudstack-702 , also rebased the code with master.
I need to test the code for advanced sg enabled network using kvm.

I have added the unit test
Marvin tests are at https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=53e4965

Also accomodated some of the changes suggested by koushik.
corrected the import statements. renamed the IpAlias command to createIpAlias command.

This feature supports only ipv4
2013-05-13 17:06:44 +05:30
Nitin Mehta e107776d75 build master 2013-05-12 13:14:33 +05:30
Nitin Mehta c11dbad9c9 merge master 2013-05-11 15:28:43 +05:30
Nitin Mehta 1731a4a442 Add the new APIs along with tests 2013-05-11 14:13:38 +05:30
Alex Huang 342624e0eb Merged with head 2013-05-10 16:33:57 -07:00
Alex Huang 3047929367 Merged 2013-05-10 16:21:43 -07:00
Likitha Shetty dfad178a9e Bug CLOUDSTACK-1390: Allow Root/Domain admin to move a User VM to another user under a different domain
Add unit tests
2013-05-10 12:18:43 +05:30
Edison Su 42e25a22fc refactor kvm/vmware resource code 2013-05-09 23:10:05 -07:00
Hari Patanala 75a2457af6 CLOUDSTACK-658 - Adding scale vm support for vmware with unit tests
Signed off by : Nitin Mehta <nitin.mehta@citrix.com>
2013-05-10 09:32:08 +05:30
Mice Xia 600f140df6 fix CLOUDSTACK-2277 Add approriate message for the user informing about the absence of vm-tools when adding nics to vm on vmware 2013-05-09 14:27:13 +08:00
Mice Xia 6ef615e40d fix bug CLOUDSTACK-2341 remove network from VM is not removing PF/LB/static nat rules for the VM 2013-05-09 11:04:30 +08:00
Alex Huang 572e71e57d Moved most of the VOs and DAOs from server package into engine-schema as well 2013-05-06 16:34:26 -07:00
Harikrishna Patnala 38b4f84f17 CLOUDSTACK-2146: system vm scaleup failed ;{ "scalevirtualmachineresponse" : {"errorcode":530,"cserrorcode":9999,"errortext":"Failed to scale vm"} }
Only response generation for system vm scale up failed so fixed by changing the response object.

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-05-03 16:49:08 +05:30
Sanjay Tripathi 85a1cc962c CLOUDSTACK-2087: Destroying the instance is not decrementing the primary storage usage [Resource Count table - No of volumes is not got decremented]
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-05-02 16:17:13 +05:30
Sheng Yang 40386fc4cb PVLAN: Add network label parameter to PvlanSetupCommand
We need it to find the real bridge/switch to program on the OVS.
2013-05-01 13:23:09 -07:00
Sheng Yang 142f3b30f4 PVLAN: Remove bridge parameter in PvlanSetupCommand
Bridge is hypervisor dependent, shouldn't appear in PvlanSetupCommand.
2013-05-01 13:23:08 -07:00
Sheng Yang b64039bafd Implement PVLAN on Xen
Start/stop vm/dhcp server are done. Not done with VM migration.

A new command(PvlanSetupCommand) is sent for setting up PVLAN for vms. Currently
it's focus on OVS implementation. Need to be more abstruct and add vSwitch part.
2013-05-01 13:23:08 -07:00
Sheng Yang 9c9e2ec9cc PVLAN: Add pvlan in createNetworkCommand 2013-05-01 13:23:08 -07:00
Harikrishna Patnala 1cb9bd531f CLOUDSTACK-2180: restoreVirtualMachine returns no password if the template is password enabled
New password is generated as part of restore vm(passwd enabled template) and send new password on VR

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-05-01 12:29:08 +05:30
Nitin Mehta c338cb7dd0 =updatenetwork changes 2013-04-28 18:13:22 +05:30
Nitin Mehta 335aca3f54 =changes #2 2013-04-28 10:28:31 +05:30
Nitin Mehta 242f5f9cf7 =More changes and marvin test 2013-04-27 11:08:02 +05:30
Marcus Sorensen f429c6687b Don't allow success to be reported when we fail to stop vm due to no agent
connection

BUG-ID: CLOUDSTACK-2195
Bugfix-for: 4.2
Reviewed-by: Edison Su
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366950954 -0600
2013-04-25 22:35:54 -06:00
Nitin Mehta d1642a489c =initial changes 2013-04-25 18:29:57 +05:30
Mice Xia 79cc241c64 fix CLOUDSTACK-2157 On VMWare ESXi host deployment: Expunged VMs are not getting cleaned up from the host 2013-04-25 14:25:03 +08:00
Min Chen 792fc471a2 Remove VolumeHostDao references from codebase. 2013-04-24 11:11:58 -07:00
Mice Xia 8ff442bbeb fix CLOUDSTACK-1944 Destruction of a VM with StaticNAT/FW throws a NullPointerException during VM Expunge 2013-04-24 20:11:18 +08:00
Vijayendra Bhamidipati b0caae6b33 CLOUDSTACK-1086: DeployVirtualMachine userdata enhancements
Description:

	Currently, userdata sent over to the DeployVMCmd and
	updateVMCmd commands can be upto 2K in length, whether
	sent over GET or POST. We remove this limitation for
	POST to change this limit to 32K. Also enabling lazy
	load on userdata to improve performance during reads
	of large sized userdata from user VM records.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-04-24 13:42:38 +05:30
Mice Xia 434525b836 fix CLOUDSTACK-2149 and related unit test 2013-04-24 11:12:34 +08:00
Min Chen 7543f314a7 Remove more VMTemplateHostDao references. 2013-04-23 17:12:21 -07:00
Mice Xia 7dd88fbbc6 fix CLOUDSTACK-2139 When VM is live migrated to a different host , stopped and started , It starts on the original host where it was before live migration. 2013-04-23 14:27:03 +08:00
Mice Xia 5118e9e29f 1) fix CLOUDSTACK-2129 and CLOUDSTACK-2128
2) include nicId in network.offerings.assign/remove event
3) use publishUsageEvent instead of saveUsageEvent to track usageEvent
2013-04-22 19:38:32 +08:00
Edison Su abf40435f3 refactor downloadlistener, sync system vm templates when adding a new image store 2013-04-21 22:46:02 -07:00
Devdeep Singh 21ce3befc8 Storage motion for Xenserver changes: 1. Implemented Api findStoragePoolsForMigration. Added a new response objects to list storage pools available for migration. 2. Updated migrateVolume api for allowing migrating volumes of running vms. These changes are integrated into the latest storage refactoring changes. 3. Added the implementation for findHostsForMigration api. It lists the hosts to which an instance can be migrated, including hosts from within and across clusters to which an instance may be migrated with storage motion. The work of migrating a volume of a running vm is also done in copyAsync. 4. Updated the listHosts api for backward compatibility. 5. Added the implementation for migrateVirtualMachineWithVolume api. It migrates an instance with its volumes within a cluster and also across clusters. Also introduced a new XenServerStorageMotionStrategy for migrating volumes of a vm. When a vm is being migrated with its volumes, the vm is put in migrating state and a request is send to the volume manager to migrate the vm and its volumes. Volume manager calls into the volume service which forwards the request to data motion service after moving all the volumes to migrating state. Data motion service enumerates the strategies and the request reaches the XenServerStorageMotionStrategy. It calls in to the resource to complete the operation. 6. Resolved an issue where storage xenmotion of 2nd VM created from the same template to a host was failing with duplicate_vm exception. Made changes to remove the mac_seed key value pair from other_config when vms are created. This is was storage motion to fail. 7. Updated the db upgrade schema script. 8. Added the right permissions in commands.properties 9. Marvin tests for testing storage motion. Following scenarios are tested. 9.1. A virtual machine is migrated to another host. Its volumes are also migrated to another storage pool. 9.2. Just the volumes of a vm are migrated to another storage pool while the vm continues to run on the same host. 10. Unit tests for testing migration of a vm with its volumes.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-19 11:36:42 +05:30
Mice Xia ca6873a9d0 CLOUDSTACK-2086 UI shows added NIC even if Actual NIC addition has failed 2013-04-19 10:52:00 +08:00
Marcus Sorensen 8d0bea994d CLOUDSTACK-2071 - VirtualMachineManagerImpl.java start() method for instance
can fail to start a VM without notifying caller, if no exception is triggered.
The result is that VM start looks successful but was not. This fixes it by
throwing an exception at the very end if the object to be passed back is still
null.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366225829 -0600
2013-04-17 13:13:05 -06:00
Sanjay Tripathi 0ddeb65fdf CLOUDSTACK-1966: Primary Storage Limits are not validated while deploying the VM
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-17 11:54:18 +05:30
Murali Reddy 90e8158db5 re-merge optional public IP for EIP service feature
Squashed commit of the following:

commit 2dae394a42
Author: Murali Reddy <murali.reddy@citrix.com>
Date:   Tue Apr 16 17:35:28 2013 +0530

    CLOUDSTACK-265: provide option to turn-off automatic public IP association
    for each VM when using EIP service.

      - introduces Capability in the network offering, which decides when EIP
        service is used, by defualt public IP should be assigned to the VM or not

      - default network offering with EIP/ELB service will still work with old
        EIP semantics, i.e) assign a public IP to each VM on start
2013-04-16 17:45:27 +05:30
Prachi Damle fc248cb99c ACl on affinity group 2013-04-11 13:23:41 -07:00
Prachi Damle c7c899f62d Fixes after functional tests
Conflicts:

	client/tomcatconf/commands.properties.in
2013-04-11 13:23:04 -07:00
Prachi Damle fe2a86871f Changes to add AffinityGroupprocessor, deployVM changes 2013-04-11 13:22:42 -07:00
Mice Xia b646e43a1a use hypervisor capabilities to control if vm snapshot is enabled for hypervisors 2013-04-10 12:36:42 +08:00
Mice Xia bd7a38957a 1)use vmsnapshot.create.wait to control vmsnapshot timeout 2)remove global configuration vmsnapshot.expunge.interval and vmsnapshot.expunge.workers since vmsnapshot expunge is synchronous 2013-04-10 11:35:58 +08:00
Kelven Yang 913f73ab6b Apply patch https://reviews.apache.org/r/10137/ 2013-04-09 17:29:21 -07:00
Mice Xia a85b498afd 1) fix CLOUDSTACK-1946 2) remove redundant VMSnapshotVO.java 2013-04-07 17:41:26 +08:00
Alena Prokharchyk 42ffac3ae8 CLOUDSTACK-1895: save placeholder nic with not null vmType='DomainRouter' when placeholder is used for the VR ip address 2013-04-04 13:29:17 -07:00
Brian Spindler 469c4dd139 Removing ^M's from code.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-04 00:53:20 +05:30
Mice Xia 4edef1fd30 fix CLOUDSTACK-1700 2013-04-02 17:36:51 +08:00
Phong Nguyen aa79ccf985 CLOUDSTACK-922: LXC Support in Cloudstack.
Signed-off-by: Edison Su <sudison@gmail.com>
2013-04-01 15:41:42 -07:00
Kelven Yang 16216720c6 CLOUDSTACK-1276, CLOUDSTACK-1729: Remove autoscanning, ensure adpater execution order in runtime 2013-03-29 11:11:20 -07:00
Sanjay Tripathi 18695276f7 CLOUDSTACK-1156: Limit Primary and Secondary storage for domain/accounts
Addition of two new resource types i.e. Primary and Secondary storage space in the existing pool of
    resource types.
    Added methods to set the limits on these resources using updateResourceLimit
    API command and to get a count using updateResourceCount. Also added calls in the
    Templates, Volumes, Snapshots life cycle to check these limits and to increment/decrement the new
    resource types

    Resource Name          :: Resource type number
        Primary Storage               10
        Secondary Storage             11

    Also added jUnit Tests for the same.
Reviewed by : nitin mehta<nitin.mehta@citrix.com>
2013-03-29 11:26:38 +05:30
Nitin Mehta 3e4430d811 CLOUDSTACK-658 - Scaleup vm support for Xenserver
Added the framweork so that it can be extended for vmware and kvm as well.
Added unitests and marvin tests.
2013-03-28 16:43:37 +05:30
Alena Prokharchyk 26b892daf3 CLOUDSTACK-1771: fixed VirtualRouter nics assignment in the Shared networks. Before the fix VR could get a different IP address from the network upon recreation. With the fix the IP address assigned to the first VR in the network, will remain with the network till its entire lifecycle (stored in placeholder nic) and will be assigned to the VR every time it recreates in the network.
Shared networks in both - Advance and Basic - zone types are covered by this checkin
2013-03-26 13:29:57 -07:00
Sanjay Tripathi 105618896b CLOUDSTACK-1645 : Resources limit is not validated with update compute offering [ Instances are updated to higher CPU/Memory resources though there are no resources available @ account/domain] 2013-03-14 13:44:34 -07:00
Jayapal Uradi a49261c3b1 CLOUDSTACK-24: mipn feature for basiczone
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-03-13 10:24:22 +05:30
Edison Su 409ec9c6b6 CLOUDSTACK-1426: We has strong implication that VO must implement an interface, otherwise EntityManagerImpl can't the vo 2013-03-07 18:25:57 -08:00
Kelven Yang 333dd810d2 CLOUDSTACK-1339: Using Sping interface injection pattern to avoid using CGLIB proxying mode. Spring with CGLIB proxying will concflict with CGLIB usage in CloudStack DB code, CloudStack CGLIB usage can cause Spring to lose tack of its proxied object and therefore creates a massive amount of objects in memory 2013-03-05 19:03:30 -05:00
Nitin Mehta b12aebefee Revert "CLOUDSTACK-658 - Adding Scalevm command and XS related changes"
This reverts commit e0019eccd9.
2013-03-04 23:32:52 +05:30
Nitin Mehta e0019eccd9 CLOUDSTACK-658 - Adding Scalevm command and XS related changes 2013-03-04 14:47:55 +05:30
Jayapal Uradi aedb8c478e CLOUDSTACK-24: mipn feature for isolated and vpc networks
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Multiple+IP+address+per+NIC
 https://issues.apache.org/jira/browse/CLOUDSTACK-24
2013-03-04 11:02:09 +05:30
Abhinandan Prateek 14791a9d8f Revert "CLOUDSTACK-24: multiple ip address per vm nic changes for isolated and vpc networks changes."
This reverts commit f9d96c9169.
2013-03-01 22:29:47 +05:30
Jayapal Uradi f9d96c9169 CLOUDSTACK-24: multiple ip address per vm nic changes for isolated and vpc networks changes. 2013-03-01 16:40:26 +05:30
Min Chen 6f19895191 Remove unused RandomlyIncreasingVMInstanceDaoImpl to avoid confusion.
Confirmed with Kishan about this.
2013-02-28 14:17:58 -08:00
Murali Reddy 3e0bdaac1e CLOUDSTACK-1391: EventBus is not getting injected after javelin merge
added logic to inject event bus using ComponentContext.getComponent

Conflicts:
	server/src/com/cloud/storage/listener/SnapshotStateListener.java
2013-02-27 18:55:22 +05:30
Harikrishna Patnala 254275dc26 CLOUDSTACK-1293: resetpasswordforVm shows "passsd reset to undefined" 2013-02-27 12:35:04 +05:30
Rohit Yadav da7c0b1437 spring: Remove annotations from interfaces and abstract classes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-26 14:52:31 +05:30
frank cd291f6b4b From c72615de97b007517fb324044cb4625258c5fc61 Mon Sep 17 00:00:00 2001
From: Vijayendra <vijayendra.bhamidipati@citrix.com>
Date: Mon, 25 Feb 2013 14:37:27 -0800
Subject: [PATCH] CS-670: Configurable setting to use linked clones or not on
 VMware

Description:

  Providing support for creation of user VMs as full clones on ESX.
  Putting in unit tests for VO and Dao classes introduced in this commit.

Signed-off-by: Vijayendra <vijayendra.bhamidipati@citrix.com>
---
 core/src/com/cloud/vm/UserVmCloneSettingVO.java    |  50 ++++++
 .../hypervisor/vmware/manager/VmwareManager.java   |   3 +
 .../vmware/manager/VmwareManagerImpl.java          |  18 +-
 .../hypervisor/vmware/resource/VmwareResource.java | 117 +++++++++----
 server/conf/migration-components.xml               |   1 +
 server/src/com/cloud/configuration/Config.java     |   1 +
 server/src/com/cloud/vm/UserVmManagerImpl.java     | 184 ++++++++++-----------
 .../com/cloud/vm/dao/UserVmCloneSettingDao.java    |  37 +++++
 .../cloud/vm/dao/UserVmCloneSettingDaoImpl.java    |  74 +++++++++
 .../vm/dao/UserVmCloneSettingDaoImplTest.java      |  62 +++++++
 .../UserVmCloneSettingDaoTestConfiguration.java    |  52 ++++++
 .../test/resources/CloneSettingDaoTestContext.xml  |  42 +++++
 setup/db/db/schema-410to420.sql                    |   9 +
 13 files changed, 527 insertions(+), 123 deletions(-)
 create mode 100755 core/src/com/cloud/vm/UserVmCloneSettingVO.java
 create mode 100755 server/src/com/cloud/vm/dao/UserVmCloneSettingDao.java
 create mode 100755 server/src/com/cloud/vm/dao/UserVmCloneSettingDaoImpl.java
 create mode 100644 server/test/com/cloud/vm/dao/UserVmCloneSettingDaoImplTest.java
 create mode 100644 server/test/com/cloud/vm/dao/UserVmCloneSettingDaoTestConfiguration.java
 create mode 100644 server/test/resources/CloneSettingDaoTestContext.xml
2013-02-25 14:57:57 -08:00
Vijayendra Bhamidipati 6675d2c1a3 CLOUDSTACK-778: user provided hostname to be specified in vCenter instead of CloudStack generated name
Introducing flag to allow display name to be appended to internal instance name.
2013-02-25 18:57:18 +05:30
Deepti Dohare 4d573ddd1b CLOUDSTACK-357 ISOs can be deleted while still attached to a running VM, and they subsequently cannot be detached from a running VM
I made the changes to make sure that:
1. ISO will be deleted from the UI, but it is not deleted from the secondary storage as long as it is attached to a VM.
2. The storage cleanup thread will check whether the iso is attached to any vm, if not, it removes the ISO from the secondary storage.
3. Detach operation is now working which was failing before for the vms having attached iso(deleted).

Updated the patch for template sync during MS restart.

Manually tested the following:
setup: upload ISO1 and ISO 2
Attach ISO1 to VM1 and VM2
Attach ISO2 to VM3
set storage.cleanup.interval to 300

test cases:
1. delete ISO1 from UI, gets deleted
2. In VM Details of VM1 and VM2, can see detach ISO option
3. ISO1 exists in secondary storage
4. detach ISO1 from VM1, successful
5. ISO1 still exists in secondary storage.
6. Restart MS, template sync will not delete ISO1.
7. Detach ISO1 from VM2, successfull detached.
8. Wait for storage cleanup thread to execute, ISO1 gets deleted from Secondary storage.
9. Detach ISO2 from VM3
10.ISO2 exists in secondary storage, Delete ISO2 form UI, get deleted from secondary storage.
2013-02-25 16:02:25 +05:30
Bharat Kumar 23e54bb0f4 Cloudstack-711: Cpu and Ram Overcommit Ratio. 2013-02-22 17:31:06 +05:30
frank 15ead099a1 CloudStack CLOUDSTACK-774
Supporting kickstart in CloudStack baremetal

able to start vm

Conflicts:

	client/tomcatconf/componentContext.xml.in
	server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java
	server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2013-02-21 15:48:08 -08:00
Edison Su 0f532c4b3a rebase to master 2013-02-21 11:22:49 -08:00
Edison Su 020be66f9d add copy volume and create volume from snapshot 2013-02-21 11:22:49 -08:00
Edison Su a22403edcd squash changes into one giant patch 2013-02-21 11:22:48 -08:00
Harikrishna Patnala 6c01b62cdc CLOUDSTACK-667: VM's base image update facility 2013-02-21 15:04:29 +05:30
Harikrishna Patnala 7a3f072a50 CLOUDSTACK-745: Reset a VM on reboot. On every reboot of VM, the root disk state is reset. This is for the VMs created using service offering where an optional parameter isvolatile is set true.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-02-21 14:59:35 +05:30
Sheng Yang ca5c6d5d14 CLOUDSTACK-1219, CLOUDSTACK-1220: Fix IPv6 error messages 2013-02-14 16:28:29 -08:00
Alex Huang f542c320d3 Removed a bunch of missing files and useless imports 2013-02-13 15:41:27 -08:00
Edison Su d346f632c3 add missing file, fix build 2013-02-13 15:27:03 -08:00
Mice Xia 9a12756ae4 CLOUDSTACK-684 support vm snapshot 2013-02-14 01:26:30 +08:00
Sanjay Tripathi 5828e526b3 CLOUDSTACK-713: Limit Resources(CPU and Memory) to domain/accounts
Addition of two new resource types i.e. CPU and Memory in the existing pool of
resource types.
Added some methods to set the limits on these resources using updateResourceLimit
API command and to get a count using updateResourceCount. Also added calls in the
Virtual machine life cycle to check these limits and to increment/decrement the new
resource types

Resource Name  :: Resource type number
    CPU               8
    Memory            9

Also added Unit Tests for the same.
2013-02-12 12:02:07 -08:00
anthony 6df0ff2596 fix build issue after revert 2013-02-08 12:30:12 -08:00
Anthony Xu 27d1f3fa07 Revert "CLOUDSTACK-737"
This reverts commit 8a86d08fe3.
2013-02-08 10:47:40 -08:00
Anthony Xu a2fa167613 Revert " CLOUDSTACK-737"
This reverts commit 65210f4e7e.

Conflicts:
	server/src/com/cloud/vm/UserVmManagerImpl.java
2013-02-08 10:47:08 -08:00
anthony 951cba92bb Merge branch 'sg-in-advanced-zone'
Conflicts:
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2013-02-07 15:19:41 -08:00
Murali Reddy a71fb83c77 CLOUDSTACK-1178:DB Commit warning logged for every Deploy VM request
removing the regression that introduced premature transaction commit
2013-02-07 13:12:37 +05:30
Sheng Yang 3d1989c103 IPv6: CLOUDSTACK-1141: Fix reboot router with IPv6 assigned VM 2013-02-06 13:59:53 -08:00
Anthony Xu 8a86d08fe3 CLOUDSTACK-737
Security Group script assume there is only one nic per VM, it is a big task to support multiple NICs, may seperate that as another project
2013-02-04 17:09:06 -08:00
Kelven Yang 296c20332d Merge javelin into master 2013-02-01 14:40:45 -08:00
Kelven Yang 7b75f0d990 Sync master to javelin one more time 2013-02-01 11:37:33 -08:00
Likitha Shetty 13ee8d1865 Persistent Networks support
Signed-off-by: Murali Reddy <murali.reddy@citrix.com>
2013-02-01 15:10:06 +05:30
Murali Reddy 96c24930ae Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Conflicts:
	server/src/com/cloud/network/NetworkManagerImpl.java
2013-02-01 08:45:53 +05:30
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Anthony Xu 65210f4e7e CLOUDSTACK-737
support multiple NICs in Security group in java side
2013-01-31 15:45:52 -08:00
Sheng Yang 5cb9df91a1 Merge branch 'ipv6'
Conflicts:
	api/src/com/cloud/network/NetworkProfile.java
2013-01-31 15:07:33 -08:00
Murali Reddy e7a554fc6a Merging events framework branch into master. This commit will bring
following changes

   - introduced notion of event bus with publish, subscribe, unsubscribe
     semantics

   - a plug-in can implement the EventBus abstraction to provide event
     bug to CloudStack

   - A rabbitMQ based plug-in that can interact with AMQP servers to
     provide message broker based event-bug

   - stream lines, action events, usage events, alerts publishing in to
     convineance classed which are also used to publish corresponding
     event on to event bus

   - introduced notion of state change event. On a state change, in the
     state machine corrsponding to the resource, a state change event is
     published on the event bug

   - associated a state machined with Snapshot and Network objects

   - Virtual Machine, Volume, Snaphost, Network object state changes wil
     result in a state change event
2013-02-01 01:37:24 +05:30
Kelven Yang 1b2b369ecb Merge latest master into javelin 2013-01-31 11:34:49 -08:00
Prasanna Santhanam 1b922e816c Revert "CS-15922 : to avoid race condition when expunge vm, expunge interval and expunge deplay should be larger than 600 second"
Reverted as per discussion at http://s.apache.org/NOm

This reverts commit 5060f98268.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-01-31 18:15:41 +05:30
Rohit Yadav d7ad2da7e0 server: Fix network refactor regressions for CLOUDSTACK-297
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-30 17:33:53 -08:00
Harikrishna Patnala b21595c10d CLOUDSTACK-297: Reset SSH key to access VM
This feature provides resetting a SSH key for an existing VM which means,
setting the old ssh key that is assigned to the VM previously with the new ssh
key.

Signed-off-by: Harikrishna Patnala <harikrishna.patnala@citrix.com>
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-30 17:33:44 -08:00
Marcus Sorensen 15906c03ca Summary: add/remove/update default nics feature
Description: Adds API calls updateDefaultNicForVirtualMachine,
addNicToVirtualMachine, and removeNicFromVirtualMachine. These are
intended to allow a user to modify a VM's configuration post
deployment, to adjust the networks to which the VM belongs.

BUG-ID: CLOUDSTACK-645
Submitted-by: Brian Angus <blangus@betterservers.com>
Submitted-by: Ryan Dietrich <ryan@betterservers.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1359494800 -0700
2013-01-30 17:43:21 -07:00
Kelven Yang 176523254e Improve component lifecycle management with system run-level concept 2013-01-30 15:21:02 -08:00
Sheng Yang 0b62fc4c17 IPv6: Verify if requested IPv4/IPv6 addresses are valid
Also rename NetUtils.isValidIPv6() to NetUtils.isValidIpv6()
2013-01-29 19:08:09 -08:00
Sheng Yang 2cbca372bf IPv6: Add support for IPv6 on DeployVMCmd 2013-01-28 18:54:34 -08:00
Andrew Bayer 71835018e5 CLOUDSTACK-249: Add hostId to failed VM deploy alerts
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-28 15:27:09 -08:00
Sheng Yang bd4bc025d1 IPv6: Accept IPv6 parameter for createNetworkCmd
Also ass public_ipv6_address for ipv6 address management.

Extend nics and vlans for ipv6 address.

Add dependency to com.googlecode.ipv6(java-ipv6).

Modify dhcpcommand for ipv6.
2013-01-26 23:14:15 -08:00
Kelven Yang 1450547987 Put usage server under Spring 2013-01-25 23:00:55 -08:00
Prachi Damle aa7b3e0f6d Renaming VmInstanceVO: dataCenterIdToDeployIn to dataCenterId
Corresponding getter/setter is renamed too.

Reason is GenericDao does not update the field unless the method name matches the field name; the setter of this VO was one such case.
2013-01-22 12:56:39 -08:00
Prachi Damle 94e8090bf3 Deploy, Start, Stop, Destroy VM orchestration service changes 2013-01-22 12:54:04 -08:00
Edison Su 4fbecf15ec add unit test back, primary storage life cycle is tested 2013-01-21 17:01:00 -08:00
Kelven Yang 2c5859dbd4 Bring javelin back to the status of being able to start System VMs after another round of master branch merge 2013-01-18 19:15:32 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Chiradeep Vittal cadca5fc0c Merge branch 'master' into network-refactor-merge2
Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
	server/src/com/cloud/acl/DomainChecker.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-01-16 19:17:14 -08:00
Murali Reddy c7840cf91f reverting the earlier commit 432ea9c7d4
done for bug CLOUDSTACK-265 due to IP clearence issues.
2013-01-16 15:10:27 +05:30
Sheng Yang c32dbec468 CLOUDSTACK-985: Revert "Using different MAC for a pair of redundant routers"
The different MAC address for a pair of redundant router have issues when short
time network outrage happened. When this happened:

1. BACKUP(r-2) cannot receive the broadcast from MASTER(r-1).
2. Then r-2 would announce it's MASTER after 3 seconds, and send gratuitous ARP
to the gateway of public ip(usually a rack router).
3. The gateway of public ip would update it's ARP cache to associate the public
ip of the network to the MAC of r-2.
4. In the meantime, r-1 still sending out VRRP broadcast(due to network issue,
the broadcast never arrived at r-2), and acting as MASTER.
5. After network outrage, r-2 would receive the higher priority VRRP broadcast
from MASTER again, then receded as BACKUP.
6. But the public gateway would still associate public ip with MAC of r-2, thus
caused the issue. r-1 would no longer able to receive any packets from public
network.

And there is no way for r-1 to send gratuitous ARP again, because it's always
consider itself as MASTER, no state changed, and no hook existed for receiving
lower priority broadcast.

So I would revert this change, and introduce another commit to ensure the newly
create redundant router would share the same MAC as the first one.

This reverts commit 9f257aa60b.
2013-01-15 15:02:21 -08:00
Kelven Yang f304df44df Add ActionEventIntercepter to implement origianl ActionEventCallback in Spring AOP 2013-01-14 17:44:31 -08:00
Kelven Yang 6dfbcee63d Fix singleton initialization in ApiServer/ApiDispatcher to make it work under Spring bootstraped environment 2013-01-14 13:57:30 -08:00
Alex Huang fac2270240 more files changed 2013-01-10 15:29:14 -08:00
Alex Huang 56e5fbdee2 removed import of componentlocator and inject from all files 2013-01-10 11:44:47 -08:00
Kelven Yang 0bcebd33b6 Fix problems after merge 2013-01-09 17:36:53 -08:00
Chiradeep Vittal 504264236c Network-refactor: In preparation for moving the read-only interface NetworkModel
to the api project, ensure that all methods use interfaces from the api project.
By moving it to the api project, it lessens the dependency of plugins on the server components.

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Chiradeep Vittal 5a830c4db0 Network-refactor: Refactor NetworkManager into NetworkModel and NetworkManager.
NetworkManager's exclusive focus is now
 - handling plugins during orchestration, and
 - to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Kelven Yang cf5d935d81 Seperate configurable components out and let them be loaded from Spring configuration file 2013-01-09 14:39:16 -08:00
Alex Huang 0bcb64605f all built with the latest 2013-01-09 05:02:39 -08:00
Alex Huang 14bd345f1f merge compiles 2013-01-09 04:41:27 -08:00
Kelven Yang cc23a23324 Fix startup sequence for classes that have due Manager/Adapter interfaces 2013-01-08 18:42:12 -08:00
Kelven Yang b274c570f9 Cleanup places that use explicit wiring of the components 2013-01-08 17:45:33 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Prachi Damle a4f4c98670 OrchestrationService: some changes for DeployVM 2013-01-08 11:53:54 -08:00
Rohit Yadav 39b829bffe api: ACL annotation and checkAccess removal refactor for StopVMCmd
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 17:19:49 -08:00
Rohit Yadav ed0637b8c2 api: Refactor move acl to org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:30:58 -08:00
Rohit Yadav 0659c21f2d Get latest changes, Merge branch 'master' into api_refactoring 2013-01-04 17:22:57 -08:00
Kelven Yang 2e9c55f8f6 More Spring issues to bootstrape javalin server 2013-01-04 14:25:12 -08:00
Wido den Hollander 7240204a50 Pass on the destination host in StartCommand
I added this in commit bc94948e06 to be able to bind
the VNC on KVM on the Private IP Address of the Hypervisor.

This got (accidentally) reverted in commit 110903a91a breaking
this behaviour with KVM.

By passing the destination host again in StartCommand we are able to bind the VNC to the private
IP address of the hypervisor.

This makes sure the VNC is not open for the world and users don't have to firewall these ports, nor
do they have to change "vnc_listen" in their qemu.conf libvirt settings.
2013-01-04 14:37:23 +01:00
Kelven Yang 25d14418b9 Replace Adapters<T> with standard List<T> to work with Spring injection 2013-01-03 13:33:52 -08:00
Kelven Yang e2078ec6e4 Solve Spring loading issues with a few Dao and Manager components 2013-01-02 13:55:26 -08:00
Kelven Yang 259e6d5f74 Fix a few Spring bootstrap issues 2012-12-27 17:46:52 -08:00
Prasanna Santhanam 840da55520 api: Entities will extend InternalIdentity and Identity
Entities correlated to the Identity and carry a uuid and those
correlated to InternalIdentity carry an id. Those entities that carry
both will correlated to Identity and InternalIdentity.

This refactors entities wherever possible to ensure the VO only
implements the first class entity.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:11:15 -08:00
Rohit Yadav 057ac12d23 Enforce InternalIdentity interface on all VO classes that impls long getId()
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:09:44 -08:00
Rohit Yadav 296b49c2f8 Merge branch 'master' into test-merge-api
Conflicts:
	api/src/com/cloud/agent/api/BackupSnapshotCommand.java
	api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/resource/ResourceService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/ResponseGenerator.java
	api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/storage/SnapshotVO.java
	pom.xml
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 13:54:46 -08:00
Sheng Yang 9f257aa60b Using different MAC for a pair of redundant routers
In the past, we use same MAC address therefore once MASTER is down, the packet
to the same MAC would go to BACKUP ASAP.

But now we also have arping after BACKUP become MASTER, which should update the
ARP cache of public gateway router quickly. Though it would be a little
delay(likely less than 1 second), it's still fine for different MAC.

And it would solve some cache issue for same mac on vSwitch different ports.
2012-12-21 15:21:53 -08:00
Marcus Sorensen 6ed1989133 Summary: Allow for custom storage adaptors based on pool type in KVM
Detail: Instead of using LibvirtStorageAdaptor for everything, you can create
your own storage adaptor and use it. We select storage adaptor based on storage
pool type, thus we needed to adjust LibvirtComputingResource to pass pool type
to everything in KVMStoragePoolManager. This in turn required that we pass the
info necessary to LibvirtComputingResource as well, so a few agent Commands were
modified.

Note this patch in and of itself shouldn't change any existing behavior, just
allow for new storage adaptors to be selected based on storage pool type.

Reviewed-by: Edison Su
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1355769696 -0700
2012-12-17 11:41:36 -07:00
Min Chen c167ad45e3 Move view based VO and Dao classes to cloud-server module to hide the
details from API client, also extract query related methods into
QueryService interface.
2012-12-14 10:47:58 -08:00
Simon Waterhouse 0ba355fbc2 CLOUDSTACK-284: listVirtualMachines when zoneid passed
When zoneid is passed an no state is specified listVIrtualMachines does
not return the destroyed vms. This patch fixes the issue.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-13 23:06:07 -08:00
Rohit Yadav 88b7af18e6 api: Revert "Move all the DB view DAOs from cloud-server to cloud-api for future api-server package."
Reverting commit as we don't want the daos to move to cloud-api.
We'll eventually breakout cloud-server and create cloud-api-server for the standalone
api server.

This reverts commit 7597a38f7a.
2012-12-13 09:42:28 -08:00
Min Chen 7597a38f7a Move all the DB view DAOs from cloud-server to cloud-api for future api-server package.
BUG-ID: CLOUDSTACK-527

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-13 09:28:42 -08:00
Murali Reddy 432ea9c7d4 CLOUDSTACK-265: provide option to turn-off automatic public IP association for each VM when using EIP service.
- introduces Capability in the network offering, which
    decides when EIP service is enabled, by defualt public IP
    should be assigned to the VM or not

  - default network offering with EIP/ELB service will still work with old EIP
    semantics, i.e) assign a public IP to each VM on start
2012-12-11 23:06:13 +05:30
Min Chen bba96254f5 Refactoring ListVMGroupsCmd and InstanceGroupResponse. 2012-12-10 13:59:20 -08:00
Koushik Das 238c55fb6e CLOUDSTACK-596 : DeployVM command takes a lot of time to return job id Issue happens while deploying VM in advanced zone and 'networkids' parameter is not passed to deployVM command. In this case CS tries to identify a default guest network to be used for deploying VM. This logic is not optimized and latency increases with increase in user accounts and guest networks. Optimized logic for getting default network.
Signed-off-by: Koushik Das <koushik.das@citrix.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2012-12-10 15:02:53 +05:30
Rohit Yadav e398b1e47a api: Refactor command and response classes to org.apache.cloudstack.api.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 19:23:24 -08:00
Rohit Yadav af28c06998 api: move and group all under command, org.apache.cloudstack.command.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 18:30:54 -08:00
Min Chen acf7afd7f5 api: Refactor ResourceTagResponse and ListTagsCmd, add db view for ResourceTag.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 09:57:52 -08:00
Min Chen 8a313d7f84 api: SecurityGroupResponse and SecurityGroupRuleResponse refactoring
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-06 16:04:48 -08:00
Rohit Yadav da6e81aa21 api_refactoring: Fix build issues and incorrect imports
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-06 13:48:20 -08:00
Min Chen b0ce8fd4ff api: Optimize and improve api, db call perfomance
This is part 1 of list API refactoring. Commands covered:
listVmsCmd, listRoutersCmd Response covered:
UserVmResponse, DomainRouterResponse. DB views created:
user_vm_view, domain_router_view.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-05 20:06:20 -08:00
Rohit Yadav 8773fc2a55 api_refactor: refactor volume apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-04 11:20:48 -08:00
Rohit Yadav 46353e0916 api_refactor: refactor vmgroup apis
- Fix refactored apis, fix mappings in commands*.in
- Fix comments etc.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 23:35:30 -08:00
Rohit Yadav 3e0b2164be api_refactor: refactor template apis
- Fix refactored apis, fix mapping in commands*.in
- Fix comments etc.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 23:05:44 -08:00
Rohit Yadav 6fc3bc3760 api_refactor: refactor vpn and vm apis
- Refactor VPN and VM APIs to admin and user pkgs
- Names space, org.apache.cloudstack
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 21:27:02 -08:00
Alena Prokharchyk 7857b1f62a CLOUDSTACK-573: check if external provider enabled, only when finalize the service/provider list for the network 2012-11-30 13:07:01 -08:00
Alena Prokharchyk 1aa4ad6a3c CLOUDSTACK-572: Advance SG enabled zone - allow deploying vm in SG disabled Account specific networks
Conflicts:

	server/src/com/cloud/vm/UserVmManagerImpl.java
2012-11-30 12:47:37 -08:00
Rohit Yadav 55447c2572 CLOUDSTACK-424: Fix NPE while updating user data
Replace newlines in userdata only when it's not null.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-21 18:27:11 +05:30
Rohit Yadav 4c86b1545d CLOUDSTACK-424: Update userdata should propagate to VR
The code that would propage userdata to router, when updateVirtualMachine api
is called, was missing. As per the docs [0], userdata should be a base64 encoded
string upto 2KB which is put on domr's html directory adn using HTTP GET the
userdata information can be obtained from the domr.

The updateVirtualMachine api [0] would accept a base64 encoded string
and decoded and put into the domr's /var/www/html/userdata/<uservm ip>/user-data
file. The operation does not require the VM to be in stopped state, though it is
advised to stop and call this api in case the user vm has a script which gets
the userdata information from domr while starting.

For example, this script can be used to fetch the data:
server_ip=$(grep dhcp-server-identifier /var/lib/dhclient-eth0.leases | tail -1 | awk '{print $NF}' | tr '\;' ' ')
wget http://${server_ip}/latest/user-data

This feature can be useful, for example to use into puppet facts [1], or to do
automation and horizontal scaling etc. based on userdata.

[0] http://incubator.apache.org/cloudstack/docs/api/apidocs-4.0.0/domain_admin/updateVirtualMachine.html
[1] http://geek.jasonhancock.com/2011/11/09/cloudstack-userdata-into-puppet-facts/

BUG-ID : CLOUDSTACK-424
Reviewed-by: Rohit Yadav <bhaisaab@apache.org>
Reported-by: Nick Wales

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-15 18:43:51 +05:30
Alena Prokharchyk 6d9cafbf35 DeployVm: when SG enabled network is passed to the command, but no SG list is defined in the request, add the vm to SG enabled network automatically
Conflicts:

	server/src/com/cloud/vm/UserVmManagerImpl.java
2012-11-14 15:01:35 -08:00
Kelven Yang cea8f3bf37 Switch inject annotation to javax and let ComponentLocator to recognize both the new and original inject annotation 2012-11-07 15:03:22 -08:00
Kelven Yang aab02e2743 Add Spring annotation to major components 2012-11-07 14:53:39 -08:00
Alena Prokharchyk 8f2d9a09e5 CLOUDSTACK-332: intermediate checkin fixing count parameter in listCommands
Fixes the count in commands:

listVolumes
listVirtualMachines
listSnapshots
listRouters
listFirewallRules
listPortForwardingRules
listLoadBalancerRules
listIpForwardingRules
listAccounts
listUsers
listDomains
listDomainChildren
listPublicIpAddresses
listAlerts
listAsyncJobs
listRemoteAccessVpns
listVpnUsers
listTags
listPrivateGateways
listNetworkACLs
listStaticRoutes

Conflicts:

	api/src/com/cloud/api/commands/ListVMsCmd.java
	api/src/com/cloud/api/commands/ListVolumesCmd.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
	server/src/com/cloud/tags/TaggedResourceManagerImpl.java
2012-10-12 13:58:59 -07:00
Rohit Yadav 6dd5c3fd42 CLOUDSTACK-70: Improve restart network behaviour for basic network
If cleanup=true, network elements and resources are shutdown and
reimplemented. Else, shutdown/reimplementation is skipped. Enabled
cleanup checkbox in CS UI.

For both cases, VRs are only deployed for Pods with no running
or starting VRs and Pods having running or starting user vms.

New DAO helpers introduced:
HostPodDao: listByDataCenterIdVMTypeAndStates
DomainRouterDao: listByPodId and listByPodIdAndStates
VMInstanceDao: listByPodId and corrected definition of listByTypeAndState

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-10-11 19:33:26 +05:30
Mice Xia a5bca0999a CLOUDSTACK-118 Status of host resorce stuck in ErrorInMaintenance 2012-10-08 14:05:05 +08:00
Mice Xia daeac9ec57 CLOUDSTACK-215 CPVM load balance didn't work, VNC console sessions go to one CPVM and ignore other CPVMs 2012-09-27 13:03:09 +08:00
Marcus Sorensen 3c25d0ea67 CLOUDSTACK-202 Can't create VM from ISO, when in VPC
Signed-off-by: Mice Xia <mice_xia@tcloudcomputing.com>
2012-09-27 10:07:15 +08:00
Koushik Das a9559cbb67 When a VM is force deleted and the host is not available then CS simply marks the state in db as "Destroyed/Expunging". The VM is still running on the host and once it becomes available again there is a discrepancy in state of the VM. In this scenario the VM is removed from the host when the next full cluster sync happens. 2012-09-13 16:34:53 +05:30
Mice Xia 55bcfaf805 CLOUDSTACK-88 Cannot listVM by vpcId which is required by VPC UI 2012-09-13 11:21:11 +08:00
Likitha Shetty cc80d09d77 CS-14796: Error out with InvalidParameterValueException in UserVmManagerImpl if userdata is not base64 encoded. 2012-09-11 16:58:09 -07:00
Koushik Das 65eeeaf071 CS-14277
Support for local data disk. Currently enable/disable config is at zone level, in subsequent checkins it can be made more granular.
    Following changes are made:
    - Create disk offering API now takes an extra parameter to denote storage type (local or shared). This is similar to storage type in service offering.
    - Create/delete of data volume on local storage
    - Attach/detach for local data volumes. Re-attach is allowed as long as vm host and data volume storage pool host is same.
    - Migration of VM instance is not supported if it uses local root or data volumes.
    - Migrate is not supported for local volumes.
    - Zone level config to enable/disable local storage usage for service and disk offerings.
    - Local storage gets discovered when a host is added/reconnected if zone level config is enabled. When disabled existing local storages are not removed but any new local storage is not added.
    - Deploy VM command validates service and disk offerings based on local storage config.
    - Upgrade uses the global config 'use.local.storage' to set the zone level config for local storage.
(cherry picked from commit 62710aed37606168012a0ed255a876c8e7954010)
2012-09-11 17:22:43 +05:30
Fang Wang 663e250334 Replace db-id by UUID for user VM's vm-id. 2012-09-10 18:01:08 -07:00
Alena Prokharchyk d6b6529951 Revert "CLOUDSTACK-70: Improve Network Restart Behaviour for Basic Zone: Restarting Network Fails"
This reverts commit ecd1ac214c.
2012-09-10 16:34:21 -07:00
Rohit Yadav ecd1ac214c CLOUDSTACK-70: Improve Network Restart Behaviour for Basic Zone: Restarting Network Fails
If cleanup=true, removes all VRs and creates VR, implements network.
If cleanup=false, skips running VRs, implements network for stopped/deleted VRs.

Signed-off-by: Rohit Yadav <rohit.yadav@citrix.com>
2012-09-10 14:13:24 +05:30
Edison Su 24fa14845b Add KVM to hypervisor types allowed in VPC
RB: https://reviews.apache.org/r/6926/
Send-by: Marcus Sorensen
2012-09-07 15:39:23 -07:00
Alena Prokharchyk 51cc301fef CS-16222: send password reset command only to the element responsible for the userdata service in network
Reviewed-by: Sheng Yang
2012-09-04 13:41:10 -07:00
Likitha Shetty 8c3450b503 CS-14770. ec2-run-instances and ec2-describe-instances don't return keypair information. Component: AWSAPI. 2012-08-28 13:52:42 -07:00
olivier lamy 0d9b81aac6 that was an unused import not a missing dependency 2012-08-25 00:44:14 +02:00
Prachi Damle a08ae8e42c [ASFCS40]CS-15586: Public Vlan for an account fails in case of multiple Physical networks
Changes:
- Since Now a zone can have multiple physical networks, we need to find the physical network Id from the networkOffering's tag and zoneId and trafficType when we create a guest network

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2012-08-23 18:18:12 -07:00
Abhinandan Prateek 3298a481a8 For assignVM, marking older snapshots removed in db 2012-08-23 12:22:02 +05:30
Abhinandan Prateek 6f26894eaf Fix for a corner case during fullsync where it tolerates a VM to exist on two clusters by virtue of it’s current host id and last host id (being on two diff clusters). 2012-08-23 12:13:53 +05:30
Alena Prokharchyk 3ada5e4a46 VPC: CS-16100 - 1) when start VPC router, never pick up any other hypervisor besides vmWare and Xen 2) When start user vm in vpc network, throw an error when deploy from the tempalate of not supported hypervisor
Reviewed-by: Frank Zhang

Conflicts:

	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2012-08-22 11:53:59 -07:00
Jayapal a5248f1cfc Fix for dns issue in multiple pods
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2012-08-22 16:48:41 +05:30
Nitin Mehta 7aa7d6e39f CS-16089: Create Template after upgrade from snapshot taken in 2.2.14 was failing since the swift_id was not null but 0 instead. Put a check in the code to check for not null and not 0 swift_id to go and download the snapshot from the swift.
Reviewed-by: Kishan
2012-08-21 13:46:18 +05:30
Edison Su 481aae1ebc add recreate.systemvm.enabled parameter to control recreating systemvm 2012-08-20 11:19:26 -07:00
Anthony Xu 5060f98268 CS-15922 : to avoid race condition when expunge vm, expunge interval and expunge deplay should be larger than 600 second 2012-08-13 17:45:38 -07:00
Alena Prokharchyk ccac505944 Merge branch 'master' into vpc 2012-08-10 10:47:49 -07:00
Mice Xia a74687128e Fix bug CS-15679 Max guest limit of hypervisor capabilities does not work properly 2012-08-10 16:50:47 +08:00
Alena Prokharchyk 6cddd1e767 Removed trailing whitespaces and fixed line endings in some files 2012-08-09 23:30:33 -07:00
Alena Prokharchyk 057d6ccbb8 Name change for vpc/Dao package (dao is lowercased now) 2012-08-08 14:51:51 -07:00
Alena Prokharchyk 048c5e50cf Merge branch 'master' into vpc
Conflicts:
	utils/test/com/cloud/utils/component/MockComponentLocator.java
2012-08-08 11:50:39 -07:00
Alex Huang c1c952b42b should have used non url safe 2012-08-07 16:58:16 -07:00
Alena Prokharchyk 95449da4be Merge branch 'master' into vpc 2012-08-07 11:37:45 -07:00
Abhinandan Prateek 0a2b6436dd bug CS-15859: put a check on volume limit
Author: Abhinandan Prateek <aprateek@apache.org>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2012-08-07 10:47:54 +05:30
Alena Prokharchyk 0e0b75a041 Merge branch 'master' into vpc
Conflicts:
	api/src/com/cloud/api/ApiConstants.java
2012-08-02 18:45:37 -07:00
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
Alena Prokharchyk ce9f1afa78 Merge branch 'master' into vpc
Conflicts:
	server/src/com/cloud/network/NetworkManagerImpl.java
2012-08-01 19:04:28 -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
Alena Prokharchyk 7706a9c32f Merge branch 'master' into vpc
Conflicts:
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
2012-07-31 13:37:28 -07:00
Hugo Trippaers 3313cc4a86 rrq 5834: fix for broken attachVolume command 2012-07-30 08:38:50 +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
Sheng Yang fd9ef34a0f CS-15719: Fix state change when stopping 2012-07-27 16:28:06 -07:00
Alena Prokharchyk 110903a91a VPC: added vif info to ipassoc command
Conflicts:

	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-27 13:53:41 -07:00
Alena Prokharchyk a39fd61249 Merge branch 'master' into vpc
Conflicts:
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineGuru.java
2012-07-27 13:47:46 -07:00
kishan 468f2720eb bug CS-15389: Added prepareStop to Virtualmachine manager and moved network usage collection into prepareStop of VR manager 2012-07-27 23:13:18 +05:30
Alena Prokharchyk 46cd99f01e VPC: CS-15668 - IpAssoc: unplug the nics before pluggning new ones 2012-07-23 16:38:14 -07:00
Alena Prokharchyk 2b7ec3f4a8 VPC: one more fix for multiple public nic case for the VPC VR
Conflicts:

	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-20 17:12:34 -07:00
Alena Prokharchyk 5a64d4fbb1 VPC: CS-15638: Plug nic for the public ip address if the ip address from the diff vlan range than sourceNat ip
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-20 17:12:34 -07:00
Alena Prokharchyk 47615a26b6 VPC: CS-15583 - hostName for the vm should be unique inside the network domain 2012-07-16 15:42:47 -07:00
Alena Prokharchyk a1acfd3bfa Merge branch 'master' into vpc
Conflicts:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/network/Network.java
	client/tomcatconf/components.xml.in
	plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
	server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/guru/GuestNetworkGuru.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
	setup/db/create-schema.sql
2012-07-13 13:52:58 -07:00
Edison Su 8b7b838c8a CS-15544: recreate router if router filesystem is crashed 2012-07-11 16:14:28 -07:00
Alena Prokharchyk ef8208af00 Merge branch 'master' into vpc 2012-07-11 13:18:51 -07:00
Alena Prokharchyk d2e491a377 VPC: don't send staticRoutes in Revoke state to the VPC VR 2012-07-11 12:05:33 -07:00
Alena Prokharchyk b407b3beaa VPC: add vm to network - no need to prepare nic when add vm in Stopped state to the network; the nic will be prepared once the vm starts up 2012-07-10 18:07:45 -07:00
Alena Prokharchyk 697aa4589b VPC: unplugNic - release the nic in the DB only after the command is executed succesfully on the backend
Conflicts:

	api/src/com/cloud/agent/api/routing/SetStaticRouteCommand.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-10 18:07:09 -07:00
Alena Prokharchyk c2134b431f VPC: CS-15505 - allocate guest nics when new VR starts in VPC 2012-07-09 18:30:58 -07:00
Alena Prokharchyk 21519070fc VPC: added vpc_id to private_ip_address table to indicate which vpc the ip belongs to
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManager.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-09 18:23:35 -07:00
Deepti Dohare 29e90f8358 CS-15429: When an instance is created with data volume, account limit for this data volume was not checked against. Adding a check for that.
Signed-off-by: Nitin Mehta<nitin.mehta@citrix.com>
2012-07-10 06:02:30 +05:30
Alena Prokharchyk 818a3c72ac VPC: CS-15485 - dont' create a record for VPC VR private gateway nic in router_network_ref; do it for regular guest networks only
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
2012-07-06 14:57:26 -07:00
Alena Prokharchyk 353423acec Merge branch 'master' into vpc
Conflicts:
	api/src/com/cloud/api/commands/ListFirewallRulesCmd.java
	api/src/com/cloud/api/response/FirewallResponse.java
	api/src/com/cloud/api/response/IPAddressResponse.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/dao/NetworkDaoImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
2012-07-06 12:04:10 -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 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