diff options
Diffstat (limited to 'heat/db/sqlalchemy/migrate_repo/versions/073_newton.py')
-rw-r--r-- | heat/db/sqlalchemy/migrate_repo/versions/073_newton.py | 387 |
1 files changed, 0 insertions, 387 deletions
diff --git a/heat/db/sqlalchemy/migrate_repo/versions/073_newton.py b/heat/db/sqlalchemy/migrate_repo/versions/073_newton.py deleted file mode 100644 index 3293b91ce..000000000 --- a/heat/db/sqlalchemy/migrate_repo/versions/073_newton.py +++ /dev/null @@ -1,387 +0,0 @@ -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import uuid - -import sqlalchemy - -from heat.db.sqlalchemy import types - - -def upgrade(migrate_engine): - meta = sqlalchemy.MetaData() - meta.bind = migrate_engine - - raw_template_files = sqlalchemy.Table( - 'raw_template_files', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, - primary_key=True, - nullable=False), - sqlalchemy.Column('files', types.Json), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - raw_template = sqlalchemy.Table( - 'raw_template', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('template', types.LongText), - sqlalchemy.Column('files', types.Json), - sqlalchemy.Column('environment', types.Json), - sqlalchemy.Column('files_id', sqlalchemy.Integer(), - sqlalchemy.ForeignKey( - 'raw_template_files.id', - name='raw_tmpl_files_fkey_ref')), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - user_creds = sqlalchemy.Table( - 'user_creds', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, - primary_key=True, nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('username', sqlalchemy.String(255)), - sqlalchemy.Column('password', sqlalchemy.String(255)), - sqlalchemy.Column('region_name', sqlalchemy.String(length=255)), - sqlalchemy.Column('decrypt_method', sqlalchemy.String(length=64)), - sqlalchemy.Column('tenant', sqlalchemy.String(1024)), - sqlalchemy.Column('auth_url', sqlalchemy.Text), - sqlalchemy.Column('tenant_id', sqlalchemy.String(256)), - sqlalchemy.Column('trust_id', sqlalchemy.String(255)), - sqlalchemy.Column('trustor_user_id', sqlalchemy.String(64)), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - stack = sqlalchemy.Table( - 'stack', meta, - sqlalchemy.Column('id', sqlalchemy.String(36), - primary_key=True, nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('deleted_at', sqlalchemy.DateTime), - sqlalchemy.Column('name', sqlalchemy.String(255)), - sqlalchemy.Column('raw_template_id', - sqlalchemy.Integer, - sqlalchemy.ForeignKey('raw_template.id'), - nullable=False), - sqlalchemy.Column('prev_raw_template_id', - sqlalchemy.Integer, - sqlalchemy.ForeignKey('raw_template.id')), - sqlalchemy.Column('user_creds_id', sqlalchemy.Integer, - sqlalchemy.ForeignKey('user_creds.id')), - sqlalchemy.Column('username', sqlalchemy.String(256)), - sqlalchemy.Column('owner_id', sqlalchemy.String(36)), - sqlalchemy.Column('action', sqlalchemy.String(255)), - sqlalchemy.Column('status', sqlalchemy.String(255)), - sqlalchemy.Column('status_reason', sqlalchemy.Text), - sqlalchemy.Column('timeout', sqlalchemy.Integer), - sqlalchemy.Column('tenant', sqlalchemy.String(256)), - sqlalchemy.Column('disable_rollback', sqlalchemy.Boolean, - nullable=False), - sqlalchemy.Column('stack_user_project_id', - sqlalchemy.String(length=64)), - sqlalchemy.Column('backup', sqlalchemy.Boolean, default=False), - sqlalchemy.Column('nested_depth', sqlalchemy.Integer, default=0), - sqlalchemy.Column('convergence', sqlalchemy.Boolean, default=False), - sqlalchemy.Column('current_traversal', sqlalchemy.String(36)), - sqlalchemy.Column('current_deps', types.Json), - sqlalchemy.Column('parent_resource_name', sqlalchemy.String(255)), - sqlalchemy.Index('ix_stack_name', 'name', mysql_length=255), - sqlalchemy.Index('ix_stack_tenant', 'tenant', mysql_length=255), - sqlalchemy.Index('ix_stack_owner_id', 'owner_id', mysql_length=36), - - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - resource = sqlalchemy.Table( - 'resource', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True, - nullable=False), - sqlalchemy.Column('uuid', sqlalchemy.String(36), unique=True, - default=lambda: str(uuid.uuid4())), - sqlalchemy.Column('nova_instance', sqlalchemy.String(255)), - sqlalchemy.Column('name', sqlalchemy.String(255)), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('action', sqlalchemy.String(255)), - sqlalchemy.Column('status', sqlalchemy.String(255)), - sqlalchemy.Column('status_reason', sqlalchemy.Text), - sqlalchemy.Column('stack_id', sqlalchemy.String(36), - sqlalchemy.ForeignKey('stack.id'), nullable=False), - sqlalchemy.Column('rsrc_metadata', types.LongText), - sqlalchemy.Column('properties_data', types.Json), - sqlalchemy.Column('engine_id', sqlalchemy.String(length=36)), - sqlalchemy.Column('atomic_key', sqlalchemy.Integer), - sqlalchemy.Column('needed_by', types.List), - sqlalchemy.Column('requires', types.List), - sqlalchemy.Column('replaces', sqlalchemy.Integer), - sqlalchemy.Column('replaced_by', sqlalchemy.Integer), - sqlalchemy.Column('current_template_id', sqlalchemy.Integer, - sqlalchemy.ForeignKey('raw_template.id')), - sqlalchemy.Column('properties_data_encrypted', - sqlalchemy.Boolean, - default=False), - sqlalchemy.Column('root_stack_id', sqlalchemy.String(36)), - sqlalchemy.Index('ix_resource_root_stack_id', - 'root_stack_id', - mysql_length=36), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - resource_data = sqlalchemy.Table( - 'resource_data', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('key', sqlalchemy.String(255)), - sqlalchemy.Column('value', sqlalchemy.Text), - sqlalchemy.Column('redact', sqlalchemy.Boolean), - sqlalchemy.Column('decrypt_method', sqlalchemy.String(length=64)), - sqlalchemy.Column('resource_id', - sqlalchemy.Integer, - sqlalchemy.ForeignKey('resource.id', - name='fk_resource_id', - ondelete='CASCADE'), - nullable=False), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - event = sqlalchemy.Table( - 'event', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True, - nullable=False), - sqlalchemy.Column('uuid', sqlalchemy.String(36), - default=lambda: str(uuid.uuid4()), unique=True), - sqlalchemy.Column('stack_id', sqlalchemy.String(36), - sqlalchemy.ForeignKey('stack.id'), nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('resource_action', sqlalchemy.String(255)), - sqlalchemy.Column('resource_status', sqlalchemy.String(255)), - sqlalchemy.Column('resource_name', sqlalchemy.String(255)), - sqlalchemy.Column('physical_resource_id', sqlalchemy.String(255)), - sqlalchemy.Column('resource_status_reason', sqlalchemy.String(255)), - sqlalchemy.Column('resource_type', sqlalchemy.String(255)), - sqlalchemy.Column('resource_properties', sqlalchemy.PickleType), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - watch_rule = sqlalchemy.Table( - 'watch_rule', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('name', sqlalchemy.String(255)), - sqlalchemy.Column('state', sqlalchemy.String(255)), - sqlalchemy.Column('rule', types.LongText), - sqlalchemy.Column('last_evaluated', sqlalchemy.DateTime), - sqlalchemy.Column('stack_id', sqlalchemy.String(36), - sqlalchemy.ForeignKey('stack.id'), nullable=False), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - watch_data = sqlalchemy.Table( - 'watch_data', meta, - sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('data', types.LongText), - sqlalchemy.Column('watch_rule_id', sqlalchemy.Integer, - sqlalchemy.ForeignKey('watch_rule.id'), - nullable=False), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - stack_lock = sqlalchemy.Table( - 'stack_lock', meta, - sqlalchemy.Column('stack_id', sqlalchemy.String(length=36), - sqlalchemy.ForeignKey('stack.id'), - primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('engine_id', sqlalchemy.String(length=36)), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - software_config = sqlalchemy.Table( - 'software_config', meta, - sqlalchemy.Column('id', sqlalchemy.String(36), - primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('name', sqlalchemy.String(255)), - sqlalchemy.Column('group', sqlalchemy.String(255)), - sqlalchemy.Column('config', types.LongText), - sqlalchemy.Column('tenant', sqlalchemy.String(64), - nullable=False, - index=True), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - software_deployment = sqlalchemy.Table( - 'software_deployment', meta, - sqlalchemy.Column('id', sqlalchemy.String(36), - primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime, - index=True), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('server_id', sqlalchemy.String(36), - nullable=False, - index=True), - sqlalchemy.Column('config_id', - sqlalchemy.String(36), - sqlalchemy.ForeignKey('software_config.id'), - nullable=False), - sqlalchemy.Column('input_values', types.Json), - sqlalchemy.Column('output_values', types.Json), - sqlalchemy.Column('action', sqlalchemy.String(255)), - sqlalchemy.Column('status', sqlalchemy.String(255)), - sqlalchemy.Column('status_reason', sqlalchemy.Text), - sqlalchemy.Column('tenant', sqlalchemy.String(64), - nullable=False, - index=True), - sqlalchemy.Column('stack_user_project_id', - sqlalchemy.String(length=64)), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - snapshot = sqlalchemy.Table( - 'snapshot', meta, - sqlalchemy.Column('id', sqlalchemy.String(36), - primary_key=True, - nullable=False), - sqlalchemy.Column('stack_id', - sqlalchemy.String(36), - sqlalchemy.ForeignKey('stack.id'), - nullable=False), - sqlalchemy.Column('name', sqlalchemy.String(255)), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('status', sqlalchemy.String(255)), - sqlalchemy.Column('status_reason', sqlalchemy.String(255)), - sqlalchemy.Column('data', types.Json), - sqlalchemy.Column('tenant', sqlalchemy.String(64), - nullable=False, - index=True), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - service = sqlalchemy.Table( - 'service', meta, - sqlalchemy.Column('id', sqlalchemy.String(36), primary_key=True, - default=lambda: str(uuid.uuid4())), - sqlalchemy.Column('engine_id', sqlalchemy.String(36), nullable=False), - sqlalchemy.Column('host', sqlalchemy.String(255), nullable=False), - sqlalchemy.Column('hostname', sqlalchemy.String(255), nullable=False), - sqlalchemy.Column('binary', sqlalchemy.String(255), nullable=False), - sqlalchemy.Column('topic', sqlalchemy.String(255), nullable=False), - sqlalchemy.Column('report_interval', sqlalchemy.Integer, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('deleted_at', sqlalchemy.DateTime), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - stack_tag = sqlalchemy.Table( - 'stack_tag', meta, - sqlalchemy.Column('id', - sqlalchemy.Integer, - primary_key=True, - nullable=False), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - sqlalchemy.Column('tag', sqlalchemy.Unicode(80)), - sqlalchemy.Column('stack_id', - sqlalchemy.String(36), - sqlalchemy.ForeignKey('stack.id'), - nullable=False), - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - sync_point = sqlalchemy.Table( - 'sync_point', meta, - sqlalchemy.Column('entity_id', sqlalchemy.String(36)), - sqlalchemy.Column('traversal_id', sqlalchemy.String(36)), - sqlalchemy.Column('is_update', sqlalchemy.Boolean), - sqlalchemy.Column('atomic_key', sqlalchemy.Integer, - nullable=False), - sqlalchemy.Column('stack_id', sqlalchemy.String(36), - nullable=False), - sqlalchemy.Column('input_data', types.Json), - sqlalchemy.Column('created_at', sqlalchemy.DateTime), - sqlalchemy.Column('updated_at', sqlalchemy.DateTime), - - sqlalchemy.PrimaryKeyConstraint('entity_id', - 'traversal_id', - 'is_update'), - sqlalchemy.ForeignKeyConstraint(['stack_id'], ['stack.id'], - name='fk_stack_id'), - - mysql_engine='InnoDB', - mysql_charset='utf8' - ) - - tables = ( - raw_template_files, - raw_template, - user_creds, - stack, - resource, - resource_data, - event, - watch_rule, - watch_data, - stack_lock, - software_config, - software_deployment, - snapshot, - service, - stack_tag, - sync_point, - ) - - for index, table in enumerate(tables): - try: - table.create() - except Exception: - # If an error occurs, drop all tables created so far to return - # to the previously existing state. - meta.drop_all(tables=tables[:index]) - raise |