def define_service_disks_table(meta):
    disks = Table('service_disks',
                  meta,
                  Column('id', String(36), primary_key=True,
                         nullable=False),
                  Column('service', String(255)),
                  Column('role_id',
                         String(36),
                         ForeignKey('roles.id'),
                         nullable=False),
                  Column(
                      'disk_location', String(255),
                      nullable=False, default='local'),
                  Column('lun', Integer()),
                  Column('data_ips', String(255)),
                  Column('size', Integer()),
                  Column('created_at', DateTime(), nullable=False),
                  Column('updated_at', DateTime(), nullable=False),
                  Column('deleted_at', DateTime()),
                  Column('deleted',
                         Boolean(),
                         nullable=False,
                         default=False,
                         index=True),
                  mysql_engine='InnoDB',
                  extend_existing=True)

    return disks
def define_host_roles_table(meta):
    host_roles = Table('host_roles',
                       meta,
                       Column('id', String(36), primary_key=True,
                              nullable=False),
                       Column('host_id',
                              String(36),
                              ForeignKey('hosts.id'),
                              nullable=False),
                       Column('role_id',
                              String(36),
                              ForeignKey('roles.id'),
                              nullable=False),
                       Column(
                           'status', String(32), nullable=False,
                           default='init'),
                       Column('progress', Integer(), default=0),
                       Column('messages', Text()),
                       Column('created_at', DateTime(), nullable=False),
                       Column('updated_at', DateTime(), nullable=False),
                       Column('deleted_at', DateTime()),
                       Column('deleted',
                              Boolean(),
                              nullable=False,
                              default=False,
                              index=True),
                       mysql_engine='InnoDB',
                       extend_existing=True)

    return host_roles
def define_configs_table(meta):
    configs = Table('configs',
                    meta,
                    Column('id', String(36), primary_key=True,
                           nullable=False),
                    Column('section', String(255)),
                    Column('key', String(255), nullable=False),
                    Column('value', String(255)),
                    Column('config_file_id', String(36), ForeignKey(
                        'config_files.id'), nullable=False),
                    Column('config_version', Integer(), default=0),
                    Column('running_version', Integer(), default=0),
                    Column('description', Text()),
                    Column('created_at', DateTime(), nullable=False),
                    Column('updated_at', DateTime(), nullable=False),
                    Column('deleted_at', DateTime()),
                    Column('deleted',
                           Boolean(),
                           nullable=False,
                           default=False,
                           index=True),
                    mysql_engine='InnoDB',
                    extend_existing=True)

    return configs
def define_cinder_volumes_table(meta):
    disks = Table('cinder_volumes',
                  meta,
                  Column('id', String(36), primary_key=True,
                         nullable=False),
                  Column('user_name', String(255)),
                  Column('user_pwd', String(255)),
                  Column('management_ips', String(255)),
                  Column('pools', String(255)),
                  Column('volume_driver', String(255)),
                  Column('volume_type', String(255)),
                  Column('backend_index', String(255)),
                  Column('role_id',
                         String(36),
                         ForeignKey('roles.id'),
                         nullable=False),
                  Column('created_at', DateTime(), nullable=False),
                  Column('updated_at', DateTime(), nullable=False),
                  Column('deleted_at', DateTime()),
                  Column('deleted',
                         Boolean(),
                         nullable=False,
                         default=False,
                         index=True),
                  mysql_engine='InnoDB',
                  extend_existing=True)

    return disks
def downgrade(migrate_engine):
    print("042 downgrade")
    meta = MetaData()
    meta.bind = migrate_engine

    tables = [define_template_config_roles_table(meta)]
    drop_tables(tables)

    configs = Table('configs', meta, autoload=True)
    template_config_id_reserve = getattr(configs.c, 'template_config_id')
    template_config_id_reserve.alter(type=String(36))

    template_config = Table('template_config', meta, autoload=True)
    id_reserve = getattr(template_config.c, 'id')
    id_reserve.alter(type=String(36))
    name_reserve = getattr(template_config.c, 'name')
    name_reserve.alter(type=String(50))

    template_func = Table('template_func', meta, autoload=True)
    id_reserve = getattr(template_func.c, 'id')
    id_reserve.alter(type=String(36))
    name_reserve = getattr(template_func.c, 'name')
    name_reserve.alter(type=String(36))

    template_func_configs = Table('template_func_configs', meta, autoload=True)
    id_reserve = getattr(template_func_configs.c, 'func_id')
    id_reserve.alter(type=String(36))
    name_reserve = getattr(template_func_configs.c, 'config_id')
    name_reserve.alter(type=String(36))

    config_service = Table('config_service', meta, autoload=True)
    config_id_reserve = getattr(config_service.c, 'config_id')
    config_id_reserve.alter(type=String(36))
def define_optical_switchs_table(meta):
    optical_switchs = Table('optical_switchs',
                            meta,
                            Column('id',
                                   String(36),
                                   primary_key=True,
                                   nullable=False),
                            Column('user_name', String(255)),
                            Column('user_pwd', String(255)),
                            Column('switch_ip', String(36)),
                            Column('switch_port', String(36)),
                            Column('role_id', String(36)),
                            Column('fc_driver', String(36)),
                            Column('fc_zoneing_policy', String(36)),
                            Column('created_at', DateTime(), nullable=False),
                            Column('updated_at', DateTime(), nullable=False),
                            Column('deleted_at', DateTime()),
                            Column('deleted',
                                   Boolean(),
                                   nullable=False,
                                   default=False,
                                   index=True),
                            mysql_engine='InnoDB',
                            extend_existing=True)
    return optical_switchs
def define_neutron_backend_table(meta):
    # NOTE(bcwaldon): load the images table for the ForeignKey below
    sqlalchemy.Table('roles', meta, autoload=True)
    neutron_backend = Table('neutron_backend',
                            meta,
                            Column('id',
                                   String(36),
                                   primary_key=True,
                                   nullable=False),
                            Column('role_id',
                                   String(36),
                                   ForeignKey('roles.id'),
                                   nullable=False),
                            Column('user_name', String(255)),
                            Column('user_pwd', String(255)),
                            Column('controller_ip', String(255)),
                            Column('neutron_backends_type', String(255)),
                            Column('sdn_type', String(255)),
                            Column('port', String(255)),
                            Column('created_at', DateTime(), nullable=False),
                            Column('updated_at', DateTime(), nullable=False),
                            Column('deleted_at', DateTime()),
                            Column('deleted',
                                   Boolean(),
                                   nullable=False,
                                   default=False,
                                   index=True),
                            mysql_engine='InnoDB',
                            extend_existing=True)
    return neutron_backend
def define_template_config_roles_table(meta):
    template_config_roles = \
        Table('template_config_roles',
              meta,
              Column('id', String(36), primary_key=True, nullable=False),
              Column('config_id', String(80)),
              Column('role_name', String(36)),
              Column('updated_at', DateTime(), nullable=False),
              Column('deleted_at', DateTime()),
              Column('created_at', DateTime(), nullable=False),
              Column('deleted', Boolean(), nullable=False, default=False,
                     index=True),
              mysql_engine='InnoDB',
              extend_existing=True)
    return template_config_roles
def define_template_service_table(meta):
    template_service = \
        Table('template_service',
              meta,
              Column('id', String(36), primary_key=True, nullable=False),
              Column('service_name', String(100), nullable=False),
              Column('force_type', String(50)),
              Column('updated_at', DateTime(), nullable=False),
              Column('deleted_at', DateTime()),
              Column('created_at', DateTime(), nullable=False),
              Column('deleted', Boolean(), nullable=False, default=False,
                     index=True),
              mysql_engine='InnoDB',
              extend_existing=True)
    return template_service
def define_component_config_table(meta):
    component_config = \
        Table('component_config',
              meta,
              Column('id', String(36), primary_key=True, nullable=False),
              Column('component_id', String(36), nullable=False),
              Column('cluster_id', String(36), nullable=False),
              Column('enable', Integer(), nullable=False, default=0),
              Column('updated_at', DateTime(), nullable=False),
              Column('deleted_at', DateTime()),
              Column('created_at', DateTime(), nullable=False),
              Column('deleted', Boolean(), nullable=False, default=False,
                     index=True),
              mysql_engine='InnoDB',
              extend_existing=True)
    return component_config
def define_config_service_table(meta):
    config_service = \
        Table('config_service',
              meta,
              Column('id', String(36), primary_key=True,
                     nullable=False),
              Column('config_id', String(36)),
              Column('service_id', String(36)),
              Column('updated_at', DateTime(), nullable=False),
              Column('deleted_at', DateTime()),
              Column('created_at', DateTime(), nullable=False),
              Column('deleted', Boolean(), nullable=False, default=False,
                     index=True),
              mysql_engine='InnoDB',
              extend_existing=True)
    return config_service
def define_template_func_table(meta):
    template_func = \
        Table('template_func',
              meta,
              Column('id', String(36), primary_key=True, nullable=False),
              Column('name', String(50), nullable=False),
              Column('ch_desc', Text()),
              Column('en_desc', Text()),
              Column('data_check_script', Text()),
              Column('updated_at', DateTime(), nullable=False),
              Column('deleted_at', DateTime()),
              Column('created_at', DateTime(), nullable=False),
              Column('deleted', Boolean(), nullable=False, default=False,
                     index=True),
              mysql_engine='InnoDB',
              extend_existing=True)
    return template_func
def upgrade(migrate_engine):
    print("042 upgrade")
    meta = MetaData()
    meta.bind = migrate_engine

    tables = [define_template_config_roles_table(meta)]
    create_tables(tables)

    configs = Table('configs', meta, autoload=True)
    template_config_id_reserve = getattr(configs.c, 'template_config_id')
    template_config_id_reserve.alter(type=String(80))

    template_config = Table('template_config', meta, autoload=True)
    id_reserve = getattr(template_config.c, 'id')
    id_reserve.alter(type=String(80))
    name_reserve = getattr(template_config.c, 'name')
    name_reserve.alter(type=String(128))

    template_func = Table('template_func', meta, autoload=True)
    id_reserve = getattr(template_func.c, 'id')
    id_reserve.alter(type=String(80))
    name_reserve = getattr(template_func.c, 'name')
    name_reserve.alter(type=String(128))

    template_func_configs = Table('template_func_configs', meta, autoload=True)
    id_reserve = getattr(template_func_configs.c, 'func_id')
    id_reserve.alter(type=String(80))
    name_reserve = getattr(template_func_configs.c, 'config_id')
    name_reserve.alter(type=String(80))

    config_service = Table('config_service', meta, autoload=True)
    config_id_reserve = getattr(config_service.c, 'config_id')
    config_id_reserve.alter(type=String(80))

    session = orm.sessionmaker(bind=migrate_engine)()
    session.query(models.TemplateService).\
        filter(models.TemplateService.service_name == "compute").\
        update({"service_name": "openstack-nova-compute"})
    template_config_roles_count = session.query(
        models.TemplateConfigRoles).count()
    if not template_config_roles_count:
        session.add_all([
            models.TemplateConfigRoles(id=str(uuid.uuid4()),
                                       config_id='001',
                                       role_name="COMPUTER"),
            models.TemplateConfigRoles(id=str(uuid.uuid4()),
                                       config_id='002',
                                       role_name="COMPUTER"),
            models.TemplateConfigRoles(id=str(uuid.uuid4()),
                                       config_id='003',
                                       role_name="COMPUTER"),
            models.TemplateConfigRoles(id=str(uuid.uuid4()),
                                       config_id='003',
                                       role_name="COMPUTER"),
        ])
    session.commit()
def define_clusters_table(meta):
    clusters = Table('clusters',
                     meta,
                     Column('id', String(36), primary_key=True,
                            nullable=False),
                     Column(
                         'name', String(255), default='TECS', nullable=False),
                     Column('owner', String(255)),
                     Column('description', Text()),
                     Column('net_l23_provider', String(64)),
                     Column('base_mac', String(128)),
                     Column('gre_id_start', Integer()),
                     Column('gre_id_end', Integer()),
                     Column('vlan_start', Integer()),
                     Column('vlan_end', Integer()),
                     Column('vni_start', BigInteger()),
                     Column('vni_end', BigInteger()),
                     Column('public_vip', String(128)),
                     Column('segmentation_type', String(64)),
                     Column(
                         'auto_scale', Integer(), nullable=False, default=0),
                     Column('created_at', DateTime(), nullable=False),
                     Column('updated_at', DateTime(), nullable=False),
                     Column('deleted_at', DateTime()),
                     Column('deleted',
                            Boolean(),
                            nullable=False,
                            default=False,
                            index=True),
                     mysql_engine='InnoDB',
                     extend_existing=True)

    return clusters
def define_versions_table(meta):
    versions = Table('versions',
                     meta,
                     Column('id', String(36), primary_key=True,
                            nullable=False),
                     Column('name', String(256), nullable=False),
                     Column('size', BigInteger()),
                     Column('status', String(30)),
                     Column('checksum', String(128)),
                     Column('owner', String(256)),
                     Column('version', String(32)),
                     Column('type', String(30)),
                     Column('description', Text()),
                     Column('created_at', DateTime(), nullable=False),
                     Column('updated_at', DateTime(), nullable=False),
                     Column('deleted_at', DateTime()),
                     Column('deleted',
                            Boolean(),
                            nullable=False,
                            default=False,
                            index=True),
                     mysql_engine='InnoDB',
                     extend_existing=True)

    return versions
def define_config_files_table(meta):
    config_files = Table('config_files',
                         meta,
                         Column('id', String(36), primary_key=True,
                                nullable=False),
                         Column('name', String(255), nullable=False),
                         Column('description', Text()),
                         Column('created_at', DateTime(), nullable=False),
                         Column('updated_at', DateTime(), nullable=False),
                         Column('deleted_at', DateTime()),
                         Column('deleted',
                                Boolean(),
                                nullable=False,
                                default=False,
                                index=True),
                         mysql_engine='InnoDB',
                         extend_existing=True)

    return config_files
def define_ip_ranges_table(meta):
    ip_ranges = Table('ip_ranges',
                      meta,
                      Column('id', String(36), primary_key=True,
                             nullable=False),
                      Column('start', String(128)),
                      Column('end', String(128)),
                      Column('network_id', String(36)),
                      Column('created_at', DateTime(), nullable=False),
                      Column('updated_at', DateTime(), nullable=False),
                      Column('deleted_at', DateTime()),
                      Column('deleted',
                             Boolean(),
                             nullable=False,
                             default=False,
                             index=True),
                      mysql_engine='InnoDB',
                      extend_existing=True)

    return ip_ranges
def define_config_historys_table(meta):
    config_historys = Table('config_historys',
                            meta,
                            Column('id', String(36), primary_key=True,
                                   nullable=False),
                            Column('config_id', String(36)),
                            Column('value', String(255)),
                            Column('version', Integer()),
                            Column('created_at', DateTime(), nullable=False),
                            Column('updated_at', DateTime(), nullable=False),
                            Column('deleted_at', DateTime()),
                            Column('deleted',
                                   Boolean(),
                                   nullable=False,
                                   default=False,
                                   index=True),
                            mysql_engine='InnoDB',
                            extend_existing=True)

    return config_historys
def define_tasks_table(meta):
    tasks = Table('tasks',
                  meta,
                  Column('id', String(36), primary_key=True, nullable=False),
                  Column('type', String(30), nullable=False),
                  Column('status', String(30), nullable=False),
                  Column('owner', String(255), nullable=False),
                  Column('expires_at', DateTime()),
                  Column('created_at', DateTime(), nullable=False),
                  Column('updated_at', DateTime(), nullable=False),
                  Column('deleted_at', DateTime()),
                  Column('deleted',
                         Boolean(),
                         nullable=False,
                         default=False,
                         index=True),
                  mysql_engine='InnoDB',
                  extend_existing=True)

    return tasks
def define_dns_nameservers_table(meta):
    dns_nameservers = Table('dns_nameservers',
                            meta,
                            Column('id', String(36), primary_key=True,
                                   nullable=False),
                            Column('dns', String(128)),
                            Column(
                                'subnet_id', String(36),
                                ForeignKey('subnets.id'), nullable=False),
                            Column('created_at', DateTime(), nullable=False),
                            Column('updated_at', DateTime(), nullable=False),
                            Column('deleted_at', DateTime()),
                            Column('deleted',
                                   Boolean(),
                                   nullable=False,
                                   default=False,
                                   index=True),
                            mysql_engine='InnoDB',
                            extend_existing=True)

    return dns_nameservers
def define_host_template_table(meta):
    host_templates = Table('host_templates',
                           meta,
                           Column('id',
                                  String(36),
                                  primary_key=True,
                                  nullable=False),
                           Column('cluster_name', String(36), nullable=False),
                           Column('hosts', Text(), nullable=True),
                           Column('updated_at', DateTime(), nullable=False),
                           Column('deleted_at', DateTime()),
                           Column('created_at', DateTime(), nullable=False),
                           Column('deleted',
                                  Boolean(),
                                  nullable=False,
                                  default=False,
                                  index=True),
                           mysql_engine='InnoDB',
                           extend_existing=True)

    return host_templates
def define_roles_table(meta):
    roles = Table('roles',
                  meta,
                  Column('id',
                         String(36), primary_key=True,
                         nullable=False, index=True),
                  Column('name',
                         String(255),
                         nullable=False),
                  Column('status', String(32), nullable=False, default='init'),
                  Column('progress', Integer(), default=0),
                  Column('config_set_id',
                         String(36),
                         ForeignKey('config_sets.id')),
                  Column('description', Text()),
                  Column('cluster_id', String(36)),
                  Column('type', String(36), nullable=False, default='custom'),
                  Column('vip', String(256)),
                  Column('messages', Text()),
                  Column('db_lv_size', Integer()),
                  Column('glance_lv_size', Integer()),
                  Column('nova_lv_size', Integer(), default=0),
                  Column(
                      'disk_location', String(255), nullable=False,
                      default='local'),
                  Column('deployment_backend', String(36)),
                  Column('config_set_update_progress', Integer(), default=0),
                  Column('ntp_server', String(255)),
                  Column('created_at', DateTime(), nullable=False),
                  Column('updated_at', DateTime(), nullable=False),
                  Column('deleted_at', DateTime()),
                  Column('deleted',
                         Boolean(),
                         nullable=False,
                         default=False,
                         index=True),
                  mysql_engine='InnoDB',
                  extend_existing=True)

    return roles
def define_logic_networks_table(meta):
    logic_networks = Table('logic_networks',
                           meta,
                           Column('id', String(36), primary_key=True,
                                  nullable=False),
                           Column('name', String(255), nullable=False),
                           Column('type', String(36)),
                           Column('physnet_name', String(255)),
                           Column('cluster_id', String(36), ForeignKey(
                               'clusters.id'), nullable=False),
                           Column('segmentation_id', BigInteger()),
                           Column(
                               'segmentation_type', String(64),
                               nullable=False),
                           Column('shared', Boolean(), default=False),
                           Column('created_at', DateTime(), nullable=False),
                           Column('updated_at', DateTime(), nullable=False),
                           Column('deleted_at', DateTime()),
                           Column('deleted',
                                  Boolean(),
                                  nullable=False,
                                  default=False,
                                  index=True),
                           mysql_engine='InnoDB',
                           extend_existing=True)
    return logic_networks
def define_config_set_items_table(meta):
    config_set_items = Table('config_set_items',
                             meta,
                             Column('id', String(36), primary_key=True,
                                    nullable=False),
                             Column('config_set_id', String(36),
                                    ForeignKey('config_sets.id'),
                                    nullable=False),
                             Column('config_id', String(36), ForeignKey(
                                 'configs.id'), nullable=False),
                             Column('created_at', DateTime(), nullable=False),
                             Column('updated_at', DateTime(), nullable=False),
                             Column('deleted_at', DateTime()),
                             Column('deleted',
                                    Boolean(),
                                    nullable=False,
                                    default=False,
                                    index=True),
                             mysql_engine='InnoDB',
                             extend_existing=True)

    return config_set_items
def define_service_roles_table(meta):
    service_roles = Table('service_roles',
                          meta,
                          Column('id', String(36), primary_key=True,
                                 nullable=False),
                          Column('role_id', String(36), ForeignKey('roles.id'),
                                 nullable=False),
                          Column(
                              'service_id', String(36), ForeignKey(
                                  'services.id'), nullable=False),
                          Column('created_at', DateTime(), nullable=False),
                          Column('updated_at', DateTime(), nullable=False),
                          Column('deleted_at', DateTime()),
                          Column('deleted',
                                 Boolean(),
                                 nullable=False,
                                 default=False,
                                 index=True),
                          mysql_engine='InnoDB',
                          extend_existing=True)

    return service_roles
def define_routers_table(meta):
    routers = Table('routers',
                    meta,
                    Column('id', String(36), primary_key=True,
                           nullable=False),
                    Column('name', String(255)),
                    Column('description', Text()),
                    Column('cluster_id', String(36), ForeignKey(
                        'clusters.id'), nullable=False),
                    Column('external_logic_network', String(255)),
                    Column('created_at', DateTime(), nullable=False),
                    Column('updated_at', DateTime(), nullable=False),
                    Column('deleted_at', DateTime()),
                    Column('deleted',
                           Boolean(),
                           nullable=False,
                           default=False,
                           index=True),
                    mysql_engine='InnoDB',
                    extend_existing=True)

    return routers
def define_discover_hosts_table(meta):
    discover_hosts = Table('discover_hosts',
                           meta,
                           Column('id', String(36), primary_key=True,
                                  nullable=False),
                           Column('ip', String(255), nullable=True),
                           Column('user', String(36)),
                           Column('passwd', String(36), nullable=True),
                           Column(
                               'status', String(255), default='init',
                               nullable=True),
                           Column('created_at', DateTime(), nullable=True),
                           Column('updated_at', DateTime(), nullable=True),
                           Column('deleted_at', DateTime()),
                           Column('deleted',
                                  Boolean(),
                                  nullable=False,
                                  default=False,
                                  index=True),
                           mysql_engine='InnoDB',
                           extend_existing=True)

    return discover_hosts
def define_services_table(meta):
    services = Table('services',
                     meta,
                     Column('id', String(36), primary_key=True,
                            nullable=False),
                     Column('name', String(255), nullable=False),
                     Column('component_id', String(36), ForeignKey(
                         'components.id'), nullable=True),
                     Column('description', Text()),
                     Column(
                         'backup_type', String(32), nullable=False,
                         default='none'),
                     Column('created_at', DateTime(), nullable=False),
                     Column('updated_at', DateTime(), nullable=False),
                     Column('deleted_at', DateTime()),
                     Column('deleted',
                            Boolean(),
                            nullable=False,
                            default=False,
                            index=True),
                     mysql_engine='InnoDB',
                     extend_existing=True)

    return services
示例#29
0
def define_host_patch_history_table(meta):
    host_patch_history = Table('host_patch_history',
                               meta,
                               Column('id',
                                      String(36),
                                      primary_key=True,
                                      nullable=False),
                               Column('host_id', String(36), nullable=False),
                               Column('type', String(30), nullable=False),
                               Column('version_id', String(36)),
                               Column('patch_name', String(255)),
                               Column('created_at', DateTime(),
                                      nullable=False),
                               Column('updated_at', DateTime(),
                                      nullable=False),
                               Column('deleted_at', DateTime()),
                               Column('deleted',
                                      Boolean(),
                                      nullable=False,
                                      default=False,
                                      index=True),
                               mysql_engine='InnoDB',
                               extend_existing=True)
    return host_patch_history
def define_task_infos_table(meta):
    task_infos = Table('task_infos',
                       meta,
                       Column('task_id', String(36)),
                       Column('input', Text()),
                       Column('result', Text()),
                       Column('message', Text()),
                       Column('created_at', DateTime(), nullable=False),
                       Column('updated_at', DateTime(), nullable=False),
                       Column('deleted_at', DateTime()),
                       Column('deleted',
                              Boolean(),
                              nullable=False,
                              default=False,
                              index=True),
                       mysql_engine='InnoDB',
                       extend_existing=True)

    return task_infos