shwstppr commented on code in PR #13907:
URL: https://github.com/apache/cloudstack/pull/13907#discussion_r3901092489
##########
engine/schema/src/main/resources/META-INF/db/schema-42210to42300.sql:
##########
@@ -651,3 +651,91 @@ WHERE `name`='user.vm.readonly.details' AND `value` IS NOT
NULL;
-- usage records introduced in 4.22.1 (cumulative and per-VM) can coexist. See
#13399.
CALL `cloud_usage`.`IDEMPOTENT_DROP_INDEX`('id', 'cloud_usage.usage_volume');
CALL `cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`('cloud_usage.usage_volume',
'id', '(volume_id ASC, created ASC, vm_id ASC)');
+
+-- InstanceBootGroup: ordered boot sequencing for VMs and InstanceGroups
+CREATE TABLE IF NOT EXISTS `cloud`.`instance_boot_group` (
+ `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
+ `uuid` varchar(40) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `description` varchar(4096) DEFAULT NULL,
+ `account_id` bigint unsigned NOT NULL COMMENT 'owner; foreign key to
account table',
+ `domain_id` bigint unsigned NOT NULL,
+ `created` datetime NOT NULL,
+ `removed` datetime DEFAULT NULL COMMENT 'date the group was
soft-deleted',
+ PRIMARY KEY (`id`),
+ CONSTRAINT `uc_instance_boot_group__uuid` UNIQUE (`uuid`),
+ CONSTRAINT `fk_instance_boot_group__account_id` FOREIGN KEY (`account_id`)
REFERENCES `account` (`id`),
+ CONSTRAINT `fk_instance_boot_group__domain_id` FOREIGN KEY (`domain_id`)
REFERENCES `domain` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE IF NOT EXISTS `cloud`.`instance_boot_group_member` (
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
+ `uuid` varchar(40) NOT NULL,
+ `boot_group_id` bigint unsigned NOT NULL,
+ `member_type` varchar(32) NOT NULL COMMENT 'VirtualMachine or
InstanceGroup',
+ `member_id` bigint unsigned NOT NULL,
+ `order` int NOT NULL DEFAULT 0,
+ `created` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ CONSTRAINT `uc_instance_boot_group_member__uuid` UNIQUE (`uuid`),
+ CONSTRAINT `uq_instance_boot_group_member__member` UNIQUE (`member_type`,
`member_id`),
+ CONSTRAINT `fk_instance_boot_group_member__group_id` FOREIGN KEY
(`boot_group_id`) REFERENCES `instance_boot_group` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- InstanceBootGroupReadinessRule: a readiness rule always belongs to exactly
one boot group and
+-- references either a VirtualMachine or InstanceGroup item within it
+CREATE TABLE IF NOT EXISTS `cloud`.`instance_boot_group_readiness_rule` (
+ `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
+ `uuid` varchar(40) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `boot_group_id` bigint unsigned NOT NULL,
+ `item_type` varchar(32) NOT NULL COMMENT 'VirtualMachine or
InstanceGroup',
+ `item_id` bigint unsigned NOT NULL,
+ `rule_type` varchar(64) NOT NULL,
+ `enabled` tinyint(1) NOT NULL DEFAULT 1,
+ `created` datetime NOT NULL,
+ `removed` datetime DEFAULT NULL COMMENT 'date the rule was
soft-deleted',
+ PRIMARY KEY (`id`),
+ CONSTRAINT `uc_instance_boot_group_readiness_rule__uuid` UNIQUE
(`uuid`),
+ CONSTRAINT `fk_instance_boot_group_readiness_rule__group_id` FOREIGN KEY
(`boot_group_id`) REFERENCES `instance_boot_group` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
Review Comment:
@sureshanaparti no, currently there can be no global rules and rules are
tied to boot group member (either VM or instnace group) and the group itself.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]