Commit Graph

1016 Commits

Author SHA1 Message Date
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
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
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
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