mirror of https://github.com/apache/cloudstack.git
Fixed unittest and some issues with 2.2.14-3.0 upgrade
This commit is contained in:
parent
1d749bb9d3
commit
0077234576
|
|
@ -328,6 +328,8 @@ public class Upgrade2214to30 implements DbUpgrade {
|
|||
PreparedStatement pstmtUpdate = null;
|
||||
try {
|
||||
// Load all DataCenters
|
||||
String getNextNetworkSequenceSql = "SELECT value from `cloud`.`sequence` where name='physical_networks_seq'";
|
||||
String advanceNetworkSequenceSql = "UPDATE `cloud`.`sequence` set value=value+1 where name='physical_networks_seq'";
|
||||
|
||||
String xenPublicLabel = getNetworkLabelFromConfig(conn, "xen.public.network.device");
|
||||
String xenPrivateLabel = getNetworkLabelFromConfig(conn, "xen.private.network.device");
|
||||
|
|
@ -351,88 +353,158 @@ public class Upgrade2214to30 implements DbUpgrade {
|
|||
String vnet = rs.getString(4);
|
||||
String zoneName = rs.getString(5);
|
||||
|
||||
//check if there are multiple guest networks configured using network_tags
|
||||
|
||||
PreparedStatement pstmt2 = conn.prepareStatement("SELECT distinct tag FROM `cloud`.`network_tags` t JOIN `cloud`.`networks` n where t.network_id = n.id and n.data_center_id = "+zoneId);
|
||||
ResultSet rsTags = pstmt2.executeQuery();
|
||||
if(rsTags.next()){
|
||||
boolean isFirstPhysicalNtwk = true;
|
||||
do{
|
||||
s_logger.debug("Network tags are not empty, might have to create more than one physical network...");
|
||||
//create one physical network per tag
|
||||
String guestNetworkTag = rsTags.getString(1);
|
||||
long physicalNetworkId = addPhysicalNetworkToZone(conn, zoneId, zoneName, networkType, (isFirstPhysicalNtwk) ? vnet : null, domainId);
|
||||
//add Traffic types
|
||||
if(isFirstPhysicalNtwk){
|
||||
addTrafficType(conn, physicalNetworkId, "Public", xenPublicLabel, kvmPublicLabel, vmwarePublicLabel);
|
||||
addTrafficType(conn, physicalNetworkId, "Management", xenPrivateLabel, kvmPrivateLabel, vmwarePrivateLabel);
|
||||
addTrafficType(conn, physicalNetworkId, "Storage", xenStorageLabel, null, null);
|
||||
}
|
||||
addTrafficType(conn, physicalNetworkId, "Guest", guestNetworkTag, kvmGuestLabel, vmwareGuestLabel);
|
||||
addDefaultServiceProviders(conn, physicalNetworkId, zoneId);
|
||||
//for all networks with this tag, add physical_network_id
|
||||
|
||||
PreparedStatement pstmt3 = conn.prepareStatement("SELECT network_id FROM `cloud`.`network_tags` where tag = '" + guestNetworkTag + "'");
|
||||
ResultSet rsNet = pstmt3.executeQuery();
|
||||
s_logger.debug("Adding PhysicalNetwork to VLAN");
|
||||
s_logger.debug("Adding PhysicalNetwork to user_ip_address");
|
||||
s_logger.debug("Adding PhysicalNetwork to networks");
|
||||
while(rsNet.next()){
|
||||
Long networkId = rsNet.getLong(1);
|
||||
addPhysicalNtwk_To_Ntwk_IP_Vlan(conn, physicalNetworkId,networkId);
|
||||
}
|
||||
pstmt3.close();
|
||||
// add first physicalNetworkId to op_dc_vnet_alloc for this zone - just a placeholder since direct networking dont need this
|
||||
if(isFirstPhysicalNtwk){
|
||||
s_logger.debug("Adding PhysicalNetwork to op_dc_vnet_alloc");
|
||||
String updateVnet = "UPDATE `cloud`.`op_dc_vnet_alloc` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateVnet);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
}
|
||||
|
||||
isFirstPhysicalNtwk = false;
|
||||
}while(rsTags.next());
|
||||
pstmt2.close();
|
||||
}else{
|
||||
//default to one physical network
|
||||
long physicalNetworkId = addPhysicalNetworkToZone(conn, zoneId, zoneName, networkType, vnet, domainId);
|
||||
// add traffic types
|
||||
addTrafficType(conn, physicalNetworkId, "Public", xenPublicLabel, kvmPublicLabel, vmwarePublicLabel);
|
||||
addTrafficType(conn, physicalNetworkId, "Management", xenPrivateLabel, kvmPrivateLabel, vmwarePrivateLabel);
|
||||
addTrafficType(conn, physicalNetworkId, "Storage", xenStorageLabel, null, null);
|
||||
addTrafficType(conn, physicalNetworkId, "Guest", xenGuestLabel, kvmGuestLabel, vmwareGuestLabel);
|
||||
addDefaultServiceProviders(conn, physicalNetworkId, zoneId);
|
||||
|
||||
// add physicalNetworkId to op_dc_vnet_alloc for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to op_dc_vnet_alloc");
|
||||
String updateVnet = "UPDATE `cloud`.`op_dc_vnet_alloc` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateVnet);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
// add p.network
|
||||
PreparedStatement pstmt2 = conn.prepareStatement(getNextNetworkSequenceSql);
|
||||
ResultSet rsSeq = pstmt2.executeQuery();
|
||||
rsSeq.next();
|
||||
|
||||
// add physicalNetworkId to vlan for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to VLAN");
|
||||
String updateVLAN = "UPDATE `cloud`.`vlan` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateVLAN);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
long physicalNetworkId = rsSeq.getLong(1);
|
||||
rsSeq.close();
|
||||
pstmt2.close();
|
||||
pstmt2 = conn.prepareStatement(advanceNetworkSequenceSql);
|
||||
pstmt2.executeUpdate();
|
||||
pstmt2.close();
|
||||
|
||||
// add physicalNetworkId to user_ip_address for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to user_ip_address");
|
||||
String updateUsrIp = "UPDATE `cloud`.`user_ip_address` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateUsrIp);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add physicalNetworkId to guest networks for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to networks");
|
||||
String updateNet = "UPDATE `cloud`.`networks` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId + " AND traffic_type = 'Guest'";
|
||||
pstmtUpdate = conn.prepareStatement(updateNet);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
String broadcastDomainRange = "POD";
|
||||
if ("Advanced".equals(networkType)) {
|
||||
broadcastDomainRange = "ZONE";
|
||||
}
|
||||
|
||||
String values = null;
|
||||
values = "('" + physicalNetworkId + "'";
|
||||
values += ",'" + uuid + "'";
|
||||
values += ",'" + zoneId + "'";
|
||||
values += ",'" + vnet + "'";
|
||||
values += ",'" + domainId + "'";
|
||||
values += ",'" + broadcastDomainRange + "'";
|
||||
values += ",'Enabled'";
|
||||
values += ",'" + zoneName + "-pNtwk'";
|
||||
values += ")";
|
||||
|
||||
s_logger.debug("Adding PhysicalNetwork " + physicalNetworkId + " for Zone id " + zoneId);
|
||||
|
||||
String sql = "INSERT INTO `cloud`.`physical_network` (id, uuid, data_center_id, vnet, domain_id, broadcast_domain_range, state, name) VALUES " + values;
|
||||
pstmtUpdate = conn.prepareStatement(sql);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add traffic types
|
||||
s_logger.debug("Adding PhysicalNetwork traffic types");
|
||||
String insertTraficType = "INSERT INTO `cloud`.`physical_network_traffic_types` (physical_network_id, traffic_type, xen_network_label, kvm_network_label, vmware_network_label, uuid) VALUES ( ?, ?, ?, ?, ?, ?)";
|
||||
pstmtUpdate = conn.prepareStatement(insertTraficType);
|
||||
pstmtUpdate.setLong(1, physicalNetworkId);
|
||||
pstmtUpdate.setString(2, "Public");
|
||||
pstmtUpdate.setString(3, xenPublicLabel);
|
||||
pstmtUpdate.setString(4, kvmPublicLabel);
|
||||
pstmtUpdate.setString(5, vmwarePublicLabel);
|
||||
pstmtUpdate.setString(6, UUID.randomUUID().toString());
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
pstmtUpdate = conn.prepareStatement(insertTraficType);
|
||||
pstmtUpdate.setLong(1, physicalNetworkId);
|
||||
pstmtUpdate.setString(2, "Management");
|
||||
pstmtUpdate.setString(3, xenPrivateLabel);
|
||||
pstmtUpdate.setString(4, kvmPrivateLabel);
|
||||
pstmtUpdate.setString(5, vmwarePrivateLabel);
|
||||
pstmtUpdate.setString(6, UUID.randomUUID().toString());
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
pstmtUpdate = conn.prepareStatement(insertTraficType);
|
||||
pstmtUpdate.setLong(1, physicalNetworkId);
|
||||
pstmtUpdate.setString(2, "Storage");
|
||||
pstmtUpdate.setString(3, xenStorageLabel);
|
||||
pstmtUpdate.setString(4, null);
|
||||
pstmtUpdate.setString(5, null);
|
||||
pstmtUpdate.setString(6, UUID.randomUUID().toString());
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
pstmtUpdate = conn.prepareStatement(insertTraficType);
|
||||
pstmtUpdate.setLong(1, physicalNetworkId);
|
||||
pstmtUpdate.setString(2, "Guest");
|
||||
pstmtUpdate.setString(3, xenGuestLabel);
|
||||
pstmtUpdate.setString(4, kvmGuestLabel);
|
||||
pstmtUpdate.setString(5, vmwareGuestLabel);
|
||||
pstmtUpdate.setString(6, UUID.randomUUID().toString());
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add physical network service provider - VirtualRouter
|
||||
s_logger.debug("Adding PhysicalNetworkServiceProvider VirtualRouter");
|
||||
String insertPNSP = "INSERT INTO `cloud`.`physical_network_service_providers` (`uuid`, `physical_network_id` , `provider_name`, `state` ," +
|
||||
"`destination_physical_network_id`, `vpn_service_provided`, `dhcp_service_provided`, `dns_service_provided`, `gateway_service_provided`," +
|
||||
"`firewall_service_provided`, `source_nat_service_provided`, `load_balance_service_provided`, `static_nat_service_provided`," +
|
||||
"`port_forwarding_service_provided`, `user_data_service_provided`, `security_group_service_provided`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||
|
||||
pstmtUpdate = conn.prepareStatement(insertPNSP);
|
||||
pstmtUpdate.setString(1, UUID.randomUUID().toString());
|
||||
pstmtUpdate.setLong(2, physicalNetworkId);
|
||||
pstmtUpdate.setString(3, "VirtualRouter");
|
||||
pstmtUpdate.setString(4, "Enabled");
|
||||
pstmtUpdate.setLong(5, 0);
|
||||
pstmtUpdate.setInt(6, 1);
|
||||
pstmtUpdate.setInt(7, 1);
|
||||
pstmtUpdate.setInt(8, 1);
|
||||
pstmtUpdate.setInt(9, 1);
|
||||
pstmtUpdate.setInt(10, 1);
|
||||
pstmtUpdate.setInt(11, 1);
|
||||
pstmtUpdate.setInt(12, 1);
|
||||
pstmtUpdate.setInt(13, 1);
|
||||
pstmtUpdate.setInt(14, 1);
|
||||
pstmtUpdate.setInt(15, 1);
|
||||
pstmtUpdate.setInt(16, 0);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add virtual_router_element
|
||||
String fetchNSPid = "SELECT id from `cloud`.`physical_network_service_providers` where physical_network_id=" + physicalNetworkId;
|
||||
pstmt2 = conn.prepareStatement(fetchNSPid);
|
||||
ResultSet rsNSPid = pstmt2.executeQuery();
|
||||
rsNSPid.next();
|
||||
long nspId = rsNSPid.getLong(1);
|
||||
rsSeq.close();
|
||||
pstmt2.close();
|
||||
|
||||
String insertRouter = "INSERT INTO `cloud`.`virtual_router_providers` (`nsp_id`, `uuid` , `type` , `enabled`) " +
|
||||
"VALUES (?,?,?,?)";
|
||||
pstmtUpdate = conn.prepareStatement(insertRouter);
|
||||
pstmtUpdate.setLong(1, nspId);
|
||||
pstmtUpdate.setString(2, UUID.randomUUID().toString());
|
||||
pstmtUpdate.setString(3, "VirtualRouter");
|
||||
pstmtUpdate.setInt(4, 1);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add physicalNetworkId to op_dc_vnet_alloc for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to op_dc_vnet_alloc");
|
||||
String updateVnet = "UPDATE `cloud`.`op_dc_vnet_alloc` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateVnet);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add physicalNetworkId to vlan for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to VLAN");
|
||||
String updateVLAN = "UPDATE `cloud`.`vlan` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateVLAN);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add physicalNetworkId to user_ip_address for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to user_ip_address");
|
||||
String updateUsrIp = "UPDATE `cloud`.`user_ip_address` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId;
|
||||
pstmtUpdate = conn.prepareStatement(updateUsrIp);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
|
||||
// add physicalNetworkId to guest networks for this zone
|
||||
s_logger.debug("Adding PhysicalNetwork to networks");
|
||||
String updateNet = "UPDATE `cloud`.`networks` SET physical_network_id = " + physicalNetworkId + " WHERE data_center_id = " + zoneId + " AND traffic_type = 'Guest'";
|
||||
pstmtUpdate = conn.prepareStatement(updateNet);
|
||||
pstmtUpdate.executeUpdate();
|
||||
pstmtUpdate.close();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new CloudRuntimeException("Exception while adding PhysicalNetworks", e);
|
||||
|
|
@ -581,6 +653,7 @@ public class Upgrade2214to30 implements DbUpgrade {
|
|||
PreparedStatement pstmt = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
<<<<<<< HEAD
|
||||
int numRows = 0;
|
||||
pstmt = conn.prepareStatement("select count(id) from `cloud`.`vm_instance` where removed is null");
|
||||
rs = pstmt.executeQuery();
|
||||
|
|
@ -608,6 +681,21 @@ public class Upgrade2214to30 implements DbUpgrade {
|
|||
}
|
||||
rs.close();
|
||||
offset+=500;
|
||||
=======
|
||||
pstmt = conn.prepareStatement("select id, vnc_password from `cloud`.`vm_instance`");
|
||||
rs = pstmt.executeQuery();
|
||||
while (rs.next()) {
|
||||
long id = rs.getLong(1);
|
||||
String value = rs.getString(2);
|
||||
if (value == null) {
|
||||
continue;
|
||||
}
|
||||
String encryptedValue = DBEncryptionUtil.encrypt(value);
|
||||
pstmt = conn.prepareStatement("update `cloud`.`vm_instance` set vnc_password=? where id=?");
|
||||
pstmt.setBytes(1, encryptedValue.getBytes("UTF-8"));
|
||||
pstmt.setLong(2, id);
|
||||
pstmt.executeUpdate();
|
||||
>>>>>>> 2eaefc4... Fixed unittest and some issues with 2.2.14-3.0 upgrade
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new CloudRuntimeException("Unable encrypt vm_instance vnc_password ", e);
|
||||
|
|
|
|||
|
|
@ -10,321 +10,321 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
# Automatically generated by addcopyright.py at 04/03/2012
|
||||
|
||||
|
||||
#Schema upgrade from 2.2.14 to 3.0;
|
||||
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `hypervisor_version` varchar(32) COMMENT 'hypervisor version' AFTER hypervisor_type;
|
||||
|
||||
CREATE TABLE `cloud`.`hypervisor_capabilities` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`hypervisor_type` varchar(32) NOT NULL,
|
||||
`hypervisor_version` varchar(32),
|
||||
`max_guests_limit` bigint unsigned DEFAULT 50,
|
||||
`security_group_enabled` int(1) unsigned DEFAULT 1 COMMENT 'Is security group supported',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', 'default', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', 'XCP 1.0', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '5.6', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '5.6 FP1', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '5.6 SP2', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '6.0', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('VMware', 'default', 128, 0);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('VMware', '4.0', 128, 0);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('VMware', '4.1', 128, 0);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('KVM', 'default', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('Ovm', 'default', 25, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('Ovm', '2.3', 25, 1);
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`projects` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`name` varchar(255) COMMENT 'project name',
|
||||
`display_text` varchar(255) COMMENT 'project name',
|
||||
`project_account_id` bigint unsigned NOT NULL,
|
||||
`domain_id` bigint unsigned NOT NULL,
|
||||
`created` datetime COMMENT 'date created',
|
||||
`removed` datetime COMMENT 'date removed',
|
||||
`state` varchar(255) NOT NULL COMMENT 'state of the project (Active/Inactive/Suspended)',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_projects__project_account_id` FOREIGN KEY(`project_account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_projects__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
||||
INDEX `i_projects__removed`(`removed`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`project_account` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`account_id` bigint unsigned NOT NULL COMMENT'account id',
|
||||
`account_role` varchar(255) NOT NULL DEFAULT 'Regular' COMMENT 'Account role in the project (Owner or Regular)',
|
||||
`project_id` bigint unsigned NOT NULL COMMENT 'project id',
|
||||
`project_account_id` bigint unsigned NOT NULL,
|
||||
`created` datetime COMMENT 'date created',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_project_account__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_account__project_id` FOREIGN KEY(`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_account__project_account_id` FOREIGN KEY(`project_account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
UNIQUE (`account_id`, `project_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`project_invitations` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`uuid` varchar(40),
|
||||
`project_id` bigint unsigned NOT NULL COMMENT 'project id',
|
||||
`account_id` bigint unsigned COMMENT 'account id',
|
||||
`domain_id` bigint unsigned COMMENT 'domain id',
|
||||
`email` varchar(255) COMMENT 'email',
|
||||
`token` varchar(255) COMMENT 'token',
|
||||
`state` varchar(255) NOT NULL DEFAULT 'Pending' COMMENT 'the state of the invitation',
|
||||
`created` datetime COMMENT 'date created',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_project_invitations__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_invitations__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_invitations__project_id` FOREIGN KEY(`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
||||
UNIQUE (`project_id`, `account_id`),
|
||||
UNIQUE (`project_id`, `email`),
|
||||
UNIQUE (`project_id`, `token`),
|
||||
CONSTRAINT `uc_project_invitations__uuid` UNIQUE (`uuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`load_balancer_stickiness_policies` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`uuid` varchar(40),
|
||||
`load_balancer_id` bigint unsigned NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`description` varchar(4096) NULL COMMENT 'description',
|
||||
`method_name` varchar(255) NOT NULL,
|
||||
`params` varchar(4096) NOT NULL,
|
||||
`revoke` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '1 is when rule is set for Revoke',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_load_balancer_stickiness_policies__load_balancer_id` FOREIGN KEY(`load_balancer_id`) REFERENCES `load_balancing_rules`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `cloud`.`template_swift_ref` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`swift_id` bigint unsigned NOT NULL,
|
||||
`template_id` bigint unsigned NOT NULL,
|
||||
`created` DATETIME NOT NULL,
|
||||
`path` varchar(255),
|
||||
`size` bigint unsigned,
|
||||
`physical_size` bigint unsigned DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_template_swift_ref__swift_id` FOREIGN KEY `fk_template_swift_ref__swift_id` (`swift_id`) REFERENCES `swift` (`id`) ON DELETE CASCADE,
|
||||
INDEX `i_template_swift_ref__swift_id`(`swift_id`),
|
||||
CONSTRAINT `fk_template_swift_ref__template_id` FOREIGN KEY `fk_template_swift_ref__template_id` (`template_id`) REFERENCES `vm_template` (`id`),
|
||||
INDEX `i_template_swift_ref__template_id`(`template_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
ALTER TABLE `cloud`.`snapshots` DROP COLUMN `swift_name`;
|
||||
ALTER TABLE `cloud`.`swift` DROP COLUMN `hostname`;
|
||||
ALTER TABLE `cloud`.`swift` DROP COLUMN `token`;
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `url` varchar(255) NOT NULL;
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `key` varchar(255) NOT NULL COMMENT 'token for this user';
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `created` datetime COMMENT 'date the swift first signed on';
|
||||
ALTER TABLE `cloud`.`swift` ADD CONSTRAINT `uc_swift__uuid` UNIQUE (`uuid`);
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'swift.enable', 'false', 'enable swift');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.user.vms', '20', 'The default maximum number of user VMs that can be deployed for a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.public.ips', '20', 'The default maximum number of public IPs that can be consumed by a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.templates', '20', 'The default maximum number of templates that can be deployed for a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.snapshots', '20', 'The default maximum number of snapshots that can be created for a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.volumes', '20', 'The default maximum number of volumes that can be created for a project');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.invite.required', 'false', 'If invitation confirmation is required when add account to project. Default value is false');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.invite.timeout', '86400', 'Invitation expiration time (in seconds). Default is 1 day - 86400 seconds');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'allow.user.create.projects', 'true', 'If regular user can create a project; true by default');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.email.sender', null, 'Sender of project invitation email (will be in the From header of the email).');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.host', null, 'SMTP hostname used for sending out email project invitations');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.password', null, 'Password for SMTP authentication (applies only if project.smtp.useAuth is true)');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.port', '465', 'Port the SMTP server is listening on');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.useAuth', null, 'If true, use SMTP authentication when sending emails');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.username', null, 'Username for SMTP authentication (applies only if project.smtp.useAuth is true)');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'cluster.memory.allocated.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of memory utilization above which allocators will disable using the cluster for low memory available. Keep the corresponding notification threshold lower than this to be notified beforehand.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'cluster.cpu.allocated.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of cpu utilization above which allocators will disable using the cluster for low cpu available. Keep the corresponding notification threshold lower than this to be notified beforehand.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'pool.storage.allocated.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of allocated storage utilization above which allocators will disable using the pool for low allocated storage available.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'pool.storage.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of storage utilization above which allocators will disable using the pool for low storage available.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'zone.vlan.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of Zone Vlan utilization above which alerts will be sent about low number of Zone Vlans.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'cluster.localStorage.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of local storage utilization above which alerts will be sent about low number of direct network public ips.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'zone.directnetwork.publicip.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of Direct Network Public Ip Utilization above which alerts will be sent about low number of direct network public ips.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'zone.secstorage.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of secondary storage utilization above which alerts will be sent about low storage available.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'custom.diskoffering.size.min', '1', 'Minimum size in GB for custom disk offering');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'custom.diskoffering.size.max', '1024', 'Maximum size in GB for custom disk offering');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'system.vm.random.password', 'false', 'Randomize system vm password the first time management server starts');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Network', 'DEFAULT', 'management-server', 'network.securitygroups.defaultadding' , 'true', 'If true, the user VM would be added to the default security group by default');
|
||||
|
||||
update `cloud`.`configuration` set name = 'cluster.storage.allocated.capacity.notificationthreshold' , category = 'Alert' where name = 'storage.allocated.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'cluster.storage.capacity.notificationthreshold' , category = 'Alert' where name = 'storage.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'cluster.cpu.allocated.capacity.notificationthreshold' , category = 'Alert' where name = 'cpu.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'cluster.memory.allocated.capacity.notificationthreshold' , category = 'Alert' where name = 'memory.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'zone.virtualnetwork.publicip.capacity.notificationthreshold' , category = 'Alert' where name = 'public.ip.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'pod.privateip.capacity.notificationthreshold' , category = 'Alert' where name = 'private.ip.capacity.threshold' ;
|
||||
|
||||
ALTER TABLE `cloud`.`domain_router` ADD COLUMN `template_version` varchar(100) COMMENT 'template version' AFTER role;
|
||||
ALTER TABLE `cloud`.`domain_router` ADD COLUMN `scripts_version` varchar(100) COMMENT 'scripts version' AFTER template_version;
|
||||
ALTER TABLE `cloud`.`alert` ADD `cluster_id` bigint unsigned;
|
||||
|
||||
ALTER TABLE `cloud`.`user_statistics` ADD COLUMN `agg_bytes_received` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud`.`user_statistics` ADD COLUMN `agg_bytes_sent` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD CONSTRAINT `uc_vm_instance_uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`async_job` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`async_job` ADD CONSTRAINT `uc_async__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`domain` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`domain` ADD CONSTRAINT `uc_domain__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`account` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`account` ADD CONSTRAINT `uc_account__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud_usage`.`account` ADD COLUMN `uuid` varchar(40);
|
||||
|
||||
ALTER TABLE `cloud`.`user` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`user` ADD CONSTRAINT `uc_user__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`projects` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`projects` ADD CONSTRAINT `uc_projects__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`data_center` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`data_center` ADD CONSTRAINT `uc_data_center__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`host` ADD CONSTRAINT `uc_host__uuid` UNIQUE (`uuid`);
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `update_count` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'atomic increase count making status update operation atomical';
|
||||
|
||||
ALTER TABLE `cloud`.`vm_template` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vm_template` ADD CONSTRAINT `uc_vm_template__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`disk_offering` ADD CONSTRAINT `uc_disk_offering__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`networks` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`networks` ADD CONSTRAINT `uc_networks__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`security_group` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`security_group` ADD CONSTRAINT `uc_security_group__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`instance_group` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`instance_group` ADD CONSTRAINT `uc_instance_group__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`host_pod_ref` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`host_pod_ref` ADD CONSTRAINT `uc_host_pod_ref__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`snapshots` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`snapshots` ADD CONSTRAINT `uc_snapshots__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`snapshot_policy` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`snapshot_policy` ADD CONSTRAINT `uc_snapshot_policy__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`snapshot_schedule` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`snapshot_schedule` ADD CONSTRAINT `uc_snapshot_schedule__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`volumes` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`volumes` ADD CONSTRAINT `uc_volumes__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`vlan` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vlan` ADD CONSTRAINT `uc_vlan__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD CONSTRAINT `uc_user_ip_address__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`firewall_rules` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`firewall_rules` ADD CONSTRAINT `uc_firewall_rules__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`cluster` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`cluster` ADD CONSTRAINT `uc_cluster__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`network_offerings` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`network_offerings` ADD CONSTRAINT `uc_network_offerings__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`hypervisor_capabilities` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`hypervisor_capabilities` ADD CONSTRAINT `uc_hypervisor_capabilities__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`vpn_users` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vpn_users` ADD CONSTRAINT `uc_vpn_users__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`event` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`event` ADD CONSTRAINT `uc_event__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`alert` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`alert` ADD CONSTRAINT `uc_alert__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`guest_os` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`guest_os` ADD CONSTRAINT `uc_guest_os__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`guest_os_category` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`guest_os_category` ADD CONSTRAINT `uc_guest_os_category__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`nics` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`nics` ADD CONSTRAINT `uc_nics__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`op_host_capacity` ADD COLUMN `created` datetime;
|
||||
ALTER TABLE `cloud`.`op_host_capacity` ADD COLUMN `update_time` datetime;
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'apply.allocation.algorithm.to.pods', 'false', 'If true, deployment planner applies the allocation heuristics at pods first in the given datacenter during VM resource allocation');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'vm.user.dispersion.weight', 1, 'Weight for user dispersion heuristic (as a value between 0 and 1) applied to resource allocation during vm deployment. Weight for capacity heuristic will be (1 - weight of user dispersion)');
|
||||
UPDATE `cloud`.`configuration` SET description = '[''random'', ''firstfit'', ''userdispersing'', ''userconcentratedpod_random'', ''userconcentratedpod_firstfit''] : Order in which hosts within a cluster will be considered for VM/volume allocation.' WHERE name = 'vm.allocation.algorithm';
|
||||
|
||||
|
||||
--;
|
||||
-- Usage db upgrade from 2.2.14 to 3.0;
|
||||
--;
|
||||
CREATE TABLE `cloud_usage`.`usage_vpn_user` (
|
||||
`zone_id` bigint unsigned NOT NULL,
|
||||
`account_id` bigint unsigned NOT NULL,
|
||||
`domain_id` bigint unsigned NOT NULL,
|
||||
`user_id` bigint unsigned NOT NULL,
|
||||
`user_name` varchar(32),
|
||||
`created` DATETIME NOT NULL,
|
||||
`deleted` DATETIME NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
ALTER TABLE `cloud_usage`.`user_statistics` ADD COLUMN `agg_bytes_received` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud_usage`.`user_statistics` ADD COLUMN `agg_bytes_sent` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud_usage`.`usage_network` ADD COLUMN `agg_bytes_received` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud_usage`.`usage_network` ADD COLUMN `agg_bytes_sent` bigint unsigned NOT NULL default '0';
|
||||
|
||||
|
||||
#Schema upgrade from 2.2.14 to 3.0;
|
||||
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `hypervisor_version` varchar(32) COMMENT 'hypervisor version' AFTER hypervisor_type;
|
||||
|
||||
CREATE TABLE `cloud`.`hypervisor_capabilities` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`hypervisor_type` varchar(32) NOT NULL,
|
||||
`hypervisor_version` varchar(32),
|
||||
`max_guests_limit` bigint unsigned DEFAULT 50,
|
||||
`security_group_enabled` int(1) unsigned DEFAULT 1 COMMENT 'Is security group supported',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', 'default', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', 'XCP 1.0', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '5.6', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '5.6 FP1', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '5.6 SP2', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('XenServer', '6.0', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('VMware', 'default', 128, 0);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('VMware', '4.0', 128, 0);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('VMware', '4.1', 128, 0);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('KVM', 'default', 50, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('Ovm', 'default', 25, 1);
|
||||
INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('Ovm', '2.3', 25, 1);
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`projects` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`name` varchar(255) COMMENT 'project name',
|
||||
`display_text` varchar(255) COMMENT 'project name',
|
||||
`project_account_id` bigint unsigned NOT NULL,
|
||||
`domain_id` bigint unsigned NOT NULL,
|
||||
`created` datetime COMMENT 'date created',
|
||||
`removed` datetime COMMENT 'date removed',
|
||||
`state` varchar(255) NOT NULL COMMENT 'state of the project (Active/Inactive/Suspended)',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_projects__project_account_id` FOREIGN KEY(`project_account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_projects__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
||||
INDEX `i_projects__removed`(`removed`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`project_account` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`account_id` bigint unsigned NOT NULL COMMENT'account id',
|
||||
`account_role` varchar(255) NOT NULL DEFAULT 'Regular' COMMENT 'Account role in the project (Owner or Regular)',
|
||||
`project_id` bigint unsigned NOT NULL COMMENT 'project id',
|
||||
`project_account_id` bigint unsigned NOT NULL,
|
||||
`created` datetime COMMENT 'date created',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_project_account__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_account__project_id` FOREIGN KEY(`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_account__project_account_id` FOREIGN KEY(`project_account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
UNIQUE (`account_id`, `project_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`project_invitations` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`uuid` varchar(40),
|
||||
`project_id` bigint unsigned NOT NULL COMMENT 'project id',
|
||||
`account_id` bigint unsigned COMMENT 'account id',
|
||||
`domain_id` bigint unsigned COMMENT 'domain id',
|
||||
`email` varchar(255) COMMENT 'email',
|
||||
`token` varchar(255) COMMENT 'token',
|
||||
`state` varchar(255) NOT NULL DEFAULT 'Pending' COMMENT 'the state of the invitation',
|
||||
`created` datetime COMMENT 'date created',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_project_invitations__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_invitations__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_project_invitations__project_id` FOREIGN KEY(`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
||||
UNIQUE (`project_id`, `account_id`),
|
||||
UNIQUE (`project_id`, `email`),
|
||||
UNIQUE (`project_id`, `token`),
|
||||
CONSTRAINT `uc_project_invitations__uuid` UNIQUE (`uuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
CREATE TABLE `cloud`.`load_balancer_stickiness_policies` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`uuid` varchar(40),
|
||||
`load_balancer_id` bigint unsigned NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`description` varchar(4096) NULL COMMENT 'description',
|
||||
`method_name` varchar(255) NOT NULL,
|
||||
`params` varchar(4096) NOT NULL,
|
||||
`revoke` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '1 is when rule is set for Revoke',
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_load_balancer_stickiness_policies__load_balancer_id` FOREIGN KEY(`load_balancer_id`) REFERENCES `load_balancing_rules`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `cloud`.`template_swift_ref` (
|
||||
`id` bigint unsigned NOT NULL auto_increment,
|
||||
`swift_id` bigint unsigned NOT NULL,
|
||||
`template_id` bigint unsigned NOT NULL,
|
||||
`created` DATETIME NOT NULL,
|
||||
`path` varchar(255),
|
||||
`size` bigint unsigned,
|
||||
`physical_size` bigint unsigned DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_template_swift_ref__swift_id` FOREIGN KEY `fk_template_swift_ref__swift_id` (`swift_id`) REFERENCES `swift` (`id`) ON DELETE CASCADE,
|
||||
INDEX `i_template_swift_ref__swift_id`(`swift_id`),
|
||||
CONSTRAINT `fk_template_swift_ref__template_id` FOREIGN KEY `fk_template_swift_ref__template_id` (`template_id`) REFERENCES `vm_template` (`id`),
|
||||
INDEX `i_template_swift_ref__template_id`(`template_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
ALTER TABLE `cloud`.`snapshots` DROP COLUMN `swift_name`;
|
||||
ALTER TABLE `cloud`.`swift` DROP COLUMN `hostname`;
|
||||
ALTER TABLE `cloud`.`swift` DROP COLUMN `token`;
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `url` varchar(255) NOT NULL;
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `key` varchar(255) NOT NULL COMMENT 'token for this user';
|
||||
ALTER TABLE `cloud`.`swift` ADD COLUMN `created` datetime COMMENT 'date the swift first signed on';
|
||||
ALTER TABLE `cloud`.`swift` ADD CONSTRAINT `uc_swift__uuid` UNIQUE (`uuid`);
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'swift.enable', 'false', 'enable swift');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.user.vms', '20', 'The default maximum number of user VMs that can be deployed for a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.public.ips', '20', 'The default maximum number of public IPs that can be consumed by a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.templates', '20', 'The default maximum number of templates that can be deployed for a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.snapshots', '20', 'The default maximum number of snapshots that can be created for a project');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'max.project.volumes', '20', 'The default maximum number of volumes that can be created for a project');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.invite.required', 'false', 'If invitation confirmation is required when add account to project. Default value is false');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.invite.timeout', '86400', 'Invitation expiration time (in seconds). Default is 1 day - 86400 seconds');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'allow.user.create.projects', 'true', 'If regular user can create a project; true by default');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.email.sender', null, 'Sender of project invitation email (will be in the From header of the email).');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.host', null, 'SMTP hostname used for sending out email project invitations');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.password', null, 'Password for SMTP authentication (applies only if project.smtp.useAuth is true)');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.port', '465', 'Port the SMTP server is listening on');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.useAuth', null, 'If true, use SMTP authentication when sending emails');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Project Defaults', 'DEFAULT', 'management-server', 'project.smtp.username', null, 'Username for SMTP authentication (applies only if project.smtp.useAuth is true)');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'cluster.memory.allocated.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of memory utilization above which allocators will disable using the cluster for low memory available. Keep the corresponding notification threshold lower than this to be notified beforehand.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'cluster.cpu.allocated.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of cpu utilization above which allocators will disable using the cluster for low cpu available. Keep the corresponding notification threshold lower than this to be notified beforehand.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'pool.storage.allocated.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of allocated storage utilization above which allocators will disable using the pool for low allocated storage available.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'pool.storage.capacity.disablethreshold' , .85, 'Percentage (as a value between 0 and 1) of storage utilization above which allocators will disable using the pool for low storage available.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'zone.vlan.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of Zone Vlan utilization above which alerts will be sent about low number of Zone Vlans.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'cluster.localStorage.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of local storage utilization above which alerts will be sent about low number of direct network public ips.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'zone.directnetwork.publicip.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of Direct Network Public Ip Utilization above which alerts will be sent about low number of direct network public ips.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Alert', 'DEFAULT', 'management-server', 'zone.secstorage.capacity.notificationthreshold' , .75, 'Percentage (as a value between 0 and 1) of secondary storage utilization above which alerts will be sent about low storage available.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'custom.diskoffering.size.min', '1', 'Minimum size in GB for custom disk offering');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'custom.diskoffering.size.max', '1024', 'Maximum size in GB for custom disk offering');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'system.vm.random.password', 'false', 'Randomize system vm password the first time management server starts');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Network', 'DEFAULT', 'management-server', 'network.securitygroups.defaultadding' , 'true', 'If true, the user VM would be added to the default security group by default');
|
||||
|
||||
update `cloud`.`configuration` set name = 'cluster.storage.allocated.capacity.notificationthreshold' , category = 'Alert' where name = 'storage.allocated.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'cluster.storage.capacity.notificationthreshold' , category = 'Alert' where name = 'storage.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'cluster.cpu.allocated.capacity.notificationthreshold' , category = 'Alert' where name = 'cpu.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'cluster.memory.allocated.capacity.notificationthreshold' , category = 'Alert' where name = 'memory.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'zone.virtualnetwork.publicip.capacity.notificationthreshold' , category = 'Alert' where name = 'public.ip.capacity.threshold' ;
|
||||
update `cloud`.`configuration` set name = 'pod.privateip.capacity.notificationthreshold' , category = 'Alert' where name = 'private.ip.capacity.threshold' ;
|
||||
|
||||
ALTER TABLE `cloud`.`domain_router` ADD COLUMN `template_version` varchar(100) COMMENT 'template version' AFTER role;
|
||||
ALTER TABLE `cloud`.`domain_router` ADD COLUMN `scripts_version` varchar(100) COMMENT 'scripts version' AFTER template_version;
|
||||
ALTER TABLE `cloud`.`alert` ADD `cluster_id` bigint unsigned;
|
||||
|
||||
ALTER TABLE `cloud`.`user_statistics` ADD COLUMN `agg_bytes_received` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud`.`user_statistics` ADD COLUMN `agg_bytes_sent` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD CONSTRAINT `uc_vm_instance_uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`async_job` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`async_job` ADD CONSTRAINT `uc_async__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`domain` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`domain` ADD CONSTRAINT `uc_domain__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`account` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`account` ADD CONSTRAINT `uc_account__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud_usage`.`account` ADD COLUMN `uuid` varchar(40);
|
||||
|
||||
ALTER TABLE `cloud`.`user` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`user` ADD CONSTRAINT `uc_user__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`projects` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`projects` ADD CONSTRAINT `uc_projects__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`data_center` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`data_center` ADD CONSTRAINT `uc_data_center__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`host` ADD CONSTRAINT `uc_host__uuid` UNIQUE (`uuid`);
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `update_count` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'atomic increase count making status update operation atomical';
|
||||
|
||||
ALTER TABLE `cloud`.`vm_template` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vm_template` ADD CONSTRAINT `uc_vm_template__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`disk_offering` ADD CONSTRAINT `uc_disk_offering__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`networks` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`networks` ADD CONSTRAINT `uc_networks__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`security_group` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`security_group` ADD CONSTRAINT `uc_security_group__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`instance_group` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`instance_group` ADD CONSTRAINT `uc_instance_group__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`host_pod_ref` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`host_pod_ref` ADD CONSTRAINT `uc_host_pod_ref__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`snapshots` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`snapshots` ADD CONSTRAINT `uc_snapshots__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`snapshot_policy` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`snapshot_policy` ADD CONSTRAINT `uc_snapshot_policy__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`snapshot_schedule` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`snapshot_schedule` ADD CONSTRAINT `uc_snapshot_schedule__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`volumes` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`volumes` ADD CONSTRAINT `uc_volumes__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`vlan` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vlan` ADD CONSTRAINT `uc_vlan__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD CONSTRAINT `uc_user_ip_address__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`firewall_rules` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`firewall_rules` ADD CONSTRAINT `uc_firewall_rules__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`cluster` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`cluster` ADD CONSTRAINT `uc_cluster__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`network_offerings` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`network_offerings` ADD CONSTRAINT `uc_network_offerings__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`hypervisor_capabilities` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`hypervisor_capabilities` ADD CONSTRAINT `uc_hypervisor_capabilities__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`vpn_users` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`vpn_users` ADD CONSTRAINT `uc_vpn_users__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`event` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`event` ADD CONSTRAINT `uc_event__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`alert` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`alert` ADD CONSTRAINT `uc_alert__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`guest_os` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`guest_os` ADD CONSTRAINT `uc_guest_os__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`guest_os_category` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`guest_os_category` ADD CONSTRAINT `uc_guest_os_category__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`nics` ADD COLUMN `uuid` varchar(40);
|
||||
ALTER TABLE `cloud`.`nics` ADD CONSTRAINT `uc_nics__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`op_host_capacity` ADD COLUMN `created` datetime;
|
||||
ALTER TABLE `cloud`.`op_host_capacity` ADD COLUMN `update_time` datetime;
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'apply.allocation.algorithm.to.pods', 'false', 'If true, deployment planner applies the allocation heuristics at pods first in the given datacenter during VM resource allocation');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'vm.user.dispersion.weight', 1, 'Weight for user dispersion heuristic (as a value between 0 and 1) applied to resource allocation during vm deployment. Weight for capacity heuristic will be (1 - weight of user dispersion)');
|
||||
UPDATE `cloud`.`configuration` SET description = '[''random'', ''firstfit'', ''userdispersing'', ''userconcentratedpod_random'', ''userconcentratedpod_firstfit''] : Order in which hosts within a cluster will be considered for VM/volume allocation.' WHERE name = 'vm.allocation.algorithm';
|
||||
|
||||
|
||||
--;
|
||||
-- Usage db upgrade from 2.2.14 to 3.0;
|
||||
--;
|
||||
CREATE TABLE `cloud_usage`.`usage_vpn_user` (
|
||||
`zone_id` bigint unsigned NOT NULL,
|
||||
`account_id` bigint unsigned NOT NULL,
|
||||
`domain_id` bigint unsigned NOT NULL,
|
||||
`user_id` bigint unsigned NOT NULL,
|
||||
`user_name` varchar(32),
|
||||
`created` DATETIME NOT NULL,
|
||||
`deleted` DATETIME NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
ALTER TABLE `cloud_usage`.`user_statistics` ADD COLUMN `agg_bytes_received` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud_usage`.`user_statistics` ADD COLUMN `agg_bytes_sent` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud_usage`.`usage_network` ADD COLUMN `agg_bytes_received` bigint unsigned NOT NULL default '0';
|
||||
ALTER TABLE `cloud_usage`.`usage_network` ADD COLUMN `agg_bytes_sent` bigint unsigned NOT NULL default '0';
|
||||
UPDATE `cloud_usage`.`usage_network` set agg_bytes_received = net_bytes_received + current_bytes_received, agg_bytes_sent = net_bytes_sent + current_bytes_sent;
|
||||
|
||||
ALTER TABLE `cloud_usage`.`usage_vpn_user` ADD INDEX `i_usage_vpn_user__account_id`(`account_id`);
|
||||
ALTER TABLE `cloud_usage`.`usage_vpn_user` ADD INDEX `i_usage_vpn_user__created`(`created`);
|
||||
ALTER TABLE `cloud_usage`.`usage_vpn_user` ADD INDEX `i_usage_vpn_user__deleted`(`deleted`);
|
||||
ALTER TABLE `cloud_usage`.`usage_ip_address` ADD COLUMN `is_system` smallint(1) NOT NULL default '0';
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Premium', 'DEFAULT', 'management-server', 'usage.sanity.check.interval', null, 'Interval (in days) to check sanity of usage data');
|
||||
|
||||
DELETE FROM `cloud`.`configuration` WHERE name='host.capacity.checker.wait';
|
||||
DELETE FROM `cloud`.`configuration` WHERE name='host.capacity.checker.interval';
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'disable.extraction' , 'false', 'Flag for disabling extraction of template, isos and volumes');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.check.interval' , '30', 'Interval (in seconds) to report redundant router status.');
|
||||
|
||||
ALTER TABLE `cloud`.`security_ingress_rule` RENAME TO `cloud`.`security_group_rule`;
|
||||
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD COLUMN `type` varchar(10) default 'ingress' AFTER security_group_id;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD COLUMN `uuid` varchar(40) AFTER id;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD CONSTRAINT `uc_security_group_rule__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD CONSTRAINT `fk_security_group_rule___security_group_id` FOREIGN KEY `fk_security_group_rule__security_group_id` (`security_group_id`) REFERENCES `security_group` (`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD CONSTRAINT `fk_security_group_rule___allowed_network_id` FOREIGN KEY `fk_security_group_rule__allowed_network_id` (`allowed_network_id`) REFERENCES `security_group` (`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD INDEX `i_security_group_rule_network_id`(`security_group_id`);
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD INDEX `i_security_group_rule_allowed_network`(`allowed_network_id`);
|
||||
ALTER TABLE `cloud`.`vm_template` ADD COLUMN `enable_sshkey` int(1) unsigned NOT NULL default 0 COMMENT 'true if this template supports sshkey reset';
|
||||
ALTER TABLE `cloud`.`vm_template` ADD COLUMN `sort_key` int(32) NOT NULL default 0 COMMENT 'sort key used for customising sort method';
|
||||
ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `sort_key` int(32) NOT NULL default 0 COMMENT 'sort key used for customising sort method';
|
||||
ALTER TABLE `cloud`.`service_offering` ADD COLUMN `sort_key` int(32) NOT NULL default 0 COMMENT 'sort key used for customising sort method';
|
||||
|
||||
---;
|
||||
--- Resource State;
|
||||
---;
|
||||
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `resource_state` varchar(32) NOT NULL DEFAULT 'Enabled' COMMENT 'Is this host enabled for allocation for new resources';
|
||||
|
||||
ALTER TABLE `cloud_usage`.`usage_vpn_user` ADD INDEX `i_usage_vpn_user__account_id`(`account_id`);
|
||||
ALTER TABLE `cloud_usage`.`usage_vpn_user` ADD INDEX `i_usage_vpn_user__created`(`created`);
|
||||
ALTER TABLE `cloud_usage`.`usage_vpn_user` ADD INDEX `i_usage_vpn_user__deleted`(`deleted`);
|
||||
ALTER TABLE `cloud_usage`.`usage_ip_address` ADD COLUMN `is_system` smallint(1) NOT NULL default '0';
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Premium', 'DEFAULT', 'management-server', 'usage.sanity.check.interval', null, 'Interval (in days) to check sanity of usage data');
|
||||
|
||||
DELETE FROM `cloud`.`configuration` WHERE name='host.capacity.checker.wait';
|
||||
DELETE FROM `cloud`.`configuration` WHERE name='host.capacity.checker.interval';
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'disable.extraction' , 'false', 'Flag for disabling extraction of template, isos and volumes');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.check.interval' , '30', 'Interval (in seconds) to report redundant router status.');
|
||||
|
||||
ALTER TABLE `cloud`.`security_ingress_rule` RENAME TO `cloud`.`security_group_rule`;
|
||||
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD COLUMN `type` varchar(10) default 'ingress' AFTER security_group_id;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD COLUMN `uuid` varchar(40) AFTER id;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD CONSTRAINT `uc_security_group_rule__uuid` UNIQUE (`uuid`);
|
||||
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD CONSTRAINT `fk_security_group_rule___security_group_id` FOREIGN KEY `fk_security_group_rule__security_group_id` (`security_group_id`) REFERENCES `security_group` (`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD CONSTRAINT `fk_security_group_rule___allowed_network_id` FOREIGN KEY `fk_security_group_rule__allowed_network_id` (`allowed_network_id`) REFERENCES `security_group` (`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD INDEX `i_security_group_rule_network_id`(`security_group_id`);
|
||||
ALTER TABLE `cloud`.`security_group_rule` ADD INDEX `i_security_group_rule_allowed_network`(`allowed_network_id`);
|
||||
ALTER TABLE `cloud`.`vm_template` ADD COLUMN `enable_sshkey` int(1) unsigned NOT NULL default 0 COMMENT 'true if this template supports sshkey reset';
|
||||
ALTER TABLE `cloud`.`vm_template` ADD COLUMN `sort_key` int(32) NOT NULL default 0 COMMENT 'sort key used for customising sort method';
|
||||
ALTER TABLE `cloud`.`disk_offering` ADD COLUMN `sort_key` int(32) NOT NULL default 0 COMMENT 'sort key used for customising sort method';
|
||||
ALTER TABLE `cloud`.`service_offering` ADD COLUMN `sort_key` int(32) NOT NULL default 0 COMMENT 'sort key used for customising sort method';
|
||||
|
||||
---;
|
||||
--- Resource State;
|
||||
---;
|
||||
|
||||
ALTER TABLE `cloud`.`host` ADD COLUMN `resource_state` varchar(32) NOT NULL DEFAULT 'Enabled' COMMENT 'Is this host enabled for allocation for new resources';
|
||||
UPDATE `cloud`.`host` SET resource_state=allocation_state WHERE status != 'PrepareForMaintenance' AND status != 'ErrorInMaintenance' AND status != 'Maintenance';
|
||||
UPDATE `cloud`.`host` SET resource_state='PrepareForMaintenance', status='Disconnected' WHERE status = 'PrepareForMaintenance';
|
||||
UPDATE `cloud`.`host` SET resource_state='ErrorInMaintenance', status='Disconnected' WHERE status = 'ErrorInMaintenance';
|
||||
|
|
@ -743,4 +743,4 @@ UPDATE `cloud`.`networks` n SET n.name=(CONCAT('guestNetworkForBasicZone_', (SE
|
|||
UPDATE `cloud`.`networks` n SET n.display_text=(CONCAT('guestNetworkForBasicZone_', (SELECT name from `cloud`.`data_center` d where d.id=n.data_center_id AND d.networktype='Basic'))) where n.display_text is null and n.traffic_type='Guest';
|
||||
|
||||
UPDATE `cloud`.`configuration` SET description='Bypass internal dns, use exetrnal dns1 and dns2' WHERE name='use.external.dns';
|
||||
UPDATE `cloud`.`configuration` SET category='Alert' WHERE name='capacity.check.period';
|
||||
UPDATE `cloud`.`configuration` SET category='Alert' WHERE name='capacity.check.period';
|
||||
Loading…
Reference in New Issue