config/sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/002_consolidated_rel15ga.py

938 lines
32 KiB
Python

# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright (c) 2013-2016 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
from migrate.changeset import UniqueConstraint
from sqlalchemy import Boolean, Integer, DateTime, BigInteger, Float
from sqlalchemy import Enum, Text, ForeignKey
from sqlalchemy import Column, MetaData, String, Table
from sqlalchemy.dialects import postgresql
ENGINE = 'InnoDB'
CHARSET = 'utf8'
def upgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
Table('i_system',
meta,
Column('id', Integer,
primary_key=True, nullable=False),
mysql_engine=ENGINE, mysql_charset=CHARSET)
i_host = Table('i_host',
meta,
Column('id', Integer,
primary_key=True, nullable=False),
mysql_engine=ENGINE, mysql_charset=CHARSET,
autoload=True)
if migrate_engine.url.get_dialect() is postgresql.dialect:
old_provisionEnum = Enum('unprovisioned',
'inventoried',
'configured',
'provisioned',
'reserve1',
'reserve2',
name='invprovisionStateEnum')
provisionEnum = Enum('unprovisioned',
'inventoried',
'configured',
'provisioning',
'provisioned',
'reserve1',
'reserve2',
name='invprovisionStateEnum')
inv_provision_col = i_host.c.invprovision
inv_provision_col.alter(Column('invprovision', String(60)))
old_provisionEnum.drop(bind=migrate_engine, checkfirst=False)
provisionEnum.create(bind=migrate_engine, checkfirst=False)
migrate_engine.execute('ALTER TABLE i_host ALTER COLUMN invprovision TYPE "invprovisionStateEnum" '
'USING invprovision::text::"invprovisionStateEnum"')
Table('i_node',
meta,
Column('id', Integer,
primary_key=True, nullable=False),
mysql_engine=ENGINE, mysql_charset=CHARSET)
i_alarm_history = Table(
'i_alarm_history',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(255), unique=True, index=True),
Column('alarm_id', String(255), index=True),
Column('alarm_state', String(255)),
Column('entity_type_id', String(255), index=True),
Column('entity_instance_id', String(255), index=True),
Column('timestamp', DateTime(timezone=False)),
Column('severity', String(255), index=True),
Column('reason_text', String(255)),
Column('alarm_type', String(255), index=True),
Column('probable_cause', String(255)),
Column('proposed_repair_action', String(255)),
Column('service_affecting', Boolean),
Column('suppression', Boolean),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
i_alarm_history.create()
i_customer_log = Table(
'i_customer_log',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(255), unique=True, index=True),
Column('log_id', String(255), index=True),
Column('entity_type_id', String(255), index=True),
Column('entity_instance_id', String(255), index=True),
Column('timestamp', DateTime(timezone=False)),
Column('severity', String(255), index=True),
Column('reason_text', String(255)),
Column('log_type', String(255), index=True),
Column('probable_cause', String(255)),
Column('service_affecting', Boolean),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
i_customer_log.create()
i_infra = Table(
'i_infra',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('infra_subnet', String(255)),
Column('infra_start', String(255)),
Column('infra_end', String(255)),
Column('forisystemid', Integer,
ForeignKey('i_system.id', ondelete='CASCADE')),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
i_infra.create()
interfaces = Table(
'interfaces',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('forihostid', Integer, ForeignKey('i_host.id',
ondelete='CASCADE')),
Column('iftype', String(255)),
Column('ifname', String(255)),
Column('networktype', String(255)),
Column('sriov_numvfs', Integer),
Column('ifcapabilities', Text),
Column('farend', Text),
UniqueConstraint('ifname', 'forihostid', name='u_interfacenameihost'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
interfaces.create()
interfaces_to_interfaces = Table(
'interfaces_to_interfaces',
meta,
Column("used_by_id", Integer,
ForeignKey("interfaces.id", ondelete='CASCADE'),
primary_key=True),
Column("uses_id", Integer,
ForeignKey("interfaces.id", ondelete='CASCADE'),
primary_key=True),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
interfaces_to_interfaces.create()
ethernet_interfaces = Table(
'ethernet_interfaces',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, ForeignKey('interfaces.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
Column('imac', String(255)),
Column('imtu', Integer),
Column('providernetworks', String(255)),
Column('providernetworksdict', Text),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
ethernet_interfaces.create()
ae_interfaces = Table(
'ae_interfaces',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, ForeignKey('interfaces.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
Column('aemode', String(255)),
Column('aedict', Text),
Column('txhashpolicy', String(255)),
Column('schedpolicy', String(255)),
Column('imac', String(255)),
Column('imtu', Integer),
Column('providernetworks', String(255)),
Column('providernetworksdict', Text),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
ae_interfaces.create()
vlan_interfaces = Table(
'vlan_interfaces',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, ForeignKey('interfaces.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
Column('vlan_id', String(255)),
Column('vlan_type', String(255)),
Column('imac', String(255)),
Column('imtu', Integer),
Column('providernetworks', String(255)),
Column('providernetworksdict', Text),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
vlan_interfaces.create()
ports = Table(
'ports',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('host_id', Integer, ForeignKey('i_host.id',
ondelete='CASCADE')),
Column('node_id', Integer, ForeignKey('i_node.id',
ondelete='SET NULL')),
Column('interface_id', Integer, ForeignKey('interfaces.id',
ondelete='SET NULL')),
Column('type', String(255)),
Column('name', String(255)),
Column('namedisplay', String(255)),
Column('pciaddr', String(255)),
Column('dev_id', Integer),
Column('sriov_totalvfs', Integer),
Column('sriov_numvfs', Integer),
Column('sriov_vfs_pci_address', String(1020)),
Column('driver', String(255)),
Column('pclass', String(255)),
Column('pvendor', String(255)),
Column('pdevice', String(255)),
Column('psvendor', String(255)),
Column('psdevice', String(255)),
Column('dpdksupport', Boolean, default=False),
Column('numa_node', Integer),
Column('capabilities', Text),
UniqueConstraint('pciaddr', 'dev_id', 'host_id',
name='u_pciaddr_dev_host_id'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
ports.create()
ethernet_ports = Table(
'ethernet_ports',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, ForeignKey('ports.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
Column('mac', String(255)),
Column('mtu', Integer),
Column('speed', Integer),
Column('link_mode', String(255)),
Column('duplex', String(255)),
Column('autoneg', String(255)),
Column('bootp', String(255)),
Column('capabilities', Text),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
ethernet_ports.create()
address_pools = Table(
'address_pools',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('name', String(128), unique=True, nullable=False),
Column('family', Integer, nullable=False),
Column('network', String(50), nullable=False),
Column('prefix', Integer, nullable=False),
Column('order', String(32), nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
address_pools.create()
address_pool_ranges = Table(
'address_pool_ranges',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('start', String(50), nullable=False),
Column('end', String(50), nullable=False),
Column('address_pool_id', Integer,
ForeignKey('address_pools.id', ondelete="CASCADE"),
nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
address_pool_ranges.create()
addresses = Table(
'addresses',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('name', String(255)),
Column('family', Integer, nullable=False),
Column('address', String(50), nullable=False),
Column('prefix', Integer, nullable=False),
Column('enable_dad', Boolean(), default=True),
Column('interface_id', Integer,
ForeignKey('interfaces.id', ondelete="CASCADE"),
nullable=True),
Column('address_pool_id', Integer,
ForeignKey('address_pools.id', ondelete="CASCADE"),
nullable=True),
UniqueConstraint('family', 'address', 'interface_id',
name='u_address@family@interface'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
addresses.create()
address_modes = Table(
'address_modes',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('family', Integer, nullable=False),
Column('mode', String(32), nullable=False),
Column('interface_id', Integer,
ForeignKey('interfaces.id', ondelete="CASCADE"),
nullable=False),
Column('address_pool_id', Integer,
ForeignKey('address_pools.id', ondelete="CASCADE"),
nullable=True),
UniqueConstraint('family', 'interface_id', name='u_family@interface'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
address_modes.create()
routes = Table(
'routes',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('family', Integer, nullable=False),
Column('network', String(50), nullable=False),
Column('prefix', Integer, nullable=False),
Column('gateway', String(50), nullable=False),
Column('metric', Integer, default=1, nullable=False),
Column('interface_id', Integer,
ForeignKey('interfaces.id', ondelete="CASCADE"),
nullable=False),
UniqueConstraint('family', 'network', 'prefix', 'gateway',
'interface_id',
name='u_family@network@prefix@gateway@host'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
routes.create()
networks = Table(
'networks',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('type', String(255), unique=True),
Column('mtu', Integer, nullable=False),
Column('link_capacity', Integer),
Column('dynamic', Boolean, nullable=False),
Column('vlan_id', Integer),
Column('address_pool_id', Integer,
ForeignKey('address_pools.id', ondelete='CASCADE'),
nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
networks.create()
i_port = Table('i_port', meta, autoload=True)
i_port.create_column(Column('sriov_totalvfs', Integer))
i_port.create_column(Column('sriov_numvfs', Integer))
i_port.create_column(Column('sriov_vfs_pci_address', String(1020)))
i_port.create_column(Column('driver', String(255)))
i_interface = Table('i_interface', meta, autoload=True)
i_interface.create_column(Column('sriov_numvfs', Integer))
i_port = Table('i_port', meta, autoload=True)
i_port.create_column(Column('dpdksupport', Boolean, default=False))
i_interface = Table('i_interface', meta, autoload=True)
i_interface.create_column(Column('aedict', Text))
pvTypeEnum = Enum('disk',
'partition',
'reserve1',
'reserve2',
native_enum=False,
name='physicalVolTypeEnum')
pvStateEnum = Enum('unprovisioned',
'adding',
'provisioned',
'removing',
'reserve1',
'reserve2',
native_enum=False,
name='pvStateEnum')
vgStateEnum = Enum('unprovisioned',
'adding',
'provisioned',
'removing',
'reserve1',
'reserve2',
native_enum=False,
name='vgStateEnum')
i_lvg = Table(
'i_lvg',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('vg_state', vgStateEnum, default="unprovisioned"),
Column('lvm_vg_name', String(64)),
Column('lvm_vg_uuid', String(64)),
Column('lvm_vg_access', String(64)),
Column('lvm_max_lv', Integer),
Column('lvm_cur_lv', Integer),
Column('lvm_max_pv', Integer),
Column('lvm_cur_pv', Integer),
Column('lvm_vg_size', BigInteger),
Column('lvm_vg_total_pe', Integer),
Column('lvm_vg_free_pe', Integer),
Column('capabilities', Text),
Column('forihostid', Integer,
ForeignKey('i_host.id', ondelete='CASCADE')),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
i_lvg.create()
i_pv = Table(
'i_pv',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('pv_state', pvStateEnum, default="unprovisioned"),
Column('pv_type', pvTypeEnum, default="disk"),
Column('idisk_uuid', String()),
Column('idisk_device_node', String(64)),
Column('lvm_pv_name', String(64)),
Column('lvm_vg_name', String(64)),
Column('lvm_pv_uuid', String(64)),
Column('lvm_pv_size', BigInteger),
Column('lvm_pe_total', Integer),
Column('lvm_pe_alloced', Integer),
Column('capabilities', Text),
Column('forihostid', Integer,
ForeignKey('i_host.id', ondelete='CASCADE')),
Column('forilvgid', Integer,
ForeignKey('i_lvg.id', ondelete='CASCADE')),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
i_pv.create()
i_idisk = Table('i_idisk', meta, autoload=True)
foripvid = Column('foripvid', Integer, ForeignKey('i_pv.id'))
foripvid.create(i_idisk)
sensorgroups = Table(
'i_sensorgroups',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('host_id', Integer,
ForeignKey('i_host.id', ondelete='CASCADE')),
Column('sensorgroupname', String(255)),
Column('path', String(255)),
Column('datatype', String(255)), # polymorphic 'analog'/'discrete
Column('sensortype', String(255)),
Column('description', String(255)),
Column('state', String(255)), # enabled or disabled
Column('possible_states', String(255)),
Column('audit_interval_group', Integer),
Column('record_ttl', Integer),
Column('algorithm', String(255)),
Column('actions_critical_choices', String(255)),
Column('actions_major_choices', String(255)),
Column('actions_minor_choices', String(255)),
Column('actions_minor_group', String(255)),
Column('actions_major_group', String(255)),
Column('actions_critical_group', String(255)),
Column('suppress', Boolean), # True, disables the action
Column('capabilities', Text),
UniqueConstraint('sensorgroupname', 'path', 'host_id',
name='u_sensorgroupname_path_hostid'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
sensorgroups.create()
# polymorphic on datatype 'discrete'
sensorgroups_discrete = Table(
'i_sensorgroups_discrete',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer,
ForeignKey('i_sensorgroups.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
sensorgroups_discrete.create()
# polymorphic on datatype 'analog'
sensorgroups_analog = Table(
'i_sensorgroups_analog',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer,
ForeignKey('i_sensorgroups.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
Column('unit_base_group', String(255)), # revolutions
Column('unit_modifier_group', String(255)), # 100
Column('unit_rate_group', String(255)), # minute
Column('t_minor_lower_group', String(255)),
Column('t_minor_upper_group', String(255)),
Column('t_major_lower_group', String(255)),
Column('t_major_upper_group', String(255)),
Column('t_critical_lower_group', String(255)),
Column('t_critical_upper_group', String(255)),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
sensorgroups_analog.create()
sensors = Table(
'i_sensors',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('host_id', Integer,
ForeignKey('i_host.id', ondelete='CASCADE')),
Column('sensorgroup_id', Integer,
ForeignKey('i_sensorgroups.id', ondelete='SET NULL')),
Column('sensorname', String(255)),
Column('path', String(255)),
Column('datatype', String(255)), # polymorphic on datatype
Column('sensortype', String(255)),
Column('status', String(255)), # ok, minor, major, critical, disabled
Column('state', String(255)), # enabled, disabled
Column('state_requested', String(255)),
Column('sensor_action_requested', String(255)),
Column('audit_interval', Integer),
Column('algorithm', String(255)),
Column('actions_minor', String(255)),
Column('actions_major', String(255)),
Column('actions_critical', String(255)),
Column('suppress', Boolean), # True, disables the action
Column('capabilities', Text),
UniqueConstraint('sensorname', 'path', 'host_id',
name='u_sensorname_path_host_id'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
sensors.create()
# discrete sensor
sensors_discrete = Table(
'i_sensors_discrete',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer,
ForeignKey('i_sensors.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
sensors_discrete.create()
# analog sensor
sensors_analog = Table(
'i_sensors_analog',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer,
ForeignKey('i_sensors.id', ondelete="CASCADE"),
primary_key=True, nullable=False),
Column('unit_base', String(255)), # revolutions
Column('unit_modifier', String(255)), # 10^2
Column('unit_rate', String(255)), # minute
Column('t_minor_lower', String(255)),
Column('t_minor_upper', String(255)),
Column('t_major_lower', String(255)),
Column('t_major_upper', String(255)),
Column('t_critical_lower', String(255)),
Column('t_critical_upper', String(255)),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
sensors_analog.create()
pci_devices = Table(
'pci_devices',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(255), unique=True, index=True),
Column('host_id', Integer, ForeignKey('i_host.id',
ondelete='CASCADE')),
Column('name', String(255)),
Column('pciaddr', String(255)),
Column('pclass_id', String(6)),
Column('pvendor_id', String(4)),
Column('pdevice_id', String(4)),
Column('pclass', String(255)),
Column('pvendor', String(255)),
Column('pdevice', String(255)),
Column('psvendor', String(255)),
Column('psdevice', String(255)),
Column('numa_node', Integer),
Column('driver', String(255)),
Column('sriov_totalvfs', Integer),
Column('sriov_numvfs', Integer),
Column('sriov_vfs_pci_address', String(1020)),
Column('enabled', Boolean),
Column('extra_info', Text),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
pci_devices.create()
loads = Table(
'loads',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36)),
Column('state', String(255)),
Column('software_version', String(255)),
Column('compatible_version', String(255)),
Column('required_patches', String(2047)),
UniqueConstraint('software_version'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
loads.create()
# loads = Table('loads', meta, Column('id', Integer, primary_key=True,
# nullable=False))
software_upgrade = Table(
'software_upgrade',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('state', String(128), nullable=False),
Column('from_load', Integer, ForeignKey('loads.id',
ondelete="CASCADE"),
nullable=False),
Column('to_load', Integer, ForeignKey('loads.id', ondelete="CASCADE"),
nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
software_upgrade.create()
host_upgrade = Table(
'host_upgrade',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('forihostid', Integer, ForeignKey('i_host.id',
ondelete='CASCADE')),
Column('software_load', Integer, ForeignKey('loads.id'),
nullable=False),
Column('target_load', Integer, ForeignKey('loads.id'),
nullable=False),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
host_upgrade.create()
drbdconfig = Table(
'drbdconfig',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('link_util', Integer),
Column('num_parallel', Integer),
Column('rtt_ms', Float),
Column('forisystemid', Integer,
ForeignKey('i_system.id', ondelete='CASCADE')),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
drbdconfig.create()
i_host.create_column(Column('ihost_action', String(255)))
i_host.create_column(Column('vim_progress_status', String(255)))
i_host.create_column(Column('subfunctions', String(255)))
i_host.create_column(Column('subfunction_oper', String(255),
default="disabled"))
i_host.create_column(Column('subfunction_avail', String(255),
default="not-installed"))
i_host.create_column(Column('boot_device', String(255)))
i_host.create_column(Column('rootfs_device', String(255)))
i_host.create_column(Column('install_output', String(255)))
i_host.create_column(Column('console', String(255)))
i_host.create_column(Column('vsc_controllers', String(255)))
i_host.create_column(Column('ttys_dcd', Boolean))
# 005_add_hugepage_attributes.py
i_memory = Table('i_imemory', meta, autoload=True)
i_memory.drop_column('vm_hugepages_size_mib')
i_memory.drop_column('vm_hugepages_nr')
i_memory.drop_column('vm_hugepages_avail')
i_memory.create_column(Column('vm_hugepages_nr_2M', Integer))
i_memory.create_column(Column('vm_hugepages_nr_1G', Integer))
i_memory.create_column(Column('vm_hugepages_use_1G', Boolean))
i_memory.create_column(Column('vm_hugepages_possible_2M', Integer))
i_memory.create_column(Column('vm_hugepages_possible_1G', Integer))
# 012_hugepage_enhancements.py
i_memory.create_column(Column('vm_hugepages_nr_2M_pending', Integer))
i_memory.create_column(Column('vm_hugepages_nr_1G_pending', Integer))
i_memory.create_column(Column('vm_hugepages_avail_2M', Integer))
i_memory.create_column(Column('vm_hugepages_avail_1G', Integer))
# 014_hugepage_4K_memory.py
i_memory.create_column(Column('vm_hugepages_nr_4K', Integer))
# 016_compute_memory.py
i_memory.create_column(Column('node_memtotal_mib', Integer))
i_extoam = Table('i_extoam', meta, autoload=True)
i_extoam.create_column(Column('oam_start_ip', String(255)))
i_extoam.create_column(Column('oam_end_ip', String(255)))
i_storconfig = Table('i_storconfig', meta, autoload=True)
i_storconfig.create_column(Column('glance_backend', String(255)))
i_storconfig.create_column(Column('glance_gib', Integer, default=0))
i_storconfig.create_column(Column('img_conversions_gib', String(255)))
table_names = ['i_extoam', 'i_infra']
for name in table_names:
table = Table(name, meta, autoload=True)
table.drop()
serviceEnum = Enum('identity',
name='serviceEnum')
service_parameter = Table(
'service_parameter',
meta,
Column('created_at', DateTime),
Column('updated_at', DateTime),
Column('deleted_at', DateTime),
Column('id', Integer, primary_key=True, nullable=False),
Column('uuid', String(36), unique=True),
Column('service', serviceEnum),
Column('section', String(255)),
Column('name', String(255)),
Column('value', String(255)),
UniqueConstraint('service', 'section', 'name',
name='u_servicesectionname'),
mysql_engine=ENGINE,
mysql_charset=CHARSET,
)
service_parameter.create()
def downgrade(migrate_engine):
# As per other openstack components, downgrade is
# unsupported in this release.
raise NotImplementedError('SysInv database downgrade is unsupported.')