Commit Graph

997 Commits

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