mirror of https://github.com/apache/cloudstack.git
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
This commit is contained in:
parent
d4e2aa32c6
commit
bd7a38957a
|
|
@ -6380,7 +6380,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
|||
String guestOSType = cmd.getGuestOSType();
|
||||
|
||||
boolean snapshotMemory = cmd.getTarget().getType() == VMSnapshot.Type.DiskAndMemory;
|
||||
long timeout = 600;
|
||||
long timeout = cmd.getWait();
|
||||
|
||||
Connection conn = getConnection();
|
||||
VM vm = null;
|
||||
|
|
|
|||
|
|
@ -397,9 +397,7 @@ public enum Config {
|
|||
|
||||
// VMSnapshots
|
||||
VMSnapshotMax("Advanced", VMSnapshotManager.class, Integer.class, "vmsnapshot.max", "10", "Maximum vm snapshots for a vm", null),
|
||||
VMSnapshotCreateWait("Advanced", VMSnapshotManager.class, Integer.class, "vmsnapshot.create.wait", "600", "In second, timeout for create vm snapshot", null),
|
||||
VMSnapshotExpungeInterval("Advanced", VMSnapshotManager.class, Integer.class, "vmsnapshot.expunge.interval", "60", "The interval (in seconds) to wait before running the expunge thread.", null),
|
||||
VMSnapshotExpungeWorkers("Advanced", VMSnapshotManager.class, Integer.class, "vmsnapshot.expunge.workers", "1", "Number of workers performing expunge ", null),
|
||||
VMSnapshotCreateWait("Advanced", VMSnapshotManager.class, Integer.class, "vmsnapshot.create.wait", "1800", "In second, timeout for create vm snapshot", null),
|
||||
|
||||
CloudDnsName("Advanced", ManagementServer.class, String.class, "cloud.dns.name", "default", " DNS name of the cloud", null);
|
||||
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
|||
@Inject DataStoreManager dataStoreMgr;
|
||||
@Inject ConfigurationDao _configDao;
|
||||
int _vmSnapshotMax;
|
||||
int _wait;
|
||||
StateMachine2<VMSnapshot.State, VMSnapshot.Event, VMSnapshot> _vmSnapshottateMachine ;
|
||||
|
||||
@Override
|
||||
|
|
@ -131,6 +132,9 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
|||
}
|
||||
|
||||
_vmSnapshotMax = NumbersUtil.parseInt(_configDao.getValue("vmsnapshot.max"), VMSNAPSHOTMAX);
|
||||
|
||||
String value = _configDao.getValue("vmsnapshot.create.wait");
|
||||
_wait = NumbersUtil.parseInt(value, 1800);
|
||||
|
||||
_vmSnapshottateMachine = VMSnapshot.State.getStateMachine();
|
||||
return true;
|
||||
|
|
@ -361,6 +365,7 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
|||
vmSnapshot.setParent(current.getId());
|
||||
|
||||
CreateVMSnapshotCommand ccmd = new CreateVMSnapshotCommand(userVm.getInstanceName(),target ,volumeTOs, guestOS.getDisplayName(),userVm.getState());
|
||||
ccmd.setWait(_wait);
|
||||
|
||||
answer = (CreateVMSnapshotAnswer) sendToPool(hostId, ccmd);
|
||||
if (answer != null && answer.getResult()) {
|
||||
|
|
|
|||
|
|
@ -404,35 +404,6 @@ INSERT INTO `cloud`.`counter` (id, uuid, source, name, value,created) VALUES (1,
|
|||
INSERT INTO `cloud`.`counter` (id, uuid, source, name, value,created) VALUES (2, UUID(), 'snmp','Linux System CPU - percentage', '1.3.6.1.4.1.2021.11.10.0', now());
|
||||
INSERT INTO `cloud`.`counter` (id, uuid, source, name, value,created) VALUES (3, UUID(), 'snmp','Linux CPU Idle - percentage', '1.3.6.1.4.1.2021.11.11.0', now());
|
||||
INSERT INTO `cloud`.`counter` (id, uuid, source, name, value,created) VALUES (100, UUID(), 'netscaler','Response Time - microseconds', 'RESPTIME', now());
|
||||
CREATE TABLE `cloud`.`vm_snapshots` (
|
||||
`id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'Primary Key',
|
||||
`uuid` varchar(40) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`display_name` varchar(255) default NULL,
|
||||
`description` varchar(255) default NULL,
|
||||
`vm_id` bigint(20) unsigned NOT NULL,
|
||||
`account_id` bigint(20) unsigned NOT NULL,
|
||||
`domain_id` bigint(20) unsigned NOT NULL,
|
||||
`vm_snapshot_type` varchar(32) default NULL,
|
||||
`state` varchar(32) NOT NULL,
|
||||
`parent` bigint unsigned default NULL,
|
||||
`current` int(1) unsigned default NULL,
|
||||
`update_count` bigint unsigned NOT NULL DEFAULT 0,
|
||||
`updated` datetime default NULL,
|
||||
`created` datetime default NULL,
|
||||
`removed` datetime default NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT UNIQUE KEY `uc_vm_snapshots_uuid` (`uuid`),
|
||||
INDEX `vm_snapshots_name` (`name`),
|
||||
INDEX `vm_snapshots_vm_id` (`vm_id`),
|
||||
INDEX `vm_snapshots_account_id` (`account_id`),
|
||||
INDEX `vm_snapshots_display_name` (`display_name`),
|
||||
INDEX `vm_snapshots_removed` (`removed`),
|
||||
INDEX `vm_snapshots_parent` (`parent`),
|
||||
CONSTRAINT `fk_vm_snapshots_vm_id__vm_instance_id` FOREIGN KEY `fk_vm_snapshots_vm_id__vm_instance_id` (`vm_id`) REFERENCES `vm_instance` (`id`),
|
||||
CONSTRAINT `fk_vm_snapshots_account_id__account_id` FOREIGN KEY `fk_vm_snapshots_account_id__account_id` (`account_id`) REFERENCES `account` (`id`),
|
||||
CONSTRAINT `fk_vm_snapshots_domain_id__domain_id` FOREIGN KEY `fk_vm_snapshots_domain_id__domain_id` (`domain_id`) REFERENCES `domain` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `cloud`.`user_ipv6_address` (
|
||||
`id` bigint unsigned NOT NULL UNIQUE auto_increment,
|
||||
|
|
|
|||
|
|
@ -414,3 +414,33 @@ INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type,
|
|||
VALUES (10, 'routing-10', 'SystemVM Template (LXC)', 0, now(), 'SYSTEM', 0, 64, 1, 'http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2', '2755de1f9ef2ce4d6f2bee2efbb4da92', 0, 'SystemVM Template (LXC)', 'QCOW2', 15, 0, 1, 'LXC');
|
||||
|
||||
-- END: support for LXC
|
||||
|
||||
CREATE TABLE `cloud`.`vm_snapshots` (
|
||||
`id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'Primary Key',
|
||||
`uuid` varchar(40) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`display_name` varchar(255) default NULL,
|
||||
`description` varchar(255) default NULL,
|
||||
`vm_id` bigint(20) unsigned NOT NULL,
|
||||
`account_id` bigint(20) unsigned NOT NULL,
|
||||
`domain_id` bigint(20) unsigned NOT NULL,
|
||||
`vm_snapshot_type` varchar(32) default NULL,
|
||||
`state` varchar(32) NOT NULL,
|
||||
`parent` bigint unsigned default NULL,
|
||||
`current` int(1) unsigned default NULL,
|
||||
`update_count` bigint unsigned NOT NULL DEFAULT 0,
|
||||
`updated` datetime default NULL,
|
||||
`created` datetime default NULL,
|
||||
`removed` datetime default NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT UNIQUE KEY `uc_vm_snapshots_uuid` (`uuid`),
|
||||
INDEX `vm_snapshots_name` (`name`),
|
||||
INDEX `vm_snapshots_vm_id` (`vm_id`),
|
||||
INDEX `vm_snapshots_account_id` (`account_id`),
|
||||
INDEX `vm_snapshots_display_name` (`display_name`),
|
||||
INDEX `vm_snapshots_removed` (`removed`),
|
||||
INDEX `vm_snapshots_parent` (`parent`),
|
||||
CONSTRAINT `fk_vm_snapshots_vm_id__vm_instance_id` FOREIGN KEY `fk_vm_snapshots_vm_id__vm_instance_id` (`vm_id`) REFERENCES `vm_instance` (`id`),
|
||||
CONSTRAINT `fk_vm_snapshots_account_id__account_id` FOREIGN KEY `fk_vm_snapshots_account_id__account_id` (`account_id`) REFERENCES `account` (`id`),
|
||||
CONSTRAINT `fk_vm_snapshots_domain_id__domain_id` FOREIGN KEY `fk_vm_snapshots_domain_id__domain_id` (`domain_id`) REFERENCES `domain` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
|
|
|||
Loading…
Reference in New Issue