mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Created a table for source cidrs list. Created necessary Daos and VOs. Updated PortForwardingRulesDao to persist/update non null list of cidrs. For deletion depending on ON DELETE CASCADE.
1512 lines
78 KiB
SQL
Executable File
1512 lines
78 KiB
SQL
Executable File
SET foreign_key_checks = 0;
|
|
use cloud;
|
|
|
|
DROP VIEW IF EXISTS `cloud`.`port_forwarding_rules_view`;
|
|
DROP TABLE IF EXISTS `cloud`.`configuration`;
|
|
DROP TABLE IF EXISTS `cloud`.`ip_forwarding`;
|
|
DROP TABLE IF EXISTS `cloud`.`management_agent`;
|
|
DROP TABLE IF EXISTS `cloud`.`host`;
|
|
DROP TABLE IF EXISTS `cloud`.`mshost`;
|
|
DROP TABLE IF EXISTS `cloud`.`service_offering`;
|
|
DROP TABLE IF EXISTS `cloud`.`user`;
|
|
DROP TABLE IF EXISTS `cloud`.`user_ip_address`;
|
|
DROP TABLE IF EXISTS `cloud`.`user_statistics`;
|
|
DROP TABLE IF EXISTS `cloud`.`vm_template`;
|
|
DROP TABLE IF EXISTS `cloud`.`vm_instance`;
|
|
DROP TABLE IF EXISTS `cloud`.`domain_router`;
|
|
DROP TABLE IF EXISTS `cloud`.`event`;
|
|
DROP TABLE IF EXISTS `cloud`.`host_details`;
|
|
DROP TABLE IF EXISTS `cloud`.`host_pod_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`host_zone_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`data_ceneter`;
|
|
DROP TABLE IF EXISTS `cloud`.`volumes`;
|
|
DROP TABLE IF EXISTS `cloud`.`storage`;
|
|
DROP TABLE IF EXISTS `cloud`.`data_center`;
|
|
DROP TABLE IF EXISTS `cloud`.`pricing`;
|
|
DROP TABLE IF EXISTS `cloud`.`sequence`;
|
|
DROP TABLE IF EXISTS `cloud`.`user_vm`;
|
|
DROP TABLE IF EXISTS `cloud`.`template_host_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`upload`;
|
|
DROP TABLE IF EXISTS `cloud`.`template_zone_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`dc_vnet_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`dc_ip_address_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`vlan`;
|
|
DROP TABLE IF EXISTS `cloud`.`host_vlan_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`pod_vlan_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`vm_host`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_ha_work`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_dc_vnet_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_dc_ip_address_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_vm_host`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_host_queue`;
|
|
DROP TABLE IF EXISTS `cloud`.`console_proxy`;
|
|
DROP TABLE IF EXISTS `cloud`.`secondary_storage_vm`;
|
|
DROP TABLE IF EXISTS `cloud`.`domain`;
|
|
DROP TABLE IF EXISTS `cloud`.`account`;
|
|
DROP TABLE IF EXISTS `cloud`.`limit`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_host_capacity`;
|
|
DROP TABLE IF EXISTS `cloud`.`alert`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_lock`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_host_upgrade`;
|
|
DROP TABLE IF EXISTS `cloud`.`snapshots`;
|
|
DROP TABLE IF EXISTS `cloud`.`scheduled_volume_backups`;
|
|
DROP TABLE IF EXISTS `cloud`.`vm_disk`;
|
|
DROP TABLE IF EXISTS `cloud`.`disk_offering`;
|
|
DROP TABLE IF EXISTS `cloud`.`security_group`;
|
|
DROP TABLE IF EXISTS `cloud`.`network_rule_config`;
|
|
DROP TABLE IF EXISTS `cloud`.`host_details`;
|
|
DROP TABLE IF EXISTS `cloud`.`launch_permission`;
|
|
DROP TABLE IF EXISTS `cloud`.`resource_limit`;
|
|
DROP TABLE IF EXISTS `cloud`.`async_job`;
|
|
DROP TABLE IF EXISTS `cloud`.`sync_queue`;
|
|
DROP TABLE IF EXISTS `cloud`.`sync_queue_item`;
|
|
DROP TABLE IF EXISTS `cloud`.`security_group_vm_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`load_balancer_vm_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`storage_pool`;
|
|
DROP TABLE IF EXISTS `cloud`.`storage_pool_host_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`template_spool_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`guest_os`;
|
|
DROP TABLE IF EXISTS `cloud`.`snapshot_policy`;
|
|
DROP TABLE IF EXISTS `cloud`.`snapshot_policy_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`snapshot_schedule`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_pod_vlan_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`storage_pool_details`;
|
|
DROP TABLE IF EXISTS `cloud`.`cluster`;
|
|
DROP TABLE IF EXISTS `cloud`.`nics`;
|
|
DROP TABLE IF EXISTS `cloud`.`networks`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_networks`;
|
|
DROP TABLE IF EXISTS `cloud`.`network_offerings`;
|
|
DROP TABLE IF EXISTS `cloud`.`account_network_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`domain_network_ref`;
|
|
DROP TABLE IF EXISTS `cloud`.`instance_group`;
|
|
DROP TABLE IF EXISTS `cloud`.`instance_group_vm_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_it_work`;
|
|
DROP TABLE IF EXISTS `cloud`.`load_balancing_ip_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`load_balancing_rules`;
|
|
DROP TABLE IF EXISTS `cloud`.`port_forwarding_rules`;
|
|
DROP TABLE IF EXISTS `cloud`.`firewall_rules`;
|
|
DROP TABLE IF EXISTS `cloud`.`firewall_rules_cidrs`;
|
|
DROP TABLE IF EXISTS `cloud`.`ssh_keypairs`;
|
|
DROP TABLE IF EXISTS `cloud`.`usage_event`;
|
|
DROP TABLE IF EXISTS `cloud`.`host_tags`;
|
|
DROP TABLE IF EXISTS `cloud`.`version`;
|
|
DROP TABLE IF EXISTS `cloud`.`account_vlan_map`;
|
|
DROP TABLE IF EXISTS `cloud`.`cluster_details`;
|
|
DROP TABLE IF EXISTS `cloud`.`guest_os_category`;
|
|
DROP TABLE IF EXISTS `cloud`.`guest_os_hypervisor`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_dc_link_local_ip_address_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_host`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_nwgrp_work`;
|
|
DROP TABLE IF EXISTS `cloud`.`op_vm_ruleset_log`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_host_vlan_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_tunnel`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_tunnel_account`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_tunnel_alloc`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_vlan_mapping_dirty`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_vm_flow_log`;
|
|
DROP TABLE IF EXISTS `cloud`.`ovs_work`;
|
|
DROP TABLE IF EXISTS `cloud`.`remote_access_vpn`;
|
|
DROP TABLE IF EXISTS `cloud`.`resource_count`;
|
|
DROP TABLE IF EXISTS `cloud`.`security_ingress_rule`;
|
|
DROP TABLE IF EXISTS `cloud`.`stack_maid`;
|
|
DROP TABLE IF EXISTS `cloud`.`storage_pool_work`;
|
|
DROP TABLE IF EXISTS `cloud`.`user_vm_details`;
|
|
DROP TABLE IF EXISTS `cloud`.`vpn_users`;
|
|
DROP TABLE IF EXISTS `cloud`.`data_center_details`;
|
|
|
|
CREATE TABLE `cloud`.`version` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT COMMENT 'id',
|
|
`version` char(40) NOT NULL UNIQUE COMMENT 'version',
|
|
`updated` datetime NOT NULL COMMENT 'Date this version table was updated',
|
|
`step` char(32) NOT NULL COMMENT 'Step in the upgrade to this version',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_version__version`(`version`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
INSERT INTO `version` (`version`, `updated`, `step`) VALUES('@VERSION@', now(), 'Complete');
|
|
|
|
CREATE TABLE `cloud`.`op_it_work` (
|
|
`id` char(40) COMMENT 'reservation id',
|
|
`mgmt_server_id` bigint unsigned COMMENT 'management server id',
|
|
`created_at` bigint unsigned NOT NULL COMMENT 'when was this work detail created',
|
|
`thread` varchar(255) NOT NULL COMMENT 'thread name',
|
|
`type` char(32) NOT NULL COMMENT 'type of work',
|
|
`vm_type` char(32) NOT NULL COMMENT 'type of vm',
|
|
`step` char(32) NOT NULL COMMENT 'state',
|
|
`updated_at` bigint unsigned NOT NULL COMMENT 'time it was taken over',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance',
|
|
`resource_type` char(32) COMMENT 'type of resource being worked on',
|
|
`resource_id` bigint unsigned COMMENT 'resource id being worked on',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_op_it_work__mgmt_server_id` FOREIGN KEY (`mgmt_server_id`) REFERENCES `mshost`(`msid`),
|
|
CONSTRAINT `fk_op_it_work__instance_id` FOREIGN KEY (`instance_id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_it_work__step`(`step`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_networks`(
|
|
`id` bigint unsigned NOT NULL UNIQUE KEY,
|
|
`mac_address_seq` bigint unsigned NOT NULL DEFAULT 1 COMMENT 'mac address',
|
|
`nics_count` int unsigned NOT NULL DEFAULT 0 COMMENT '# of nics',
|
|
`gc` tinyint unsigned NOT NULL DEFAULT 1 COMMENT 'gc this network or not',
|
|
`check_for_gc` tinyint unsigned NOT NULL DEFAULT 1 COMMENT 'check this network for gc or not',
|
|
PRIMARY KEY(`id`),
|
|
CONSTRAINT `fk_op_networks__id` FOREIGN KEY (`id`) REFERENCES `networks`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`networks` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`name` varchar(255) COMMENT 'name for this network',
|
|
`display_text` varchar(255) COMMENT 'display text for this network',
|
|
`traffic_type` varchar(32) NOT NULL COMMENT 'type of traffic going through this network',
|
|
`broadcast_domain_type` varchar(32) NOT NULL COMMENT 'type of broadcast domain used',
|
|
`broadcast_uri` varchar(255) COMMENT 'broadcast domain specifier',
|
|
`gateway` varchar(15) COMMENT 'gateway for this network configuration',
|
|
`cidr` varchar(18) COMMENT 'network cidr',
|
|
`mode` varchar(32) COMMENT 'How to retrieve ip address in this network',
|
|
`network_offering_id` bigint unsigned NOT NULL COMMENT 'network offering id that this configuration is created from',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center id that this configuration is used in',
|
|
`guru_name` varchar(255) NOT NULL COMMENT 'who is responsible for this type of network configuration',
|
|
`state` varchar(32) NOT NULL COMMENT 'what state is this configuration in',
|
|
`related` bigint unsigned NOT NULL COMMENT 'related to what other network configuration',
|
|
`domain_id` bigint unsigned NOT NULL COMMENT 'foreign key to domain id',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'owner of this network',
|
|
`dns1` varchar(255) COMMENT 'comma separated DNS list',
|
|
`dns2` varchar(255) COMMENT 'comma separated DNS list',
|
|
`guru_data` varchar(1024) COMMENT 'data stored by the network guru that setup this network',
|
|
`set_fields` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'which fields are set already',
|
|
`guest_type` char(32) COMMENT 'type of guest network',
|
|
`shared` int(1) unsigned NOT NULL DEFAULT 0 COMMENT '0 if network is shared, 1 if network dedicated',
|
|
`network_domain` varchar(255) COMMENT 'domain',
|
|
`reservation_id` char(40) COMMENT 'reservation id',
|
|
`is_default` int(1) unsigned NOT NULL DEFAULT 0 COMMENT '1 if network is default',
|
|
`created` datetime NOT NULL COMMENT 'date created',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
`is_security_group_enabled` tinyint NOT NULL DEFAULT 0 COMMENT '1: enabled, 0: not',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_networks__network_offering_id` FOREIGN KEY (`network_offering_id`) REFERENCES `network_offerings`(`id`),
|
|
CONSTRAINT `fk_networks__data_center_id` FOREIGN KEY (`data_center_id`) REFERENCES `data_center`(`id`),
|
|
CONSTRAINT `fk_networks__related` FOREIGN KEY(`related`) REFERENCES `networks`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_networks__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`),
|
|
CONSTRAINT `fk_networks__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`),
|
|
INDEX `i_networks__removed`(`removed`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`account_network_ref` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'account id',
|
|
`network_id` bigint unsigned NOT NULL COMMENT 'network id',
|
|
`is_owner` smallint(1) NOT NULL COMMENT 'is the owner of the network',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_account_network_ref__account_id` FOREIGN KEY (`account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_account_network_ref__networks_id` FOREIGN KEY (`network_id`) REFERENCES `networks`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`nics` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT COMMENT 'id',
|
|
`instance_id` bigint unsigned COMMENT 'vm instance id',
|
|
`mac_address` varchar(17) COMMENT 'mac address',
|
|
`ip4_address` char(40) COMMENT 'ip4 address',
|
|
`netmask` varchar(15) COMMENT 'netmask for ip4 address',
|
|
`gateway` varchar(15) COMMENT 'gateway',
|
|
`ip_type` varchar(32) COMMENT 'type of ip',
|
|
`broadcast_uri` varchar(255) COMMENT 'broadcast uri',
|
|
`network_id` bigint unsigned NOT NULL COMMENT 'network configuration id',
|
|
`mode` varchar(32) COMMENT 'mode of getting ip address',
|
|
`state` varchar(32) NOT NULL COMMENT 'state of the creation',
|
|
`strategy` varchar(32) NOT NULL COMMENT 'reservation strategy',
|
|
`reserver_name` varchar(255) COMMENT 'Name of the component that reserved the ip address',
|
|
`reservation_id` varchar(64) COMMENT 'id for the reservation',
|
|
`device_id` int(10) COMMENT 'device id for the network when plugged into the virtual machine',
|
|
`update_time` timestamp NOT NULL COMMENT 'time the state was changed',
|
|
`isolation_uri` varchar(255) COMMENT 'id for isolation',
|
|
`ip6_address` char(40) COMMENT 'ip6 address',
|
|
`default_nic` tinyint NOT NULL COMMENT "None",
|
|
`vm_type` varchar(32) COMMENT 'type of vm: System or User vm',
|
|
`created` datetime NOT NULL COMMENT 'date created',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_nics__instance_id` FOREIGN KEY `fk_nics__instance_id`(`instance_id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_nics__networks_id` FOREIGN KEY `fk_nics__networks_id`(`network_id`) REFERENCES `networks`(`id`),
|
|
INDEX `i_nics__removed`(`removed`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`network_offerings` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT COMMENT 'id',
|
|
`name` varchar(64) NOT NULL unique COMMENT 'network offering',
|
|
`display_text` varchar(255) NOT NULL COMMENT 'text to display to users',
|
|
`nw_rate` smallint unsigned COMMENT 'network rate throttle mbits/s',
|
|
`mc_rate` smallint unsigned COMMENT 'mcast rate throttle mbits/s',
|
|
`concurrent_connections` int(10) unsigned COMMENT 'concurrent connections supported on this network',
|
|
`traffic_type` varchar(32) NOT NULL COMMENT 'traffic type carried on this network',
|
|
`tags` varchar(4096) COMMENT 'tags supported by this offering',
|
|
`system_only` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Is this network offering for system use only',
|
|
`specify_vlan` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Should the user specify vlan',
|
|
`service_offering_id` bigint unsigned UNIQUE COMMENT 'service offering id that this network offering is tied to',
|
|
`created` datetime NOT NULL COMMENT 'time the entry was created',
|
|
`removed` datetime DEFAULT NULL COMMENT 'time the entry was removed',
|
|
`default` int(1) unsigned NOT NULL DEFAULT 0 COMMENT '1 if network offering is default',
|
|
`availability` varchar(255) NOT NULL COMMENT 'availability of the network',
|
|
`dns_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides dns service',
|
|
`gateway_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides gateway service',
|
|
`firewall_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides firewall service',
|
|
`lb_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides lb service',
|
|
`userdata_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides user data service',
|
|
`vpn_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides vpn service',
|
|
`dhcp_service` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'true if network offering provides dhcp service',
|
|
`guest_type` char(32) COMMENT 'guest ip type of network offering',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_network_offerings__removed`(`removed`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`cluster` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT COMMENT 'id',
|
|
`name` varchar(255) COMMENT 'name for the cluster',
|
|
`guid` varchar(255) UNIQUE DEFAULT NULL COMMENT 'guid for the cluster',
|
|
`pod_id` bigint unsigned NOT NULL COMMENT 'pod id',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center id',
|
|
`hypervisor_type` varchar(32),
|
|
`cluster_type` varchar(64) DEFAULT 'CloudManaged',
|
|
`allocation_state` varchar(32) NOT NULL DEFAULT 'Enabled' COMMENT 'Is this cluster enabled for allocation for new resources',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_cluster__data_center_id` FOREIGN KEY (`data_center_id`) REFERENCES `cloud`.`data_center`(`id`),
|
|
CONSTRAINT `fk_cluster__pod_id` FOREIGN KEY (`pod_id`) REFERENCES `cloud`.`host_pod_ref`(`id`),
|
|
UNIQUE `i_cluster__pod_id__name`(`pod_id`, `name`),
|
|
INDEX `i_cluster__allocation_state`(`allocation_state`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`cluster_details` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`cluster_id` bigint unsigned NOT NULL COMMENT 'cluster id',
|
|
`name` varchar(255) NOT NULL,
|
|
`value` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_cluster_details__cluster_id` FOREIGN KEY (`cluster_id`) REFERENCES `cluster`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_host_upgrade` (
|
|
`host_id` bigint unsigned NOT NULL UNIQUE COMMENT 'host id',
|
|
`version` varchar(20) NOT NULL COMMENT 'version',
|
|
`state` varchar(20) NOT NULL COMMENT 'state',
|
|
PRIMARY KEY (`host_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_lock` (
|
|
`key` varchar(128) NOT NULL UNIQUE COMMENT 'primary key of the table',
|
|
`mac` varchar(17) NOT NULL COMMENT 'mac address of who acquired this lock',
|
|
`ip` char(40) NOT NULL COMMENT 'ip address of who acquired this lock',
|
|
`thread` varchar(255) NOT NULL COMMENT 'Thread that acquired this lock',
|
|
`acquired_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Time acquired',
|
|
`waiters` int NOT NULL DEFAULT 0 COMMENT 'How many have waited for this',
|
|
PRIMARY KEY (`key`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`configuration` (
|
|
`category` varchar(255) NOT NULL DEFAULT 'Advanced',
|
|
`instance` varchar(255) NOT NULL,
|
|
`component` varchar(255) NOT NULL DEFAULT 'management-server',
|
|
`name` varchar(255) NOT NULL,
|
|
`value` varchar(4095),
|
|
`description` varchar(1024),
|
|
PRIMARY KEY (`name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_ha_work` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance that needs to be ha.',
|
|
`type` varchar(32) NOT NULL COMMENT 'type of work',
|
|
`vm_type` varchar(32) NOT NULL COMMENT 'VM type',
|
|
`state` varchar(32) NOT NULL COMMENT 'state of the vm instance when this happened.',
|
|
`mgmt_server_id` bigint unsigned COMMENT 'management server that has taken up the work of doing ha',
|
|
`host_id` bigint unsigned COMMENT 'host that the vm is suppose to be on',
|
|
`created` datetime NOT NULL COMMENT 'time the entry was requested',
|
|
`tried` int(10) unsigned COMMENT '# of times tried',
|
|
`taken` datetime COMMENT 'time it was taken by the management server',
|
|
`step` varchar(32) NOT NULL COMMENT 'Step in the work',
|
|
`time_to_try` bigint COMMENT 'time to try do this work',
|
|
`updated` bigint unsigned NOT NULL COMMENT 'time the VM state was updated when it was stored into work queue',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_op_ha_work__instance_id` FOREIGN KEY `fk_op_ha_work__instance_id` (`instance_id`) REFERENCES `vm_instance` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_ha_work__instance_id`(`instance_id`),
|
|
CONSTRAINT `fk_op_ha_work__host_id` FOREIGN KEY `fk_op_ha_work__host_id` (`host_id`) REFERENCES `host` (`id`),
|
|
INDEX `i_op_ha_work__host_id`(`host_id`),
|
|
INDEX `i_op_ha_work__step`(`step`),
|
|
INDEX `i_op_ha_work__type`(`type`),
|
|
CONSTRAINT `fk_op_ha_work__mgmt_server_id` FOREIGN KEY `fk_op_ha_work__mgmt_server_id`(`mgmt_server_id`) REFERENCES `mshost`(`msid`),
|
|
INDEX `i_op_ha_work__mgmt_server_id`(`mgmt_server_id`)
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`sequence` (
|
|
`name` varchar(64) UNIQUE NOT NULL COMMENT 'name of the sequence',
|
|
`value` bigint unsigned NOT NULL COMMENT 'sequence value',
|
|
PRIMARY KEY (`name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('vm_instance_seq', 1);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('vm_template_seq', 200);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('public_mac_address_seq', 1);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('private_mac_address_seq', 1);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('storage_pool_seq', 200);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('volume_seq', 1);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('networks_seq', 200);
|
|
INSERT INTO `cloud`.`sequence` (name, value) VALUES ('checkpoint_seq', 1);
|
|
|
|
CREATE TABLE `cloud`.`volumes` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary Key',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'owner. foreign key to account table',
|
|
`domain_id` bigint unsigned NOT NULL COMMENT 'the domain that the owner belongs to',
|
|
`pool_id` bigint unsigned COMMENT 'pool it belongs to. foreign key to storage_pool table',
|
|
`instance_id` bigint unsigned NULL COMMENT 'vm instance it belongs to. foreign key to vm_instance table',
|
|
`device_id` bigint unsigned NULL COMMENT 'which device inside vm instance it is ',
|
|
`name` varchar(255) COMMENT 'A user specified name for the volume',
|
|
`size` bigint unsigned NOT NULL COMMENT 'total size',
|
|
`folder` varchar(255) COMMENT 'The folder where the volume is saved',
|
|
`path` varchar(255) COMMENT 'Path',
|
|
`pod_id` bigint unsigned COMMENT 'pod this volume belongs to',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center this volume belongs to',
|
|
`iscsi_name` varchar(255) COMMENT 'iscsi target name',
|
|
`host_ip` char(40) COMMENT 'host ip address for convenience',
|
|
`volume_type` varchar(64) NOT NULL COMMENT 'root, swap or data',
|
|
`pool_type` varchar(64) COMMENT 'type of the pool',
|
|
`disk_offering_id` bigint unsigned NOT NULL COMMENT 'can be null for system VMs',
|
|
`template_id` bigint unsigned COMMENT 'fk to vm_template.id',
|
|
`first_snapshot_backup_uuid` varchar (255) COMMENT 'The first snapshot that was ever taken for this volume',
|
|
`recreatable` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Is this volume recreatable?',
|
|
`created` datetime COMMENT 'Date Created',
|
|
`attached` datetime COMMENT 'Date Attached',
|
|
`updated` datetime COMMENT 'Date updated for attach/detach',
|
|
`removed` datetime COMMENT 'Date removed. not null if removed',
|
|
`state` varchar(32) COMMENT 'State machine',
|
|
`chain_info` text COMMENT 'save possible disk chain info in primary storage',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_volumes__removed`(`removed`),
|
|
INDEX `i_volumes__pod_id`(`pod_id`),
|
|
INDEX `i_volumes__data_center_id`(`data_center_id`),
|
|
CONSTRAINT `fk_volumes__account_id` FOREIGN KEY `fk_volumes__account_id` (`account_id`) REFERENCES `account` (`id`),
|
|
INDEX `i_volumes__account_id`(`account_id`),
|
|
CONSTRAINT `fk_volumes__pool_id` FOREIGN KEY `fk_volumes__pool_id` (`pool_id`) REFERENCES `storage_pool` (`id`),
|
|
INDEX `i_volumes__pool_id`(`pool_id`),
|
|
CONSTRAINT `fk_volumes__instance_id` FOREIGN KEY `fk_volumes__instance_id` (`instance_id`) REFERENCES `vm_instance` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_volumes__instance_id`(`instance_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`snapshots` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'Primary Key',
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'owner. foreign key to account table',
|
|
`domain_id` bigint unsigned NOT NULL COMMENT 'the domain that the owner belongs to',
|
|
`volume_id` bigint unsigned NOT NULL COMMENT 'volume it belongs to. foreign key to volume table',
|
|
`disk_offering_id` bigint unsigned NOT NULL COMMENT 'from original volume',
|
|
`status` varchar(32) COMMENT 'snapshot creation status',
|
|
`path` varchar(255) COMMENT 'Path',
|
|
`name` varchar(255) NOT NULL COMMENT 'snapshot name',
|
|
`snapshot_type` int(4) NOT NULL COMMENT 'type of snapshot, e.g. manual, recurring',
|
|
`type_description` varchar(25) COMMENT 'description of the type of snapshot, e.g. manual, recurring',
|
|
`size` bigint unsigned NOT NULL COMMENT 'original disk size of snapshot',
|
|
`created` datetime COMMENT 'Date Created',
|
|
`removed` datetime COMMENT 'Date removed. not null if removed',
|
|
`backup_snap_id` varchar(255) COMMENT 'Back up uuid of the snapshot',
|
|
`swift_id` bigint unsigned COMMENT 'which swift',
|
|
`swift_name` varchar(255) COMMENT 'Back up name in swift',
|
|
`prev_snap_id` bigint unsigned COMMENT 'Id of the most recent snapshot',
|
|
`hypervisor_type` varchar(32) NOT NULL COMMENT 'hypervisor that the snapshot was taken under',
|
|
`version` varchar(32) COMMENT 'snapshot version',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`vlan` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`vlan_id` varchar(255),
|
|
`vlan_gateway` varchar(255),
|
|
`vlan_netmask` varchar(255),
|
|
`description` varchar(255),
|
|
`vlan_type` varchar(255),
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`network_id` bigint unsigned NOT NULL COMMENT 'id of corresponding network offering',
|
|
PRIMARY KEY (`id`),
|
|
#CONSTRAINT `fk_vlan__network_id` FOREIGN KEY (`network_id`) REFERENCES `networks`(`id`),
|
|
CONSTRAINT `fk_vlan__data_center_id` FOREIGN KEY (`data_center_id`) REFERENCES `data_center`(`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`pod_vlan_map` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`pod_id` bigint unsigned NOT NULL COMMENT 'pod id. foreign key to pod table',
|
|
`vlan_db_id` bigint unsigned NOT NULL COMMENT 'database id of vlan. foreign key to vlan table',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_pod_vlan_map__pod_id` FOREIGN KEY (`pod_id`) REFERENCES `host_pod_ref` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_pod_vlan_map__pod_id`(`pod_id`),
|
|
CONSTRAINT `fk_pod_vlan_map__vlan_id` FOREIGN KEY (`vlan_db_id`) REFERENCES `vlan` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_pod_vlan_map__vlan_id`(`vlan_db_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`account_vlan_map` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'account id. foreign key to account table',
|
|
`vlan_db_id` bigint unsigned NOT NULL COMMENT 'database id of vlan. foreign key to vlan table',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_account_vlan_map__account_id` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_account_vlan_map__account_id`(`account_id`),
|
|
CONSTRAINT `fk_account_vlan_map__vlan_id` FOREIGN KEY (`vlan_db_id`) REFERENCES `vlan` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_account_vlan_map__vlan_id`(`vlan_db_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`data_center` (
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`name` varchar(255),
|
|
`description` varchar(255),
|
|
`dns1` varchar(255) NOT NULL,
|
|
`dns2` varchar(255),
|
|
`internal_dns1` varchar(255) NOT NULL,
|
|
`internal_dns2` varchar(255),
|
|
`gateway` varchar(15),
|
|
`netmask` varchar(15),
|
|
`vnet` varchar(255),
|
|
`router_mac_address` varchar(17) NOT NULL DEFAULT '02:00:00:00:00:01' COMMENT 'mac address for the router within the domain',
|
|
`mac_address` bigint unsigned NOT NULL DEFAULT '1' COMMENT 'Next available mac address for the ethernet card interacting with public internet',
|
|
`guest_network_cidr` varchar(18),
|
|
`domain` varchar(100) COMMENT 'Network domain name of the Vms of the zone',
|
|
`domain_id` bigint unsigned COMMENT 'domain id for the parent domain to this zone (null signifies public zone)',
|
|
`networktype` varchar(255) NOT NULL DEFAULT 'Basic' COMMENT 'Network type of the zone',
|
|
`dns_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`gateway_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`firewall_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`dhcp_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`lb_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`vpn_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`userdata_provider` char(64) DEFAULT 'VirtualRouter',
|
|
`is_security_group_enabled` tinyint NOT NULL DEFAULT 0 COMMENT '1: enabled, 0: not',
|
|
`allocation_state` varchar(32) NOT NULL DEFAULT 'Enabled' COMMENT 'Is this data center enabled for allocation for new resources',
|
|
`zone_token` varchar(255),
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_data_center__domain_id` FOREIGN KEY (`domain_id`) REFERENCES `domain`(`id`),
|
|
INDEX `i_data_center__domain_id`(`domain_id`),
|
|
INDEX `i_data_center__allocation_state`(`allocation_state`),
|
|
INDEX `i_data_center__zone_token`(`zone_token`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_dc_ip_address_alloc` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
|
|
`ip_address` char(40) NOT NULL COMMENT 'ip address',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center it belongs to',
|
|
`pod_id` bigint unsigned NOT NULL COMMENT 'pod it belongs to',
|
|
`nic_id` bigint unsigned NULL COMMENT 'nic id',
|
|
`reservation_id` char(40) NULL COMMENT 'reservation id',
|
|
`taken` datetime COMMENT 'Date taken',
|
|
`mac_address` bigint unsigned NOT NULL COMMENT 'mac address for management ips',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_op_dc_ip_address_alloc__data_center_id` FOREIGN KEY (`data_center_id`) REFERENCES `data_center`(`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_dc_ip_address_alloc__pod_id__data_center_id__taken` (`pod_id`, `data_center_id`, `taken`, `nic_id`),
|
|
UNIQUE `i_op_dc_ip_address_alloc__ip_address__data_center_id`(`ip_address`, `data_center_id`),
|
|
CONSTRAINT `fk_op_dc_ip_address_alloc__pod_id` FOREIGN KEY (`pod_id`) REFERENCES `host_pod_ref` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_dc_ip_address_alloc__pod_id`(`pod_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_dc_link_local_ip_address_alloc` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
|
|
`ip_address` char(40) NOT NULL COMMENT 'ip address',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center it belongs to',
|
|
`pod_id` bigint unsigned NOT NULL COMMENT 'pod it belongs to',
|
|
`nic_id` bigint unsigned NULL COMMENT 'instance id',
|
|
`reservation_id` char(40) NULL COMMENT 'reservation id used to reserve this network',
|
|
`taken` datetime COMMENT 'Date taken',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_op_dc_link_local_ip_address_alloc__pod_id`(`pod_id`),
|
|
INDEX `i_op_dc_link_local_ip_address_alloc__data_center_id`(`data_center_id`),
|
|
INDEX `i_op_dc_link_local_ip_address_alloc__nic_id_reservation_id`(`nic_id`,`reservation_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`host_pod_ref` (
|
|
`id` bigint unsigned NOT NULL UNIQUE auto_increment,
|
|
`name` varchar(255),
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`gateway` varchar(255) NOT NULL COMMENT 'gateway for the pod',
|
|
`cidr_address` varchar(15) NOT NULL COMMENT 'CIDR address for the pod',
|
|
`cidr_size` bigint unsigned NOT NULL COMMENT 'CIDR size for the pod',
|
|
`description` varchar(255) COMMENT 'store private ip range in startIP-endIP format',
|
|
`allocation_state` varchar(32) NOT NULL DEFAULT 'Enabled' COMMENT 'Is this Pod enabled for allocation for new resources',
|
|
`external_dhcp` tinyint NOT NULL DEFAULT 0 COMMENT 'Is this Pod using external DHCP',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY (`name`, `data_center_id`),
|
|
INDEX `i_host_pod_ref__data_center_id`(`data_center_id`),
|
|
INDEX `i_host_pod_ref__allocation_state`(`allocation_state`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_dc_vnet_alloc` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary id',
|
|
`vnet` varchar(18) NOT NULL COMMENT 'vnet',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center the vnet belongs to',
|
|
`reservation_id` char(40) NULL COMMENT 'reservation id',
|
|
`account_id` bigint unsigned NULL COMMENT 'account the vnet belongs to right now',
|
|
`taken` datetime COMMENT 'Date taken',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE `i_op_dc_vnet_alloc__vnet__data_center_id__account_id`(`vnet`, `data_center_id`, `account_id`),
|
|
INDEX `i_op_dc_vnet_alloc__dc_taken`(`data_center_id`, `taken`),
|
|
UNIQUE `i_op_dc_vnet_alloc__vnet__data_center_id`(`vnet`, `data_center_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`firewall_rules` (
|
|
`id` bigint unsigned NOT NULL auto_increment COMMENT 'id',
|
|
`ip_address_id` bigint unsigned NOT NULL COMMENT 'id of the corresponding ip address',
|
|
`start_port` int(10) NOT NULL COMMENT 'starting port of a port range',
|
|
`end_port` int(10) NOT NULL COMMENT 'end port of a port range',
|
|
`state` char(32) NOT NULL COMMENT 'current state of this rule',
|
|
`protocol` char(16) NOT NULL default 'TCP' COMMENT 'protocol to open these ports for',
|
|
`purpose` char(32) NOT NULL COMMENT 'why are these ports opened?',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'owner id',
|
|
`domain_id` bigint unsigned NOT NULL COMMENT 'domain id',
|
|
`network_id` bigint unsigned NOT NULL COMMENT 'network id',
|
|
`xid` char(40) NOT NULL COMMENT 'external id',
|
|
`created` datetime COMMENT 'Date created',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_firewall_rules__ip_address_id` FOREIGN KEY(`ip_address_id`) REFERENCES `user_ip_address`(`id`),
|
|
CONSTRAINT `fk_firewall_rules__network_id` FOREIGN KEY(`network_id`) REFERENCES `networks`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_firewall_rules__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_firewall_rules__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`firewall_rules_cidrs` (
|
|
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`firewall_rule_id` bigint(20) unsigned NOT NULL COMMENT 'firewall rule id',
|
|
`source_cidr` varchar(18) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `fk_firewall_cidrs_firewall_rules` (`firewall_rule_id`),
|
|
CONSTRAINT `fk_firewall_cidrs_firewall_rules` FOREIGN KEY (`firewall_rule_id`) REFERENCES `firewall_rules` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
|
|
|
CREATE TABLE `cloud`.`load_balancing_rules` (
|
|
`id` bigint unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`description` varchar(4096) NULL COMMENT 'description',
|
|
`default_port_start` int(10) NOT NULL COMMENT 'default private port range start',
|
|
`default_port_end` int(10) NOT NULL COMMENT 'default destination port range end',
|
|
`algorithm` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_load_balancing_rules__id` FOREIGN KEY(`id`) REFERENCES `firewall_rules`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`load_balancer_vm_map` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`load_balancer_id` bigint unsigned NOT NULL,
|
|
`instance_id` bigint unsigned NOT NULL,
|
|
`revoke` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '1 is when rule is set for Revoke',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY (`load_balancer_id`, `instance_id`),
|
|
CONSTRAINT `fk_load_balancer_vm_map__load_balancer_id` FOREIGN KEY(`load_balancer_id`) REFERENCES `load_balancing_rules`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_load_balancer_vm_map__instance_id` FOREIGN KEY(`instance_id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`port_forwarding_rules` (
|
|
`id` bigint unsigned NOT NULL COMMENT 'id',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance id',
|
|
`dest_ip_address` char(40) NOT NULL COMMENT 'id_address',
|
|
`dest_port_start` int(10) NOT NULL COMMENT 'starting port of the port range to map to',
|
|
`dest_port_end` int(10) NOT NULL COMMENT 'end port of the the port range to map to',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_port_forwarding_rules__id` FOREIGN KEY(`id`) REFERENCES `firewall_rules`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`host` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`name` varchar(255) NOT NULL,
|
|
`status` varchar(32) NOT NULL,
|
|
`type` varchar(32) NOT NULL,
|
|
`private_ip_address` char(40) NOT NULL,
|
|
`private_netmask` varchar(15),
|
|
`private_mac_address` varchar(17),
|
|
`storage_ip_address` char(40) NOT NULL,
|
|
`storage_netmask` varchar(15),
|
|
`storage_mac_address` varchar(17),
|
|
`storage_ip_address_2` char(40),
|
|
`storage_mac_address_2` varchar(17),
|
|
`storage_netmask_2` varchar(15),
|
|
`cluster_id` bigint unsigned COMMENT 'foreign key to cluster',
|
|
`public_ip_address` char(40),
|
|
`public_netmask` varchar(15),
|
|
`public_mac_address` varchar(17),
|
|
`proxy_port` int(10) unsigned,
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`pod_id` bigint unsigned,
|
|
`cpus` int(10) unsigned,
|
|
`speed` int(10) unsigned,
|
|
`url` varchar(255) COMMENT 'iqn for the servers',
|
|
`fs_type` varchar(32),
|
|
`hypervisor_type` varchar(32) COMMENT 'hypervisor type, can be NONE for storage',
|
|
`ram` bigint unsigned,
|
|
`resource` varchar(255) DEFAULT NULL COMMENT 'If it is a local resource, this is the class name',
|
|
`version` varchar(40) NOT NULL,
|
|
`parent` varchar(255) COMMENT 'parent path for the storage server',
|
|
`total_size` bigint unsigned COMMENT 'TotalSize',
|
|
`capabilities` varchar(255) COMMENT 'host capabilities in comma separated list',
|
|
`guid` varchar(255) UNIQUE,
|
|
`available` int(1) unsigned NOT NULL DEFAULT 1 COMMENT 'Is this host ready for more resources?',
|
|
`setup` int(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Is this host already setup?',
|
|
`dom0_memory` bigint unsigned NOT NULL COMMENT 'memory used by dom0 for computing and routing servers',
|
|
`last_ping` int(10) unsigned NOT NULL COMMENT 'time in seconds from the start of machine of the last ping',
|
|
`mgmt_server_id` bigint unsigned COMMENT 'ManagementServer this host is connected to.',
|
|
`disconnected` datetime COMMENT 'Time this was disconnected',
|
|
`created` datetime COMMENT 'date the host first signed on',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
`allocation_state` varchar(32) NOT NULL DEFAULT 'Enabled' COMMENT 'Is this host enabled for allocation for new resources',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_host__removed`(`removed`),
|
|
INDEX `i_host__last_ping`(`last_ping`),
|
|
INDEX `i_host__status`(`status`),
|
|
INDEX `i_host__data_center_id`(`data_center_id`),
|
|
INDEX `i_host__allocation_state`(`allocation_state`),
|
|
CONSTRAINT `fk_host__pod_id` FOREIGN KEY (`pod_id`) REFERENCES `host_pod_ref` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_host__pod_id`(`pod_id`),
|
|
CONSTRAINT `fk_host__cluster_id` FOREIGN KEY (`cluster_id`) REFERENCES `cloud`.`cluster`(`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_host` (
|
|
`id` bigint unsigned NOT NULL UNIQUE COMMENT 'host id',
|
|
`sequence` bigint unsigned DEFAULT 1 NOT NULL COMMENT 'sequence for the host communication',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_op_host__id` FOREIGN KEY (`id`) REFERENCES `host`(`id`) ON DELETE CASCADE
|
|
) ENGINE = InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`host_details` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`host_id` bigint unsigned NOT NULL COMMENT 'host id',
|
|
`name` varchar(255) NOT NULL,
|
|
`value` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_host_details__host_id` FOREIGN KEY (`host_id`) REFERENCES `host`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`mshost` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`msid` bigint unsigned NOT NULL UNIQUE COMMENT 'management server id derived from MAC address',
|
|
`runid` bigint NOT NULL DEFAULT 0 COMMENT 'run id, combined with msid to form a cluster session',
|
|
`name` varchar(255),
|
|
`state` varchar(10) NOT NULL DEFAULT 'Down',
|
|
`version` varchar(255),
|
|
`service_ip` char(40) NOT NULL,
|
|
`service_port` integer NOT NULL,
|
|
`last_update` DATETIME NULL COMMENT 'Last record update time',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
`alert_count` integer NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`host_tags` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`host_id` bigint unsigned NOT NULL COMMENT 'host id',
|
|
`tag` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_host_tags__host_id` FOREIGN KEY (`host_id`) REFERENCES `host`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`user` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`username` varchar(255) NOT NULL,
|
|
`password` varchar(255) NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
`firstname` varchar(255) default NULL,
|
|
`lastname` varchar(255) default NULL,
|
|
`email` varchar(255) default NULL,
|
|
`state` varchar(10) NOT NULL default 'enabled',
|
|
`api_key` varchar(255) default NULL,
|
|
`secret_key` varchar(255) default NULL,
|
|
`created` datetime NOT NULL COMMENT 'date created',
|
|
`removed` datetime COMMENT 'date removed',
|
|
`timezone` varchar(30) default NULL,
|
|
`registration_token` varchar(255) default NULL,
|
|
`is_registered` tinyint NOT NULL DEFAULT 0 COMMENT '1: yes, 0: no',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`event` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`type` varchar(32) NOT NULL,
|
|
`state` varchar(32) NOT NULL DEFAULT 'Completed',
|
|
`description` varchar(1024) NOT NULL,
|
|
`user_id` bigint unsigned NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
`created` datetime NOT NULL,
|
|
`level` varchar(16) NOT NULL,
|
|
`start_id` bigint unsigned NOT NULL DEFAULT 0,
|
|
`parameters` varchar(1024) NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`user_ip_address` (
|
|
`id` bigint unsigned NOT NULL UNIQUE auto_increment,
|
|
`account_id` bigint unsigned NULL,
|
|
`domain_id` bigint unsigned NULL,
|
|
`public_ip_address` char(40) NOT NULL,
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'zone that it belongs to',
|
|
`source_nat` int(1) unsigned NOT NULL default '0',
|
|
`allocated` datetime NULL COMMENT 'Date this ip was allocated to someone',
|
|
`vlan_db_id` bigint unsigned NOT NULL,
|
|
`one_to_one_nat` int(1) unsigned NOT NULL default '0',
|
|
`vm_id` bigint unsigned COMMENT 'vm id the one_to_one nat ip is assigned to',
|
|
`state` char(32) NOT NULL default 'Free' COMMENT 'state of the ip address',
|
|
`mac_address` bigint unsigned NOT NULL COMMENT 'mac address of this ip',
|
|
`source_network_id` bigint unsigned NOT NULL COMMENT 'network id ip belongs to',
|
|
`network_id` bigint unsigned COMMENT 'network this public ip address is associated with',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE (`public_ip_address`, `source_network_id`),
|
|
CONSTRAINT `fk_user_ip_address__source_network_id` FOREIGN KEY (`source_network_id`) REFERENCES `networks`(`id`),
|
|
CONSTRAINT `fk_user_ip_address__network_id` FOREIGN KEY (`network_id`) REFERENCES `networks`(`id`),
|
|
CONSTRAINT `fk_user_ip_address__account_id` FOREIGN KEY (`account_id`) REFERENCES `account`(`id`),
|
|
CONSTRAINT `fk_user_ip_address__vm_id` FOREIGN KEY (`vm_id`) REFERENCES `vm_instance`(`id`),
|
|
CONSTRAINT `fk_user_ip_address__vlan_db_id` FOREIGN KEY (`vlan_db_id`) REFERENCES `vlan`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_user_ip_address__data_center_id` FOREIGN KEY (`data_center_id`) REFERENCES `data_center`(`id`) ON DELETE CASCADE,
|
|
INDEX `i_user_ip_address__allocated`(`allocated`),
|
|
INDEX `i_user_ip_address__source_nat`(`source_nat`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
CREATE TABLE `cloud`.`user_statistics` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT,
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
`public_ip_address` char(40),
|
|
`device_id` bigint unsigned NOT NULL,
|
|
`device_type` varchar(32) NOT NULL,
|
|
`network_id` bigint unsigned,
|
|
`net_bytes_received` bigint unsigned NOT NULL default '0',
|
|
`net_bytes_sent` bigint unsigned NOT NULL default '0',
|
|
`current_bytes_received` bigint unsigned NOT NULL default '0',
|
|
`current_bytes_sent` bigint unsigned NOT NULL default '0',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY (`account_id`, `data_center_id`, `public_ip_address`, `device_id`, `device_type`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`vm_template` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`unique_name` varchar(255) NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`public` int(1) unsigned NOT NULL,
|
|
`featured` int(1) unsigned NOT NULL,
|
|
`type` varchar(32) NULL,
|
|
`hvm` int(1) unsigned NOT NULL COMMENT 'requires HVM',
|
|
`bits` int(6) unsigned NOT NULL COMMENT '32 bit or 64 bit',
|
|
`url` varchar(255) NULL COMMENT 'the url where the template exists externally',
|
|
`format` varchar(32) NOT NULL COMMENT 'format for the template',
|
|
`created` datetime NOT NULL COMMENT 'Date created',
|
|
`removed` datetime COMMENT 'Date removed if not null',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'id of the account that created this template',
|
|
`checksum` varchar(255) COMMENT 'checksum for the template root disk',
|
|
`display_text` varchar(4096) NULL COMMENT 'Description text set by the admin for display purpose only',
|
|
`enable_password` int(1) unsigned NOT NULL default 1 COMMENT 'true if this template supports password reset',
|
|
`guest_os_id` bigint unsigned NOT NULL COMMENT 'the OS of the template',
|
|
`bootable` int(1) unsigned NOT NULL default 1 COMMENT 'true if this template represents a bootable ISO',
|
|
`prepopulate` int(1) unsigned NOT NULL default 0 COMMENT 'prepopulate this template to primary storage',
|
|
`cross_zones` int(1) unsigned NOT NULL default 0 COMMENT 'Make this template available in all zones',
|
|
`extractable` int(1) unsigned NOT NULL default 0 COMMENT 'Is this template extractable',
|
|
`hypervisor_type` varchar(32) COMMENT 'hypervisor that the template is belonged to',
|
|
`source_template_id` bigint unsigned COMMENT 'Id of the original template, if this template is created from snapshot',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`vm_instance` (
|
|
`id` bigint unsigned UNIQUE NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`instance_name` varchar(255) NOT NULL COMMENT 'name of the vm instance running on the hosts',
|
|
`state` varchar(32) NOT NULL,
|
|
`vm_template_id` bigint unsigned,
|
|
`guest_os_id` bigint unsigned NOT NULL,
|
|
`private_mac_address` varchar(17),
|
|
`private_ip_address` char(40),
|
|
`private_netmask` varchar(15),
|
|
`pod_id` bigint unsigned,
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'Data Center the instance belongs to',
|
|
`host_id` bigint unsigned,
|
|
`last_host_id` bigint unsigned COMMENT 'tentative host for first run or last host that it has been running on',
|
|
`proxy_id` bigint unsigned NULL COMMENT 'console proxy allocated in previous session',
|
|
`proxy_assign_time` DATETIME NULL COMMENT 'time when console proxy was assigned',
|
|
`vnc_password` varchar(255) NOT NULL COMMENT 'vnc password',
|
|
`ha_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Should HA be enabled for this VM',
|
|
`limit_cpu_use` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Limit the cpu usage to service offering',
|
|
`update_count` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'date state was updated',
|
|
`update_time` datetime COMMENT 'date the destroy was requested',
|
|
`created` datetime NOT NULL COMMENT 'date created',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
`type` varchar(32) NOT NULL COMMENT 'type of vm it is',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'user id of owner',
|
|
`domain_id` bigint unsigned NOT NULL,
|
|
`service_offering_id` bigint unsigned NOT NULL COMMENT 'service offering id',
|
|
`reservation_id` char(40) COMMENT 'reservation id',
|
|
`hypervisor_type` char(32) COMMENT 'hypervisor type',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_vm_instance__removed`(`removed`),
|
|
INDEX `i_vm_instance__type`(`type`),
|
|
INDEX `i_vm_instance__pod_id`(`pod_id`),
|
|
INDEX `i_vm_instance__update_time`(`update_time`),
|
|
INDEX `i_vm_instance__update_count`(`update_count`),
|
|
INDEX `i_vm_instance__state`(`state`),
|
|
INDEX `i_vm_instance__data_center_id`(`data_center_id`),
|
|
CONSTRAINT `fk_vm_instance__host_id` FOREIGN KEY `fk_vm_instance__host_id` (`host_id`) REFERENCES `host` (`id`),
|
|
CONSTRAINT `fk_vm_instance__last_host_id` FOREIGN KEY `fk_vm_instance__last_host_id` (`last_host_id`) REFERENCES `host`(`id`),
|
|
CONSTRAINT `fk_vm_instance__template_id` FOREIGN KEY `fk_vm_instance__template_id` (`vm_template_id`) REFERENCES `vm_template` (`id`),
|
|
INDEX `i_vm_instance__template_id`(`vm_template_id`),
|
|
CONSTRAINT `fk_vm_instance__account_id` FOREIGN KEY `fk_vm_instance__account_id` (`account_id`) REFERENCES `account` (`id`),
|
|
INDEX `i_vm_instance__account_id`(`account_id`),
|
|
CONSTRAINT `fk_vm_instance__service_offering_id` FOREIGN KEY `fk_vm_instance__service_offering_id` (`service_offering_id`) REFERENCES `service_offering` (`id`),
|
|
INDEX `i_vm_instance__service_offering_id`(`service_offering_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`user_vm` (
|
|
`id` bigint unsigned UNIQUE NOT NULL,
|
|
`iso_id` bigint unsigned,
|
|
`display_name` varchar(255),
|
|
`user_data` varchar(2048),
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_user_vm__id` FOREIGN KEY `fk_user_vm__id` (`id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`user_vm_details` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`vm_id` bigint unsigned NOT NULL COMMENT 'vm id',
|
|
`name` varchar(255) NOT NULL,
|
|
`value` varchar(1024) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_user_vm_details__vm_id` FOREIGN KEY `fk_user_vm_details__vm_id`(`vm_id`) REFERENCES `user_vm`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
CREATE TABLE `cloud`.`domain_router` (
|
|
`id` bigint unsigned UNIQUE NOT NULL COMMENT 'Primary Key',
|
|
`public_mac_address` varchar(17) COMMENT 'mac address of the public facing network card',
|
|
`public_ip_address` char(40) COMMENT 'public ip address used for source net',
|
|
`public_netmask` varchar(15) COMMENT 'netmask used for the domR',
|
|
`guest_netmask` varchar(15) COMMENT 'netmask used for the guest network',
|
|
`guest_ip_address` char(40) COMMENT ' ip address in the guest network',
|
|
`network_id` bigint unsigned NOT NULL COMMENT 'network configuration that this domain router belongs to',
|
|
`role` varchar(64) NOT NULL COMMENT 'type of role played by this router',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_domain_router__id` FOREIGN KEY `fk_domain_router__id` (`id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE
|
|
) ENGINE = InnoDB DEFAULT CHARSET=utf8 COMMENT = 'information about the domR instance';
|
|
|
|
CREATE TABLE `cloud`.`upload` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`host_id` bigint unsigned NOT NULL,
|
|
`type_id` bigint unsigned NOT NULL,
|
|
`type` varchar(255),
|
|
`mode` varchar(255),
|
|
`created` DATETIME NOT NULL,
|
|
`last_updated` DATETIME,
|
|
`job_id` varchar(255),
|
|
`upload_pct` int(10) unsigned,
|
|
`upload_state` varchar(255),
|
|
`error_str` varchar(255),
|
|
`url` varchar(255),
|
|
`install_path` varchar(255),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`template_host_ref` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`host_id` bigint unsigned NOT NULL,
|
|
`pool_id` bigint unsigned,
|
|
`template_id` bigint unsigned NOT NULL,
|
|
`created` DATETIME NOT NULL,
|
|
`last_updated` DATETIME,
|
|
`job_id` varchar(255),
|
|
`download_pct` int(10) unsigned,
|
|
`size` bigint unsigned,
|
|
`physical_size` bigint unsigned DEFAULT 0,
|
|
`download_state` varchar(255),
|
|
`error_str` varchar(255),
|
|
`local_path` varchar(255),
|
|
`install_path` varchar(255),
|
|
`url` varchar(255),
|
|
`destroyed` tinyint(1) COMMENT 'indicates whether the template_host entry was destroyed by the user or not',
|
|
`is_copy` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'indicates whether this was copied ',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_template_host_ref__host_id` FOREIGN KEY `fk_template_host_ref__host_id` (`host_id`) REFERENCES `host` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_template_host_ref__host_id`(`host_id`),
|
|
CONSTRAINT `fk_template_host_ref__template_id` FOREIGN KEY `fk_template_host_ref__template_id` (`template_id`) REFERENCES `vm_template` (`id`),
|
|
INDEX `i_template_host_ref__template_id`(`template_id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`template_zone_ref` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`zone_id` bigint unsigned NOT NULL,
|
|
`template_id` bigint unsigned NOT NULL,
|
|
`created` DATETIME NOT NULL,
|
|
`last_updated` DATETIME,
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_template_zone_ref__zone_id` FOREIGN KEY `fk_template_zone_ref__zone_id` (`zone_id`) REFERENCES `data_center` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_template_zone_ref__zone_id`(`zone_id`),
|
|
CONSTRAINT `fk_template_zone_ref__template_id` FOREIGN KEY `fk_template_zone_ref__template_id` (`template_id`) REFERENCES `vm_template` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_template_zone_ref__template_id`(`template_id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`console_proxy` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`public_mac_address` varchar(17) unique COMMENT 'mac address of the public facing network card',
|
|
`public_ip_address` char(40) UNIQUE COMMENT 'public ip address for the console proxy',
|
|
`public_netmask` varchar(15) COMMENT 'public netmask used for the console proxy',
|
|
`active_session` int(10) NOT NULL DEFAULT 0 COMMENT 'active session number',
|
|
`last_update` DATETIME NULL COMMENT 'Last session update time',
|
|
`session_details` BLOB NULL COMMENT 'session detail info',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_console_proxy__id` FOREIGN KEY `fk_console_proxy__id`(`id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`secondary_storage_vm` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`public_mac_address` varchar(17) unique COMMENT 'mac address of the public facing network card',
|
|
`public_ip_address` char(40) UNIQUE COMMENT 'public ip address for the sec storage vm',
|
|
`public_netmask` varchar(15) COMMENT 'public netmask used for the sec storage vm',
|
|
`guid` varchar(255) COMMENT 'copied from guid of secondary storage host',
|
|
`nfs_share` varchar(255) COMMENT 'server and path exported by the nfs server ',
|
|
`last_update` DATETIME NULL COMMENT 'Last session update time',
|
|
`role` varchar(64) NOT NULL DEFAULT 'templateProcessor' COMMENT 'work role of secondary storage host(templateProcessor | commandExecutor)',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_secondary_storage_vm__id` FOREIGN KEY `fk_secondary_storage_vm__id`(`id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`domain` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`parent` bigint unsigned,
|
|
`name` varchar(255),
|
|
`owner` bigint unsigned NOT NULL,
|
|
`path` varchar(255) NOT NULL,
|
|
`level` int(10) NOT NULL DEFAULT 0,
|
|
`child_count` int(10) NOT NULL DEFAULT 0,
|
|
`next_child_seq` bigint unsigned NOT NULL DEFAULT 1,
|
|
`removed` datetime COMMENT 'date removed',
|
|
`state` char(32) NOT NULL default 'Active' COMMENT 'state of the domain',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE (parent, name, removed),
|
|
INDEX `i_domain__path`(`path`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`account` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`account_name` varchar(100) COMMENT 'an account name set by the creator of the account, defaults to username for single accounts',
|
|
`type` int(1) unsigned NOT NULL,
|
|
`domain_id` bigint unsigned,
|
|
`state` varchar(10) NOT NULL default 'enabled',
|
|
`removed` datetime COMMENT 'date removed',
|
|
`cleanup_needed` tinyint(1) NOT NULL default '0',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`resource_limit` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`domain_id` bigint unsigned,
|
|
`account_id` bigint unsigned,
|
|
`type` varchar(255),
|
|
`max` bigint NOT NULL default '-1',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`resource_count` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`account_id` bigint unsigned,
|
|
`domain_id` bigint unsigned,
|
|
`type` varchar(255),
|
|
`count` bigint NOT NULL default '0',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_host_capacity` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`host_id` bigint unsigned,
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`pod_id` bigint unsigned,
|
|
`cluster_id` bigint unsigned COMMENT 'foreign key to cluster',
|
|
`used_capacity` bigint signed NOT NULL,
|
|
`reserved_capacity` bigint signed NOT NULL,
|
|
`total_capacity` bigint signed NOT NULL,
|
|
`capacity_type` int(1) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_op_host_capacity__host_type`(`host_id`, `capacity_type`),
|
|
CONSTRAINT `fk_op_host_capacity__pod_id` FOREIGN KEY (`pod_id`) REFERENCES `host_pod_ref` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_host_capacity__pod_id`(`pod_id`),
|
|
CONSTRAINT `fk_op_host_capacity__data_center_id` FOREIGN KEY (`data_center_id`) REFERENCES `data_center` (`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_host_capacity__data_center_id`(`data_center_id`),
|
|
CONSTRAINT `fk_op_host_capacity__cluster_id` FOREIGN KEY `fk_op_host_capacity__cluster_id` (`cluster_id`) REFERENCES `cloud`.`cluster`(`id`) ON DELETE CASCADE,
|
|
INDEX `i_op_host_capacity__cluster_id`(`cluster_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`alert` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`type` int(1) unsigned NOT NULL,
|
|
`pod_id` bigint unsigned,
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`subject` varchar(999) COMMENT 'according to SMTP spec, max subject length is 1000 including the CRLF character, so allow enough space to fit long pod/zone/host names',
|
|
`sent_count` int(3) unsigned NOT NULL,
|
|
`created` DATETIME NULL COMMENT 'when this alert type was created',
|
|
`last_sent` DATETIME NULL COMMENT 'Last time the alert was sent',
|
|
`resolved` DATETIME NULL COMMENT 'when the alert status was resolved (available memory no longer at critical level, etc.)',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`async_job` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`user_id` bigint unsigned NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
`session_key` varchar(64) COMMENT 'all async-job manage to apply session based security enforcement',
|
|
`instance_type` varchar(64) COMMENT 'instance_type and instance_id work together to allow attaching an instance object to a job',
|
|
`instance_id` bigint unsigned,
|
|
`job_cmd` varchar(64) NOT NULL COMMENT 'command name',
|
|
`job_cmd_originator` varchar(64) COMMENT 'command originator',
|
|
`job_cmd_info` text COMMENT 'command parameter info',
|
|
`job_cmd_ver` int(1) COMMENT 'command version',
|
|
`callback_type` int(1) COMMENT 'call back type, 0 : polling, 1 : email',
|
|
`callback_address` varchar(128) COMMENT 'call back address by callback_type',
|
|
`job_status` int(1) COMMENT 'general job execution status',
|
|
`job_process_status` int(1) COMMENT 'job specific process status for asynchronize progress update',
|
|
`job_result_code` int(1) COMMENT 'job result code, specify error code corresponding to result message',
|
|
`job_result` text COMMENT 'job result info',
|
|
`job_init_msid` bigint COMMENT 'the initiating msid',
|
|
`job_complete_msid` bigint COMMENT 'completing msid',
|
|
`created` datetime COMMENT 'date created',
|
|
`last_updated` datetime COMMENT 'date created',
|
|
`last_polled` datetime COMMENT 'date polled',
|
|
`removed` datetime COMMENT 'date removed',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`sync_queue` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`sync_objtype` varchar(64) NOT NULL,
|
|
`sync_objid` bigint unsigned NOT NULL,
|
|
`queue_proc_msid` bigint,
|
|
`queue_proc_number` bigint COMMENT 'process number, increase 1 for each iteration',
|
|
`queue_proc_time` datetime COMMENT 'last time to process the queue',
|
|
`created` datetime COMMENT 'date created',
|
|
`last_updated` datetime COMMENT 'date created',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`stack_maid` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`msid` bigint unsigned NOT NULL,
|
|
`thread_id` bigint unsigned NOT NULL,
|
|
`seq` int unsigned NOT NULL,
|
|
`cleanup_delegate` varchar(128),
|
|
`cleanup_context` text,
|
|
`created` datetime,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`sync_queue_item` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`queue_id` bigint unsigned NOT NULL,
|
|
`content_type` varchar(64),
|
|
`content_id` bigint,
|
|
`queue_proc_msid` bigint COMMENT 'owner msid when the queue item is being processed',
|
|
`queue_proc_number` bigint COMMENT 'used to distinguish raw items and items being in process',
|
|
`created` datetime COMMENT 'time created',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`disk_offering` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`domain_id` bigint unsigned,
|
|
`name` varchar(255) NOT NULL,
|
|
`display_text` varchar(4096) NULL COMMENT 'Descrianaption text set by the admin for display purpose only',
|
|
`disk_size` bigint unsigned NOT NULL COMMENT 'disk space in mbs',
|
|
`type` varchar(32) COMMENT 'inheritted by who?',
|
|
`tags` varchar(4096) COMMENT 'comma separated tags about the disk_offering',
|
|
`recreatable` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'The root disk is always recreatable',
|
|
`use_local_storage` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Indicates whether local storage pools should be used',
|
|
`unique_name` varchar(32) UNIQUE COMMENT 'unique name',
|
|
`system_use` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'is this offering for system used only',
|
|
`customized` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '0 implies not customized by default',
|
|
`removed` datetime COMMENT 'date removed',
|
|
`created` datetime COMMENT 'date the disk offering was created',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`service_offering` (
|
|
`id` bigint unsigned NOT NULL,
|
|
`cpu` int(10) unsigned NOT NULL COMMENT '# of cores',
|
|
`speed` int(10) unsigned NOT NULL COMMENT 'speed per core in mhz',
|
|
`ram_size` bigint unsigned NOT NULL,
|
|
`nw_rate` smallint unsigned default 200 COMMENT 'network rate throttle mbits/s',
|
|
`mc_rate` smallint unsigned default 10 COMMENT 'mcast rate throttle mbits/s',
|
|
`ha_enabled` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Enable HA',
|
|
`limit_cpu_use` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Limit the CPU usage to service offering',
|
|
`host_tag` varchar(255) COMMENT 'host tag specified by the service_offering',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_service_offering__id` FOREIGN KEY (`id`) REFERENCES `disk_offering`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`network_rule_config` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`security_group_id` bigint unsigned NOT NULL,
|
|
`public_port` varchar(10) default NULL,
|
|
`private_port` varchar(10) default NULL,
|
|
`protocol` varchar(16) NOT NULL default 'TCP',
|
|
`create_status` varchar(32) COMMENT 'rule creation status',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`remote_access_vpn` (
|
|
`vpn_server_addr_id` bigint unsigned UNIQUE NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
`network_id` bigint unsigned NOT NULL,
|
|
`domain_id` bigint unsigned NOT NULL,
|
|
`local_ip` char(40) NOT NULL,
|
|
`ip_range` varchar(32) NOT NULL,
|
|
`ipsec_psk` varchar(256) NOT NULL,
|
|
`state` char(32) NOT NULL,
|
|
PRIMARY KEY (`vpn_server_addr_id`),
|
|
CONSTRAINT `fk_remote_access_vpn__account_id` FOREIGN KEY `fk_remote_access_vpn__account_id`(`account_id`) REFERENCES `account` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_remote_access_vpn__domain_id` FOREIGN KEY `fk_remote_access_vpn__domain_id`(`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_remote_access_vpn__network_id` FOREIGN KEY `fk_remote_access_vpn__network_id` (`network_id`) REFERENCES `networks` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_remote_access_vpn__vpn_server_addr_id` FOREIGN KEY `fk_remote_access_vpn__vpn_server_addr_id` (`vpn_server_addr_id`) REFERENCES `user_ip_address` (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`vpn_users` (
|
|
`id` bigint unsigned NOT NULL UNIQUE auto_increment,
|
|
`owner_id` bigint unsigned NOT NULL,
|
|
`domain_id` bigint unsigned NOT NULL,
|
|
`username` varchar(255) NOT NULL,
|
|
`password` varchar(255) NOT NULL,
|
|
`state` char(32) NOT NULL COMMENT 'What state is this vpn user in',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_vpn_users__owner_id` FOREIGN KEY (`owner_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_vpn_users__domain_id` FOREIGN KEY (`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
|
INDEX `i_vpn_users_username`(`username`),
|
|
UNIQUE `i_vpn_users__account_id__username`(`owner_id`, `username`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`storage_pool` (
|
|
`id` bigint unsigned UNIQUE NOT NULL,
|
|
`name` varchar(255) COMMENT 'should be NOT NULL',
|
|
`uuid` varchar(255) UNIQUE,
|
|
`pool_type` varchar(32) NOT NULL,
|
|
`port` int unsigned NOT NULL,
|
|
`data_center_id` bigint unsigned NOT NULL,
|
|
`pod_id` bigint unsigned,
|
|
`cluster_id` bigint unsigned COMMENT 'foreign key to cluster',
|
|
`available_bytes` bigint unsigned,
|
|
`capacity_bytes` bigint unsigned,
|
|
`host_address` char(40) NOT NULL COMMENT 'FQDN or IP of storage server',
|
|
`path` varchar(255) NOT NULL COMMENT 'Filesystem path that is shared',
|
|
`created` datetime COMMENT 'date the pool created',
|
|
`removed` datetime COMMENT 'date removed if not null',
|
|
`update_time` DATETIME,
|
|
`status` varchar(32),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`storage_pool_details` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`pool_id` bigint unsigned NOT NULL COMMENT 'pool the detail is related to',
|
|
`name` varchar(255) NOT NULL COMMENT 'name of the detail',
|
|
`value` varchar(255) NOT NULL COMMENT 'value of the detail',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`storage_pool_host_ref` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`host_id` bigint unsigned NOT NULL,
|
|
`pool_id` bigint unsigned NOT NULL,
|
|
`created` DATETIME NOT NULL,
|
|
`last_updated` DATETIME,
|
|
`local_path` varchar(255),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`template_spool_ref` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`pool_id` bigint unsigned NOT NULL,
|
|
`template_id` bigint unsigned NOT NULL,
|
|
`created` DATETIME NOT NULL,
|
|
`last_updated` DATETIME,
|
|
`job_id` varchar(255),
|
|
`download_pct` int(10) unsigned,
|
|
`download_state` varchar(255),
|
|
`error_str` varchar(255),
|
|
`local_path` varchar(255),
|
|
`install_path` varchar(255),
|
|
`template_size` bigint unsigned NOT NULL COMMENT 'the size of the template on the pool',
|
|
`marked_for_gc` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'if true, the garbage collector will evict the template from this pool.',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE `i_template_spool_ref__template_id__pool_id`(`template_id`, `pool_id`),
|
|
CONSTRAINT `fk_template_spool_ref__template_id` FOREIGN KEY (`template_id`) REFERENCES `vm_template`(`id`),
|
|
CONSTRAINT `fk_template_spool_ref__pool_id` FOREIGN KEY (`pool_id`) REFERENCES `storage_pool`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`guest_os` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`category_id` bigint unsigned NOT NULL,
|
|
`name` varchar(255),
|
|
`display_name` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`guest_os_hypervisor` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`hypervisor_type` varchar(32) NOT NULL,
|
|
`guest_os_name` varchar(255) NOT NULL,
|
|
`guest_os_id` bigint unsigned NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`guest_os_category` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`name` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`launch_permission` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`template_id` bigint unsigned NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`snapshot_policy` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`volume_id` bigint unsigned NOT NULL,
|
|
`schedule` varchar(100) NOT NULL COMMENT 'schedule time of execution',
|
|
`timezone` varchar(100) NOT NULL COMMENT 'the timezone in which the schedule time is specified',
|
|
`interval` int(4) NOT NULL default 4 COMMENT 'backup schedule, e.g. hourly, daily, etc.',
|
|
`max_snaps` int(8) NOT NULL default 0 COMMENT 'maximum number of snapshots to maintain',
|
|
`active` tinyint(1) unsigned NOT NULL COMMENT 'Is the policy active',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`snapshot_schedule` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`volume_id` bigint unsigned NOT NULL COMMENT 'The volume for which this snapshot is being taken',
|
|
`policy_id` bigint unsigned NOT NULL COMMENT 'One of the policyIds for which this snapshot was taken',
|
|
`scheduled_timestamp` datetime NOT NULL COMMENT 'Time at which the snapshot was scheduled for execution',
|
|
`async_job_id` bigint unsigned COMMENT 'If this schedule is being executed, it is the id of the create aysnc_job. Before that it is null',
|
|
`snapshot_id` bigint unsigned COMMENT 'If this schedule is being executed, then the corresponding snapshot has this id. Before that it is null',
|
|
UNIQUE (volume_id, policy_id),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_pod_vlan_alloc` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary id',
|
|
`vlan` varchar(18) NOT NULL COMMENT 'vlan id',
|
|
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center the pod belongs to',
|
|
`pod_id` bigint unsigned NOT NULL COMMENT 'pod the vlan belongs to',
|
|
`account_id` bigint unsigned NULL COMMENT 'account the vlan belongs to right now',
|
|
`taken` datetime COMMENT 'Date taken',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`security_group` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`name` varchar(255) NOT NULL,
|
|
`description` varchar(4096) NULL,
|
|
`domain_id` bigint unsigned NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`security_ingress_rule` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`security_group_id` bigint unsigned NOT NULL,
|
|
`start_port` varchar(10) default NULL,
|
|
`end_port` varchar(10) default NULL,
|
|
`protocol` varchar(16) NOT NULL default 'TCP',
|
|
`allowed_network_id` bigint unsigned,
|
|
`allowed_ip_cidr` varchar(44),
|
|
`create_status` varchar(32) COMMENT 'rule creation status',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`security_group_vm_map` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`security_group_id` bigint unsigned NOT NULL,
|
|
`instance_id` bigint unsigned NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_nwgrp_work` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance that needs rules to be synced.',
|
|
`mgmt_server_id` bigint unsigned COMMENT 'management server that has taken up the work of doing rule sync',
|
|
`created` datetime NOT NULL COMMENT 'time the entry was requested',
|
|
`taken` datetime COMMENT 'time it was taken by the management server',
|
|
`step` varchar(32) NOT NULL COMMENT 'Step in the work',
|
|
`seq_no` bigint unsigned COMMENT 'seq number to be sent to agent, uniquely identifies ruleset update',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`op_vm_ruleset_log` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance that needs rules to be synced.',
|
|
`created` datetime NOT NULL COMMENT 'time the entry was requested',
|
|
`logsequence` bigint unsigned COMMENT 'seq number to be sent to agent, uniquely identifies ruleset update',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`instance_group` (
|
|
`id` bigint unsigned NOT NULL UNIQUE auto_increment,
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'owner. foreign key to account table',
|
|
`name` varchar(255) NOT NULL,
|
|
`removed` datetime COMMENT 'date the group was removed',
|
|
`created` datetime COMMENT 'date the group was created',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`instance_group_vm_map` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`group_id` bigint unsigned NOT NULL,
|
|
`instance_id` bigint unsigned NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ssh_keypairs` (
|
|
`id` bigint unsigned NOT NULL auto_increment COMMENT 'id',
|
|
`account_id` bigint unsigned NOT NULL COMMENT 'owner, foreign key to account table',
|
|
`domain_id` bigint unsigned NOT NULL COMMENT 'domain, foreign key to domain table',
|
|
`keypair_name` varchar(256) NOT NULL COMMENT 'name of the key pair',
|
|
`fingerprint` varchar(128) NOT NULL COMMENT 'fingerprint for the ssh public key',
|
|
`public_key` varchar(5120) NOT NULL COMMENT 'public key of the ssh key pair',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`usage_event` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`type` varchar(32) NOT NULL,
|
|
`account_id` bigint unsigned NOT NULL,
|
|
`created` datetime NOT NULL,
|
|
`zone_id` bigint unsigned NOT NULL,
|
|
`resource_id` bigint unsigned,
|
|
`resource_name` varchar(255),
|
|
`offering_id` bigint unsigned,
|
|
`template_id` bigint unsigned,
|
|
`size` bigint unsigned,
|
|
`resource_type` varchar(32),
|
|
`processed` tinyint NOT NULL default '0',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ovs_host_vlan_alloc`(
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`host_id` bigint unsigned COMMENT 'host id',
|
|
`account_id` bigint unsigned COMMENT 'account id',
|
|
`vlan` bigint unsigned COMMENT 'vlan id under account #account_id on host #host_id',
|
|
`ref` int unsigned NOT NULL DEFAULT 0 COMMENT 'reference count',
|
|
PRIMARY KEY(`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ovs_tunnel_alloc`(
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`from` bigint unsigned COMMENT 'from host id',
|
|
`to` bigint unsigned COMMENT 'to host id',
|
|
`in_port` int unsigned COMMENT 'in port on open vswitch',
|
|
PRIMARY KEY(`from`, `to`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ovs_tunnel`(
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`from` bigint unsigned COMMENT 'from host id',
|
|
`to` bigint unsigned COMMENT 'to host id',
|
|
`key` int unsigned default '0' COMMENT 'current gre key can be used',
|
|
PRIMARY KEY(`from`, `to`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ovs_tunnel_account`(
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`from` bigint unsigned COMMENT 'from host id',
|
|
`to` bigint unsigned COMMENT 'to host id',
|
|
`account` bigint unsigned COMMENT 'account',
|
|
`key` int unsigned COMMENT 'gre key',
|
|
`port_name` varchar(32) COMMENT 'in port on open vswitch',
|
|
`state` varchar(16) default 'FAILED' COMMENT 'result of tunnel creatation',
|
|
PRIMARY KEY(`from`, `to`, `account`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
INSERT INTO `cloud`.`ovs_tunnel_account` (`from`, `to`, `account`, `key`, `port_name`, `state`) VALUES (0, 0, 0, 0, 'lock', 'SUCCESS');
|
|
|
|
CREATE TABLE `cloud`.`ovs_vlan_mapping_dirty`(
|
|
`id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT,
|
|
`account_id` bigint unsigned COMMENT 'account id',
|
|
`dirty` int(1) unsigned NOT NULL DEFAULT 0 COMMENT '1 means vlan mapping of this account was changed',
|
|
PRIMARY KEY(`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ovs_vm_flow_log` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance that needs flows to be synced.',
|
|
`created` datetime NOT NULL COMMENT 'time the entry was requested',
|
|
`logsequence` bigint unsigned COMMENT 'seq number to be sent to agent, uniquely identifies flow update',
|
|
`vm_name` varchar(255) NOT NULL COMMENT 'vm name',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`ovs_work` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'vm instance that needs rules to be synced.',
|
|
`mgmt_server_id` bigint unsigned COMMENT 'management server that has taken up the work of doing rule sync',
|
|
`created` datetime NOT NULL COMMENT 'time the entry was requested',
|
|
`taken` datetime COMMENT 'time it was taken by the management server',
|
|
`step` varchar(32) NOT NULL COMMENT 'Step in the work',
|
|
`seq_no` bigint unsigned COMMENT 'seq number to be sent to agent, uniquely identifies ruleset update',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`storage_pool_work` (
|
|
`id` bigint unsigned UNIQUE NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`pool_id` bigint unsigned NOT NULL COMMENT 'storage pool associated with the vm',
|
|
`vm_id` bigint unsigned NOT NULL COMMENT 'vm identifier',
|
|
`stopped_for_maintenance` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'this flag denoted whether the vm was stopped during maintenance',
|
|
`started_after_maintenance` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'this flag denoted whether the vm was started after maintenance',
|
|
`mgmt_server_id` bigint unsigned NOT NULL COMMENT 'management server id',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE (pool_id,vm_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`data_center_details` (
|
|
`id` bigint unsigned NOT NULL auto_increment,
|
|
`dc_id` bigint unsigned NOT NULL COMMENT 'dc id',
|
|
`name` varchar(255) NOT NULL,
|
|
`value` varchar(255) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_dc_details__dc_id` FOREIGN KEY (`dc_id`) REFERENCES `data_center`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`domain_network_ref` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`domain_id` bigint unsigned NOT NULL COMMENT 'domain id',
|
|
`network_id` bigint unsigned NOT NULL COMMENT 'network id',
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_domain_network_ref__domain_id` FOREIGN KEY (`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_domain_network_ref__networks_id` FOREIGN KEY (`network_id`) REFERENCES `networks`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`cmd_exec_log` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`host_id` bigint unsigned NOT NULL COMMENT 'host id of the system VM agent that command is sent to',
|
|
`instance_id` bigint unsigned NOT NULL COMMENT 'instance id of the system VM that command is executed on',
|
|
`command_name` varchar(255) NOT NULL COMMENT 'command name',
|
|
`weight` integer NOT NULL DEFAULT 1 COMMENT 'command weight in consideration of the load factor added to host that is executing the command',
|
|
`created` datetime NOT NULL COMMENT 'date created',
|
|
PRIMARY KEY (`id`),
|
|
INDEX `i_cmd_exec_log__host_id`(`host_id`),
|
|
INDEX `i_cmd_exec_log__instance_id`(`instance_id`),
|
|
CONSTRAINT `fk_cmd_exec_log_ref__inst_id` FOREIGN KEY (`instance_id`) REFERENCES `vm_instance`(`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`keystore` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
|
`name` varchar(64) NOT NULL COMMENT 'unique name for the certifiation',
|
|
`certificate` text NOT NULL COMMENT 'the actual certificate being stored in the db',
|
|
`key` text NOT NULL COMMENT 'private key associated wih the certificate',
|
|
`domain_suffix` varchar(256) NOT NULL COMMENT 'DNS domain suffix associated with the certificate',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE(name)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `cloud`.`swift` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
|
`hostname` varchar(255),
|
|
`account` varchar(255) COMMENT ' account in swift',
|
|
`username` varchar(255) COMMENT ' username in swift',
|
|
`token` varchar(255) COMMENT 'token for this user',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
SET foreign_key_checks = 1;
|