857 Commits

Author SHA1 Message Date
prachi
4ad9ac5e71 Bug 11200 - maximum number of guests per host
Changes:

To make sure migration does not attempt to pick a host that has running VMs more than the max guest VM's limit:

- Changed manual migration to call host allocators to return a list of hosts suitable for migration. Host allocators check for the max guest VM limit.
- Earlier we returned hosts with enough capacity but now Host Allocators make other checks along with capacity. So the list of hosts returned are hosts that have enough capacity AND satisfy all other conditions like host tags, max guests limit etc. Or in other words Allocators dont return the hosts that dont satisfy all conditions even if they have capacity.
-Therefore, now we mark the list of hosts returned for manual migration as 'suitable' hosts instead of 'hasenoughCapacity' in the HostResponse.
- HA migration already calls allocators, so no change is needed there.
2011-09-08 18:08:31 -07:00
Kelven Yang
980c1cafd8 Merge VmwareResource.Initialize() 2011-09-08 17:47:03 -07:00
Kelven Yang
3b0fe32842 bug 11386: check host status before responding StartupCommand 2011-09-08 17:43:12 -07:00
Kelven Yang
048dc4eb62 bug 11381: Set HypervisorVersion to StartupRoutingCommand when a VMWare host connects 2011-09-08 17:04:48 -07:00
Kelven Yang
aa7f06d7eb bug 11384: deprecate vmware.guest.nic.device.type global configuration variable 2011-09-08 16:11:17 -07:00
anthony
4423da06a2 1. added timeout in Command Class, then each command can configure itself timeout, if timeout is not configed, use the default timeout , which is 30 minute
2. added following configurable timeout
       PrimaryStorageDownloadWait("Storage", TemplateManager.class, Integer.class, "primary.storage.download.wait", "10800", "In second, timeout for download template to primary storage", null),
       CreateVolumeFromSnapshotWait("Storage", StorageManager.class, Integer.class, "create.volume.from.snapshot.wait", "10800", "In second, timeout for create template from snapshot", null),
       CopyVolumeWait("Storage", StorageManager.class, Integer.class, "copy.volume.wait", "10800", "In second, timeout for copy volume command", null),
       CreatePrivateTemplateFromVolumeWait("Storage", UserVmManager.class, Integer.class, "create.private.template.from.volume.wait", "10800", "In second, timeout for CreatePrivateTemplateFromVolumeCommand", null),
       CreatePrivateTemplateFromSnapshotWait("Storage", UserVmManager.class, Integer.class, "create.private.template.from.snapshot.wait", "10800", "In second, timeout for CreatePrivateTemplateFromSnapshotCommand", null),
       BackupSnapshotWait("Storage", StorageManager.class, Integer.class, "backup.snapshot.wait", "10800", "In second, timeout for BackupSnapshotCommand", null),
2011-09-07 19:17:54 -07:00
Kelven Yang
3f40fdd6e1 Add explicit setting to VMware VM to allow device hot-plug 2011-09-07 18:22:02 -07:00
Kelven Yang
905df61aac bug 11362: Make VM network adapter device type be selectable based on VM-specific details 2011-09-07 17:58:42 -07:00
Kelven Yang
f70958809b bug 11360: make user_vm_details generic to all VMs instead of user-only VMs, VM details info will be carried down to hypervisor resource 2011-09-07 15:42:40 -07:00
prachi
84868b7f9c Bug 11200 - maximum number of guests per host
Changes:
- Adding a new table 'hypervisor_capabilities' that will record capabilities for each hypervisor version. Added db schema changes for this.
- Currently a few capabilities have been added, namely, 'max_guests_limit' and 'security_group_enabled'
- Added a new column 'hypervisor_version' to host table. StartupRouting command now takes in this parameter. It should be set when a host connects.
- If a host's hypervisor version is not present, we find all the capabilities rows for that hypervisor type and use the first record.
- 'max_guests_limit' is the maximum number of running guest Vms that a host can have for the given hypervisor.
- Host Allocators use this limit and skip a host if the number of running VMs on that host exceeds this limit.
2011-09-07 14:53:05 -07:00
anthony
ed82f7695a XenServer 5.6 SP2 support is disabled by branch merge.
added it back
2011-09-07 14:47:45 -07:00
anthony
13ee22d421 bug 10078:
1. introduce migratewait in global configuration, the default value is 1 hour
 2. use async xapi VM migration API

status 10078: resolved fixed
2011-09-07 12:36:17 -07:00
alena
65194a0c20 bug 10550: check if the network is configured properly on the backend before vm creation
status 10550: resolved fixed
2011-09-02 17:02:37 -07:00
Kelven Yang
4ef35767f5 bug 11324: merge fix from branch 2.2.10 2011-09-02 15:37:32 -07:00
anthony
c7fb330914 put getConnection into try 2011-09-02 15:01:28 -07:00
Kelven Yang
cddd117e99 bug 11296 : merge fix from 2.2.10 2011-09-01 11:57:35 -07:00
anthony
5e1886ee35 try pingXenServer first before getConnect in getCurrentStatus 2011-09-01 11:51:42 -07:00
Edison Su
c9b3266582 add other linux guest support 2011-08-31 16:19:01 -07:00
anthony
f47bf2e4cf fixed eclipse classpath 2011-08-31 13:35:37 -07:00
alena
acaba52736 Print exception stack trace when catch generic exception in CitrixResourceBase 2011-08-30 16:31:58 -07:00
Naredula Janardhana Reddy
854f81962f bug 10617: Added Egress rules to Security groups.
Description :
   API's:
     -  Two new api's authorizeSecurityGroupEgress,revokeSecurityGroupEgressCmd are added. These two API's are similer to ingress rule API's.
           - authorizeSecurityGroupEgress :Authorizes a particular egress rule for this security group . Usageof API is very similer to that of authorizeSecurityGroupIngress except that instead of source cidr  there will be destination cidr. By default like ingress, all the outgoing flows are blocked.
           - revokeSecurityGroupEgress : It is similer to revokeSecurityGroupIngress api, It removes the egress rule.
     -  listSecurityGroup API's response changed. It include's egress list apart from the existing ingress rules in the output of the API.

   Hypervisors :
      - It is implemented in Xen and KVM.

   Pending Tasks :  Blocking using destination security groups.

   Previous commits: c9fda641673df7701f44963ef27e1d488f121219 , 24e4e44b8f0712a37147a3777833de3f9e24829e
2011-08-30 16:28:35 +05:30
Murali Reddy
9a10f2b402 bug 6876: netscaler MPX & VPX support
- adding supprt for Netscaler VPX & MPX load blancers
- implemented for virtual networking
- works only with new fetched public IP, inline support is not added yet

more details will be added in the bug
2011-08-29 19:26:08 +05:30
Edison Su
c7407617fe bug 10557: allow haproxy works on specific nic on vmware
status 10557: resolved,fixed
2011-08-26 16:25:04 -07:00
Naredula Janardhana Reddy
cbed4c7a44 bug 11253:
Added New value "link-local"  to  global config network.loadbalancer.haproxy.stats.visibility . With this change it can take new parameter "link-local" value apart from the existing 3 values global,guest-network,disabled.
       global -  stats visible from public network
       guest-network - stats visible only to guestnetwork.
       link-local - stats visible only to link local network
       disabled - stats disabled.
2011-08-26 15:21:29 +05:30
Kelven Yang
8d3d3272ab bug 11269: merge fix from 2.2.10 2011-08-25 18:28:37 -07:00
Kelven Yang
9ace681547 bug 11162: merge fix from 2.2.10 premium 2011-08-25 15:38:43 -07:00
prachi
05440f0905 Bug 9921 - template tags
Changes:
- CreateTemplate and RegisterTemplate now support adding a template tag. It is a string value. This is root-admin only action - only admin can add template tags.
- ListTemplates will return the template tag in response.
- HostAllocator changed to use template tag along with the existing tag on service offering. If both tags are present, allocator now finds hosts satisfying both tags. If no hosts have both tags, allocation will fail.
- DB changes to add new column to vm_template table.
- DB upgrade changes for upgrade from 2.2.10 to 2.2.11
2011-08-25 12:03:59 -07:00
Nitin
ece07d7d7f bug 11076: Improve logging - dont login the password in the logs.
status 11076: resolved fixed
2011-08-25 16:15:48 +05:30
Nitin
5923fe950b bug 11077: Improve logging - put in the hostid and hostname on which the vm launches.
status 11077: resolved fixed
2011-08-25 16:06:09 +05:30
Naredula Janardhana Reddy
9feb05ac13 bug 10617: This is Intermediate commit for Egress rules implementation in security groups.
previous commit: c9fda641673df7701f44963ef27e1d488f121219 ( this under bug 1067, typing error)
        changes: 1) partially implemented  listing of egress rules along with ingress rules.
                 2) partially implemneted egress rules for KVM
2011-08-25 12:18:33 +05:30
Kelven Yang
1061738924 bug 11230, 11229: merge fix from 2.2.10 branch, fix Eclipse project settings for premium-move 2011-08-24 15:18:08 -07:00
frank
b3478c377e Full opensource 2011-08-23 19:52:19 -07:00
Alex Huang
5c12f07462 Added environment variables to not control pool master 2011-08-23 15:49:45 -07:00
Kelven Yang
4f8a52f94c Move VMware/Premium Secondary storage VM to opensource 2011-08-23 14:43:39 -07:00
alena
d3eb9db7fa bug 11204: when search for domR/dhcp, include Role to the corresponding search to eliminate getting "LB" network element in the response
status 11204: resolved fixed

Conflicts:

	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
2011-08-23 12:05:53 -07:00
Alex Huang
3ed2385582 bug 11212: disable vlan network when vm fails to start. It is still possible for it leak. For example, if the VM object wasn't constructed and we already failed but those cases are less likely and it's not absolutely necessary to disable vlan. 2011-08-23 11:29:29 -07:00
alena
8a7feb8ec1 Merge branch '2.2.y'
Conflicts:
	agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java
	api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
	api/src/com/cloud/agent/api/to/FirewallRuleTO.java
	api/src/com/cloud/agent/api/to/IpAddressTO.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/api/ResponseGenerator.java
	api/src/com/cloud/api/commands/CreateFirewallRuleCmd.java
	api/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java
	api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java
	api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/ListCapabilitiesCmd.java
	api/src/com/cloud/api/commands/UpdateNetworkCmd.java
	api/src/com/cloud/api/response/CapabilitiesResponse.java
	api/src/com/cloud/network/Network.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/firewall/FirewallService.java
	api/src/com/cloud/network/lb/LoadBalancingRule.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	api/src/com/cloud/network/rules/FirewallRule.java
	api/src/com/cloud/network/rules/RulesService.java
	api/src/com/cloud/offering/NetworkOffering.java
	client/tomcatconf/commands.properties.in
	cloud.spec
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	core/src/com/cloud/vm/DomainRouterVO.java
	debian/cloud-deps.install
	patches/systemvm/debian/config/etc/init.d/cloud-early-config
	patches/systemvm/debian/config/root/ipassoc.sh
	patches/systemvm/debian/config/root/loadbalancer.sh
	scripts/vm/hypervisor/kvm/rundomrpre.sh
	scripts/vm/hypervisor/xenserver/vmops
	server/src/com/cloud/agent/manager/AgentAttache.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/agent/manager/AgentMonitor.java
	server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
	server/src/com/cloud/alert/ClusterAlertAdapter.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/cluster/ClusterManagerImpl.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManager.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
	server/src/com/cloud/host/dao/HostDaoImpl.java
	server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java
	server/src/com/cloud/network/LoadBalancerVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDao.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/element/DhcpElement.java
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/FirewallManager.java
	server/src/com/cloud/network/rules/FirewallRuleVO.java
	server/src/com/cloud/network/rules/PortForwardingRuleVO.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/rules/StaticNatRuleImpl.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/server/ConfigurationServerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/StorageManager.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java
	server/src/com/cloud/storage/download/DownloadMonitorImpl.java
	server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	server/src/com/cloud/upgrade/dao/Upgrade228to229.java
	server/src/com/cloud/upgrade/dao/Upgrade229to2210.java
	server/src/com/cloud/user/AccountManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/src/com/cloud/vm/dao/DomainRouterDao.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
	setup/db/create-index-fk.sql
	setup/db/create-schema.sql
	setup/db/db/schema-222to224.sql
	setup/db/db/schema-227to228.sql
	setup/db/db/schema-228to229.sql
	setup/db/db/schema-229to2210.sql
	tools/testClient/README
	ui/scripts/cloud.core.instance.js
	utils/src/com/cloud/utils/SerialVersionUID.java
	utils/src/com/cloud/utils/db/ConnectionConcierge.java
	utils/src/com/cloud/utils/db/Merovingian2.java
	utils/src/com/cloud/utils/db/Transaction.java
	utils/src/com/cloud/utils/nio/Link.java
	utils/src/com/cloud/utils/nio/NioConnection.java
	utils/src/com/cloud/utils/time/InaccurateClock.java
2011-08-22 20:28:30 -07:00
frank
cbbf80cee3 Use class.getSimpleName in ResourceListener 2011-08-19 17:06:58 -07:00
frank
7091a8f00a Introduce new resource life cycle listener
add files
2011-08-19 17:06:23 -07:00
frank
18f87c2108 Merge branch 'cvm' into 2.2.y
Conflicts:
	api/src/com/cloud/api/BaseCmd.java
	cloud.spec
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/host/dao/HostDao.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/listener/StoragePoolMonitor.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	utils/src/com/cloud/utils/SerialVersionUID.java
2011-08-19 16:08:35 -07:00
Naredula Janardhana Reddy
4369b0ba96 bug 1067:
- covered basic impelementation for xen, need to test corner cases.
      - Not implemneted: kvm, vmware , listing of egress rules.
2011-08-19 11:10:16 +05:30
alena
d726b26180 Defined missing length field for VO classes 2011-08-17 15:13:28 -07:00
alena
c82a373327 Defined missing length field for VO classes 2011-08-17 15:10:07 -07:00
alena
08a1809a49 bug 11133: field size should be declared in VO object explicitly if it's greater than 255
status 11133: resolved fixed
2011-08-16 14:38:49 -07:00
alena
52318703fd bug 11133: field size should be declared in VO object explicitly if it's greater than 255
status 11133: resolved fixed
2011-08-16 14:38:32 -07:00
Naredula Janardhana Reddy
b9183c0840 bug 10561: merging code from 2.2.10 to master 2011-08-16 14:20:51 +05:30
alena
d72200bbfc If one of the static nat rules failed to apply on the backend, the end result should be false 2011-08-15 10:18:44 -07:00
anthony
02aec3b3ef revert pool vm sync to host vm sync in startupcommand in 2.2.10.
then XenServer upgrade is supported in 2.2.10
2011-08-15 10:18:10 -07:00
alena
803255b0ba bug 11029: db upgrade from 2.2.9 to 2.2.10 includes firewall_rule upgrade now
status 11029: resolved fixed

Commit also includes the following:

* map firewall rule to pf/lb/staticNat/vpn when the firewall rule is created as a part of pf/lb/staticNat/vpn rule creation
* when delete firewall rules, also delete related firewall rule
2011-08-15 10:18:09 -07:00
Nitin
5ef0c96e70 bug 11096: ExtractTemplate - For private template choose the correct sec storage host id since its not present in all the sec storage now. 2011-08-12 14:30:34 +05:30