def upgrade(): # server_default accepts string or SQL element only op.add_column( 'secrets', sa.Column('is_hidden_value', sa.Boolean(), nullable=False, server_default='f')) op.add_column('deployment_updates', sa.Column('_old_blueprint_fk', sa.Integer(), nullable=True)) op.add_column('deployment_updates', sa.Column('_new_blueprint_fk', sa.Integer(), nullable=True)) op.add_column('deployment_updates', sa.Column('old_inputs', sa.PickleType(), nullable=True)) op.add_column('deployment_updates', sa.Column('new_inputs', sa.PickleType(), nullable=True)) op.add_column( 'users', sa.Column('last_failed_login_at', UTCDateTime(), nullable=True)) op.add_column( 'users', sa.Column('failed_logins_counter', sa.Integer(), nullable=True)) op.add_column('executions', sa.Column('ended_at', UTCDateTime(), nullable=True)) op.execute('COMMIT') op.execute("alter type execution_status add value 'kill_cancelling'")
def _create_maintenance_mode_table(): op.create_table( 'maintenance_mode', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('status', sa.Text(), nullable=False), sa.Column('activation_requested_at', UTCDateTime(), nullable=False), sa.Column('activated_at', UTCDateTime(), nullable=True), sa.Column('_requested_by', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['_requested_by'], ['users.id'], name=op.f('maintenance_mode__requested_by_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('id', name=op.f('maintenance_mode_pkey'))) op.create_index(op.f('maintenance_mode__requested_by_idx'), 'maintenance_mode', ['_requested_by'], unique=False)
def _modify_users_table(): op.add_column( 'users', sa.Column('show_getting_started', sa.Boolean(), nullable=False, server_default='t')) op.add_column('users', sa.Column('first_login_at', UTCDateTime(), nullable=True))
def create_execution_groups_table(): op.create_table( 'execution_groups', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', VISIBILITY_ENUM, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('_deployment_group_fk', sa.Integer(), nullable=True), sa.Column('workflow_id', sa.Text(), nullable=False), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], ['users.id'], name=op.f('execution_groups__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_deployment_group_fk'], ['deployment_groups._storage_id'], name=op.f('execution_groups__deployment_group_fk_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], ['tenants.id'], name=op.f('execution_groups__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('execution_groups_pkey'))) op.create_index(op.f('execution_groups__creator_id_idx'), 'execution_groups', ['_creator_id'], unique=False) op.create_index(op.f('execution_groups__deployment_group_fk_idx'), 'execution_groups', ['_deployment_group_fk'], unique=False) op.create_index(op.f('execution_groups__tenant_id_idx'), 'execution_groups', ['_tenant_id'], unique=False) op.create_index(op.f('execution_groups_created_at_idx'), 'execution_groups', ['created_at'], unique=False) op.create_index(op.f('execution_groups_id_idx'), 'execution_groups', ['id'], unique=False) op.create_index(op.f('execution_groups_visibility_idx'), 'execution_groups', ['visibility'], unique=False) op.create_table( 'execution_groups_executions', sa.Column('execution_group_id', sa.Integer(), nullable=True), sa.Column('execution_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['execution_group_id'], ['execution_groups._storage_id'], name=op.f('execution_groups_executions_execution_grou_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['execution_id'], ['executions._storage_id'], name=op.f('execution_groups_executions_execution_id_fkey'), ondelete='CASCADE'))
def create_filters_table(): op.create_table( 'filters', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('value', JSONString(), nullable=True), sa.Column('visibility', VISIBILITY_ENUM, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('updated_at', UTCDateTime(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], [u'users.id'], name=op.f('filters__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], [u'tenants.id'], name=op.f('filters__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('filters_pkey')), ) op.create_index(op.f('filters__tenant_id_idx'), 'filters', ['_tenant_id'], unique=False) op.create_index(op.f('filters_created_at_idx'), 'filters', ['created_at'], unique=False) op.create_index(op.f('filters_id_idx'), 'filters', ['id'], unique=False) op.create_index(op.f('filters__creator_id_idx'), 'filters', ['_creator_id'], unique=False) op.create_index(op.f('filters_visibility_idx'), 'filters', ['visibility'], unique=False) op.create_index('filters_id__tenant_id_idx', 'filters', ['id', '_tenant_id'], unique=True)
def _create_plugins_update_table(): visibility_enum = postgresql.ENUM(*VisibilityState.STATES, name='visibility_states', create_type=False) op.create_table( 'plugins_updates', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', visibility_enum, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('state', sa.Text(), nullable=True), sa.Column('deployments_to_update', sa.PickleType(), nullable=True), sa.Column('forced', sa.Boolean(), default=False), sa.Column('_original_blueprint_fk', sa.Integer(), nullable=False), sa.Column('_temp_blueprint_fk', sa.Integer(), nullable=True), sa.Column('_execution_fk', sa.Integer(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], [u'users.id'], name=op.f('plugins_updates__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_execution_fk'], [u'executions._storage_id'], name=op.f('plugins_updates__execution_fk_fkey'), ondelete='SET NULL'), sa.ForeignKeyConstraint( ['_original_blueprint_fk'], [u'blueprints._storage_id'], name=op.f('plugins_updates__original_blueprint_fk_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_temp_blueprint_fk'], [u'blueprints._storage_id'], name=op.f('plugins_updates__temp_blueprint_fk_fkey'), ondelete='SET NULL'), sa.ForeignKeyConstraint(['_tenant_id'], [u'tenants.id'], name=op.f('plugins_updates__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('plugins_updates_pkey'))) op.create_index(op.f('plugins_updates__tenant_id_idx'), 'plugins_updates', ['_tenant_id'], unique=False) op.create_index(op.f('plugins_updates_created_at_idx'), 'plugins_updates', ['created_at'], unique=False) op.create_index(op.f('plugins_updates_id_idx'), 'plugins_updates', ['id'], unique=False)
def upgrade(): op.create_table( 'licenses', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('customer_id', sa.Text(), nullable=True), sa.Column('expiration_date', UTCDateTime(), nullable=True), sa.Column('license_edition', sa.String(length=255), nullable=True), sa.Column('trial', sa.Boolean(), nullable=False), sa.Column('cloudify_version', sa.Text(), nullable=True), sa.Column('capabilities', postgresql.ARRAY(sa.Text()), nullable=True), sa.Column('signature', sa.LargeBinary(), nullable=True), sa.PrimaryKeyConstraint('id', name=op.f('licenses_pkey')), sa.UniqueConstraint('customer_id', name=op.f('licenses_customer_id_key')))
class Config(Base): __tablename__ = 'config' name = sa.Column(sa.Text, primary_key=True) value = sa.Column(JSONString(), nullable=False) schema = sa.Column(JSONString(), nullable=True) is_editable = sa.Column(sa.Boolean, default=True) updated_at = sa.Column(UTCDateTime()) scope = sa.Column(sa.Text, primary_key=True) _updater_id = sa.Column( sa.Integer, sa.ForeignKey(User.id, ondelete='SET NULL'), nullable=True, index=False, primary_key=False, )
def _create_labels_table(table_name, fk_column, fk_refcolumn, fk_index): """ This is an auxiliary function to create an object's labels table. :param table_name: The table name. E.g. deployments_labels :param fk_column: The object's foreign key column name. E.g. _deployment_fk :param fk_refcolumn: The object's foreign key reference column. E.g. u'deployments._storage_id' :param fk_index: The object's foreign key index name. E.g. _deployment_idx """ op.create_table( table_name, sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('key', sa.Text(), nullable=False), sa.Column('value', sa.Text(), nullable=False), sa.Column(fk_column, sa.Integer(), nullable=False), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint([fk_column], [fk_refcolumn], name=op.f('{0}_{1}'.format( table_name, fk_column)), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_creator_id'], [u'users.id'], name=op.f( '{0}__creator_id_fkey'.format(table_name)), ondelete='CASCADE'), sa.PrimaryKeyConstraint('id', name=op.f('{0}_pkey'.format(table_name))), sa.UniqueConstraint('key', 'value', fk_column, name=op.f('{0}_key_value_key'))) op.create_index(op.f('{0}_created_at_idx'.format(table_name)), table_name, ['created_at'], unique=False) op.create_index(op.f('{0}__creator_id_idx'.format(table_name)), table_name, ['_creator_id'], unique=False) op.create_index(op.f('{0}_key_idx'.format(table_name)), table_name, ['key'], unique=False) op.create_index(op.f('{0}_{1}'.format(table_name, fk_index)), table_name, [fk_column], unique=False)
def _create_sites_table(): visibility_enum = postgresql.ENUM(*VisibilityState.STATES, name='visibility_states', create_type=False) op.create_table( 'sites', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', visibility_enum, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('name', sa.Text(), nullable=False), sa.Column('latitude', sa.Float(), nullable=True), sa.Column('longitude', sa.Float(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], ['users.id'], name=op.f('sites__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], ['tenants.id'], name=op.f('sites__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('sites_pkey'))) op.create_index(op.f('sites__tenant_id_idx'), 'sites', ['_tenant_id'], unique=False) op.create_index(op.f('sites_created_at_idx'), 'sites', ['created_at'], unique=False) op.create_index(op.f('sites_id_idx'), 'sites', ['id'], unique=False) # Add sites FK to deployments table op.add_column('deployments', sa.Column('_site_fk', sa.Integer(), nullable=True)) op.create_foreign_key(op.f('deployments__site_fk_fkey'), 'deployments', 'sites', ['_site_fk'], ['_storage_id'], ondelete='SET NULL')
def _update_managers_table(): op.add_column('managers', sa.Column('node_id', sa.Text(), nullable=True)) op.add_column( 'managers', sa.Column('last_seen', UTCDateTime(), nullable=False, server_default=sa.func.current_timestamp())) op.add_column( 'managers', sa.Column('status_report_frequency', sa.Integer(), nullable=True)) op.execute(""" UPDATE managers SET node_id = hostname; """) op.alter_column('managers', 'node_id', nullable=False) op.create_unique_constraint(op.f('managers_node_id_key'), 'managers', ['node_id']) op.create_index(op.f('managers_last_seen_idx'), 'managers', ['last_seen'], unique=False)
def _create_depgroups_labels_table(): op.create_table( 'deployment_groups_labels', sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('key', sa.Text(), nullable=False), sa.Column('value', sa.Text(), nullable=False), sa.Column('_labeled_model_fk', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['_creator_id'], ['users.id'], name=op.f('deployment_groups_labels__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_labeled_model_fk'], ['deployment_groups._storage_id'], name=op.f('deployment_groups_labels__labeled_model_fk_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('id', name=op.f('deployment_groups_labels_pkey')), sa.UniqueConstraint('key', 'value', '_labeled_model_fk', name=op.f('deployment_groups_labels_key_key'))) op.create_index(op.f('deployment_groups_labels__creator_id_idx'), 'deployment_groups_labels', ['_creator_id'], unique=False) op.create_index(op.f('deployment_groups_labels__labeled_model_fk_idx'), 'deployment_groups_labels', ['_labeled_model_fk'], unique=False) op.create_index(op.f('deployment_groups_labels_created_at_idx'), 'deployment_groups_labels', ['created_at'], unique=False) op.create_index(op.f('deployment_groups_labels_key_idx'), 'deployment_groups_labels', ['key'], unique=False) op.create_index(op.f('deployment_groups_labels_value_idx'), 'deployment_groups_labels', ['value'], unique=False)
def create_deployment_groups_table(): op.create_table( 'deployment_groups', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', postgresql.ENUM('private', 'tenant', 'global', name='visibility_states', create_type=False), nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('description', sa.Text(), nullable=True), sa.Column('_default_blueprint_fk', sa.Integer(), nullable=True), sa.Column('default_inputs', JSONString(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['_default_blueprint_fk'], ['blueprints._storage_id'], name=op.f('deployment_groups__default_blueprint_fk_fkey'), ondelete='SET NULL'), sa.ForeignKeyConstraint( ['_creator_id'], ['users.id'], name=op.f('deployment_groups__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], ['tenants.id'], name=op.f('deployment_groups__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('deployment_groups_pkey'))) op.create_index(op.f('deployment_groups__default_blueprint_fk_idx'), 'deployment_groups', ['_default_blueprint_fk'], unique=False) op.create_index(op.f('deployment_groups__creator_id_idx'), 'deployment_groups', ['_creator_id'], unique=False) op.create_index(op.f('deployment_groups__tenant_id_idx'), 'deployment_groups', ['_tenant_id'], unique=False) op.create_index(op.f('deployment_groups_created_at_idx'), 'deployment_groups', ['created_at'], unique=False) op.create_index(op.f('deployment_groups_id_idx'), 'deployment_groups', ['id'], unique=False) op.create_index(op.f('deployment_groups_visibility_idx'), 'deployment_groups', ['visibility'], unique=False) op.create_table( 'deployment_groups_deployments', sa.Column('deployment_group_id', sa.Integer(), nullable=True), sa.Column('deployment_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ['deployment_group_id'], ['deployment_groups._storage_id'], name=op.f( 'deployment_groups_deployments_deployment_grou_id_fkey')), sa.ForeignKeyConstraint( ['deployment_id'], ['deployments._storage_id'], name=op.f('deployment_groups_deployments_deployment_id_fkey')))
branch_labels = None depends_on = None VISIBILITY_ENUM = postgresql.ENUM(VisibilityState.PRIVATE, VisibilityState.TENANT, VisibilityState.GLOBAL, name='visibility_states', create_type=False) config_table = table( 'config', column('name', sa.Text), column('value', JSONString()), column('schema', JSONString()), column('is_editable', sa.Boolean), column('updated_at', UTCDateTime()), column('scope', sa.Text), ) def upgrade(): _create_usage_collector_table() _create_inter_deployment_dependencies_table() _create_unique_indexes() _add_plugins_title_column() _remove_node_id_columns() _add_monitoring_credentials_columns() op.bulk_insert(config_table, [ dict(name='service_management', value='systemd',
def create_execution_schedules_table(): op.create_table( 'execution_schedules', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', VISIBILITY_ENUM, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('next_occurrence', UTCDateTime(), nullable=True), sa.Column('since', UTCDateTime(), nullable=True), sa.Column('until', UTCDateTime(), nullable=True), sa.Column('rule', JSONString(), nullable=False), sa.Column('slip', sa.Integer(), nullable=False), sa.Column('workflow_id', sa.Text(), nullable=False), sa.Column('parameters', JSONString(), nullable=True), sa.Column('execution_arguments', JSONString(), nullable=True), sa.Column('stop_on_fail', sa.Boolean(), nullable=False, server_default='f'), sa.Column('enabled', sa.Boolean(), nullable=False, server_default='t'), sa.Column('_deployment_fk', sa.Integer(), nullable=False), sa.Column('_latest_execution_fk', sa.Integer(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['_creator_id'], [u'users.id'], name=op.f('execution_schedules__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_tenant_id'], [u'tenants.id'], name=op.f('execution_schedules__tenant_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_deployment_fk'], [u'deployments._storage_id'], name=op.f('execution_schedules__deployment_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('execution_schedules_pkey')), ) op.create_foreign_key( op.f('execution_schedules__latest_execution_fk_fkey'), 'execution_schedules', 'executions', ['_latest_execution_fk'], ['_storage_id'], ondelete='CASCADE') op.create_index(op.f('execution_schedules_created_at_idx'), 'execution_schedules', ['created_at'], unique=False) op.create_index(op.f('execution_schedules_id_idx'), 'execution_schedules', ['id'], unique=False) op.create_index(op.f('execution_schedules__creator_id_idx'), 'execution_schedules', ['_creator_id'], unique=False) op.create_index(op.f('execution_schedules__tenant_id_idx'), 'execution_schedules', ['_tenant_id'], unique=False) op.create_index(op.f('execution_schedules_visibility_idx'), 'execution_schedules', ['visibility'], unique=False) op.create_index(op.f('execution_schedules_next_occurrence_idx'), 'execution_schedules', ['next_occurrence'], unique=False) op.create_index(op.f('execution_schedules__deployment_fk_idx'), 'execution_schedules', ['_deployment_fk'], unique=False) op.create_index(op.f('execution_schedules__latest_execution_fk_idx'), 'execution_schedules', ['_latest_execution_fk'], unique=False)
def _create_filters_tables(): op.create_table( 'blueprints_filters', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', VISIBILITY_ENUM, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('value', JSONString(), nullable=True), sa.Column('updated_at', UTCDateTime(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.Column('is_system_filter', sa.Boolean(), nullable=False, server_default='f'), sa.ForeignKeyConstraint( ['_creator_id'], ['users.id'], name=op.f('blueprints_filters__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_tenant_id'], ['tenants.id'], name=op.f('blueprints_filters__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('blueprints_filters_pkey'))) op.create_index(op.f('blueprints_filters__creator_id_idx'), 'blueprints_filters', ['_creator_id'], unique=False) op.create_index(op.f('blueprints_filters__tenant_id_idx'), 'blueprints_filters', ['_tenant_id'], unique=False) op.create_index(op.f('blueprints_filters_created_at_idx'), 'blueprints_filters', ['created_at'], unique=False) op.create_index('blueprints_filters_id__tenant_id_idx', 'blueprints_filters', ['id', '_tenant_id'], unique=True) op.create_index(op.f('blueprints_filters_id_idx'), 'blueprints_filters', ['id'], unique=False) op.create_index(op.f('blueprints_filters_visibility_idx'), 'blueprints_filters', ['visibility'], unique=False) op.create_index(op.f('blueprints_filters_is_system_filter_idx'), 'blueprints_filters', ['is_system_filter'], unique=False) op.create_table( 'deployments_filters', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', VISIBILITY_ENUM, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('value', JSONString(), nullable=True), sa.Column('updated_at', UTCDateTime(), nullable=True), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.Column('is_system_filter', sa.Boolean(), nullable=False, server_default='f'), sa.ForeignKeyConstraint( ['_creator_id'], ['users.id'], name=op.f('deployments_filters__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_tenant_id'], ['tenants.id'], name=op.f('deployments_filters__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('deployments_filters_pkey'))) op.create_index(op.f('deployments_filters__creator_id_idx'), 'deployments_filters', ['_creator_id'], unique=False) op.create_index(op.f('deployments_filters__tenant_id_idx'), 'deployments_filters', ['_tenant_id'], unique=False) op.create_index(op.f('deployments_filters_created_at_idx'), 'deployments_filters', ['created_at'], unique=False) op.create_index('deployments_filters_id__tenant_id_idx', 'deployments_filters', ['id', '_tenant_id'], unique=True) op.create_index(op.f('deployments_filters_id_idx'), 'deployments_filters', ['id'], unique=False) op.create_index(op.f('deployments_filters_visibility_idx'), 'deployments_filters', ['visibility'], unique=False) op.create_index(op.f('deployments_filters_is_system_filter_idx'), 'deployments_filters', ['is_system_filter'], unique=False) op.drop_index('filters__creator_id_idx', table_name='filters') op.drop_index('filters__tenant_id_idx', table_name='filters') op.drop_index('filters_created_at_idx', table_name='filters') op.drop_index('filters_id__tenant_id_idx', table_name='filters') op.drop_index('filters_id_idx', table_name='filters') op.drop_index('filters_visibility_idx', table_name='filters') op.drop_table('filters')
def _create_deployment_labels_dependencies_table(): op.create_table( 'deployment_labels_dependencies', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', VISIBILITY_ENUM, nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('_source_deployment', sa.Integer(), nullable=False), sa.Column('_target_deployment', sa.Integer(), nullable=False), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['_creator_id'], ['users.id'], name=op.f('deployment_labels_dependencies__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_tenant_id'], ['tenants.id'], name=op.f('deployment_labels_dependencies__tenant_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_source_deployment'], ['deployments._storage_id'], name=op.f( 'deployment_labels_dependencies__source_deployment_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint( ['_target_deployment'], ['deployments._storage_id'], name=op.f( 'deployment_labels_dependencies__target_deployment_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint( '_storage_id', name=op.f('deployment_labels_dependencies_pkey')), sa.UniqueConstraint( '_source_deployment', '_target_deployment', name=op.f( 'deployment_labels_dependencies__source_deployment_key'))) op.create_index(op.f('deployment_labels_dependencies__creator_id_idx'), 'deployment_labels_dependencies', ['_creator_id'], unique=False) op.create_index(op.f('deployment_labels_dependencies__tenant_id_idx'), 'deployment_labels_dependencies', ['_tenant_id'], unique=False) op.create_index(op.f('deployment_labels_dependencies_created_at_idx'), 'deployment_labels_dependencies', ['created_at'], unique=False) op.create_index(op.f('deployment_labels_dependencies_id_idx'), 'deployment_labels_dependencies', ['id'], unique=False) op.create_index( op.f('deployment_labels_dependencies__source_deployment_idx'), 'deployment_labels_dependencies', ['_source_deployment'], unique=False) op.create_index( op.f('deployment_labels_dependencies__target_deployment_idx'), 'deployment_labels_dependencies', ['_target_deployment'], unique=False) op.create_index(op.f('deployment_labels_dependencies_visibility_idx'), 'deployment_labels_dependencies', ['visibility'], unique=False)
def upgrade(): op.add_column('executions', sa.Column('started_at', UTCDateTime(), nullable=True)) op.execute('COMMIT') # Add new execution status op.execute("alter type execution_status add value 'queued'") # add execution_fk index to logs and events op.create_index(op.f('events__execution_fk_idx'), 'events', ['_execution_fk'], unique=False) op.create_index(op.f('logs__execution_fk_idx'), 'logs', ['_execution_fk'], unique=False) # re-make FKs with ondelete=cascade op.drop_constraint(u'groups_tenants_group_id_fkey', 'groups_tenants', type_='foreignkey') op.drop_constraint(u'groups_tenants_tenant_id_fkey', 'groups_tenants', type_='foreignkey') op.drop_constraint(u'groups_tenants_role_id_fkey', 'groups_tenants', type_='foreignkey') op.create_foreign_key(op.f('groups_tenants_tenant_id_fkey'), 'groups_tenants', 'tenants', ['tenant_id'], ['id'], ondelete='CASCADE') op.create_foreign_key(op.f('groups_tenants_group_id_fkey'), 'groups_tenants', 'groups', ['group_id'], ['id'], ondelete='CASCADE') op.create_foreign_key(op.f('groups_tenants_role_id_fkey'), 'groups_tenants', 'roles', ['role_id'], ['id'], ondelete='CASCADE') op.drop_constraint(u'users_tenants_user_id_fkey', 'users_tenants', type_='foreignkey') op.drop_constraint(u'users_tenants_tenant_id_fkey', 'users_tenants', type_='foreignkey') op.drop_constraint(u'users_tenants_role_id_fkey', 'users_tenants', type_='foreignkey') op.create_foreign_key(op.f('users_tenants_tenant_id_fkey'), 'users_tenants', 'tenants', ['tenant_id'], ['id'], ondelete='CASCADE') op.create_foreign_key(op.f('users_tenants_user_id_fkey'), 'users_tenants', 'users', ['user_id'], ['id'], ondelete='CASCADE') op.create_foreign_key(op.f('users_tenants_role_id_fkey'), 'users_tenants', 'roles', ['role_id'], ['id'], ondelete='CASCADE') # set null=true op.alter_column('groups_tenants', 'role_id', existing_type=sa.INTEGER(), nullable=True) # dep_up blueprint fks op.create_foreign_key(op.f('deployment_updates__old_blueprint_fk_fkey'), 'deployment_updates', 'blueprints', ['_old_blueprint_fk'], ['_storage_id'], ondelete='CASCADE') op.create_foreign_key(op.f('deployment_updates__new_blueprint_fk_fkey'), 'deployment_updates', 'blueprints', ['_new_blueprint_fk'], ['_storage_id'], ondelete='CASCADE') # adding tenant_id indexes op.create_index(op.f('blueprints__tenant_id_idx'), 'blueprints', ['_tenant_id'], unique=False) op.create_index(op.f('deployment_modifications__tenant_id_idx'), 'deployment_modifications', ['_tenant_id'], unique=False) op.create_index(op.f('deployment_update_steps__tenant_id_idx'), 'deployment_update_steps', ['_tenant_id'], unique=False) op.create_index(op.f('deployment_updates__tenant_id_idx'), 'deployment_updates', ['_tenant_id'], unique=False) op.create_index(op.f('deployments__tenant_id_idx'), 'deployments', ['_tenant_id'], unique=False) op.create_index(op.f('events__tenant_id_idx'), 'events', ['_tenant_id'], unique=False) op.create_index(op.f('executions__tenant_id_idx'), 'executions', ['_tenant_id'], unique=False) op.create_index(op.f('logs__tenant_id_idx'), 'logs', ['_tenant_id'], unique=False) op.create_index(op.f('nodes__tenant_id_idx'), 'nodes', ['_tenant_id'], unique=False) op.create_index(op.f('node_instances__tenant_id_idx'), 'node_instances', ['_tenant_id'], unique=False) op.create_index(op.f('plugins__tenant_id_idx'), 'plugins', ['_tenant_id'], unique=False) op.create_index(op.f('snapshots__tenant_id_idx'), 'snapshots', ['_tenant_id'], unique=False) op.create_index(op.f('secrets__tenant_id_idx'), 'secrets', ['_tenant_id'], unique=False) # removing duplicated indexes op.drop_index('ix_blueprints_created_at', table_name='blueprints') op.drop_index('ix_blueprints_id', table_name='blueprints') op.drop_index('ix_deployment_modifications_created_at', table_name='deployment_modifications') op.drop_index('ix_deployment_modifications_ended_at', table_name='deployment_modifications') op.drop_index('ix_deployment_modifications_id', table_name='deployment_modifications') op.drop_index('ix_deployment_update_steps_id', table_name='deployment_update_steps') op.drop_index('ix_deployment_updates_created_at', table_name='deployment_updates') op.drop_index('ix_deployment_updates_id', table_name='deployment_updates') op.drop_index('ix_deployments_created_at', table_name='deployments') op.drop_index('ix_deployments_id', table_name='deployments') op.drop_index('ix_events_id', table_name='events') op.drop_index('ix_logs_id', table_name='logs') op.drop_index('ix_executions_created_at', table_name='executions') op.drop_index('ix_executions_id', table_name='executions') op.drop_index('ix_groups_ldap_dn', table_name='groups') op.drop_index('ix_groups_name', table_name='groups') op.drop_index('ix_node_instances_id', table_name='node_instances') op.drop_index('ix_nodes_id', table_name='nodes') op.drop_index('ix_nodes_type', table_name='nodes') op.drop_index('ix_plugins_archive_name', table_name='plugins') op.drop_index('ix_plugins_id', table_name='plugins') op.drop_index('ix_plugins_package_name', table_name='plugins') op.drop_index('ix_plugins_uploaded_at', table_name='plugins') op.drop_index('ix_secrets_created_at', table_name='secrets') op.drop_index('ix_secrets_id', table_name='secrets') op.drop_index('ix_snapshots_created_at', table_name='snapshots') op.drop_index('ix_snapshots_id', table_name='snapshots') op.drop_index('ix_tenants_name', table_name='tenants') op.drop_index('ix_users_username', table_name='users') op.drop_index('ix_roles_name', table_name='roles')
def upgrade(): op.add_column('executions', sa.Column('token', sa.String(length=100), nullable=True)) bind = op.get_bind() session = orm.Session(bind=bind) Config.__table__.create(bind) session.add_all([ Config(name='rest_service_log_path', value='/var/log/cloudify/rest/cloudify-rest-service.log', scope='rest', schema=None, is_editable=False), Config(name='rest_service_log_level', value='INFO', scope='rest', schema={ 'type': 'string', 'enum': LOG_LEVELS_ENUM }, is_editable=True), Config(name='ldap_server', value=None, scope='rest', schema={'type': 'string'}, is_editable=True), Config(name='ldap_username', value=None, scope='rest', schema={'type': 'string'}, is_editable=True), Config(name='ldap_password', value=None, scope='rest', schema={'type': 'string'}, is_editable=True), Config(name='ldap_domain', value=None, scope='rest', schema={'type': 'string'}, is_editable=True), Config(name='ldap_is_active_directory', value=None, scope='rest', schema={'type': 'boolean'}, is_editable=True), Config(name='ldap_dn_extra', value=None, scope='rest', schema=None, is_editable=True), Config(name='ldap_timeout', value=5.0, scope='rest', schema={'type': 'number'}, is_editable=True), Config(name='ldap_nested_levels', value=1, scope='rest', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='file_server_root', value='/opt/manager/resources', scope='rest', schema=None, is_editable=False), Config(name='file_server_url', value='http://127.0.0.1:53333/resources', scope='rest', schema=None, is_editable=False), Config(name='insecure_endpoints_disabled', value=True, scope='rest', schema={'type': 'boolean'}, is_editable=False), Config(name='maintenance_folder', value='/opt/manager/maintenance', scope='rest', schema=None, is_editable=False), Config(name='min_available_memory_mb', value=100, scope='rest', schema={ 'type': 'number', 'minimum': 0 }, is_editable=True), Config(name='failed_logins_before_account_lock', value=4, scope='rest', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='account_lock_period', value=-1, scope='rest', schema={ 'type': 'number', 'minimum': -1 }, is_editable=True), Config(name='public_ip', value=None, scope='rest', schema=None, is_editable=False), Config(name='default_page_size', value=1000, scope='rest', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='max_workers', value=5, scope='mgmtworker', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='min_workers', value=2, scope='mgmtworker', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='broker_port', value=5671, scope='agent', schema={ 'type': 'number', 'minimum': 1, 'maximum': 65535 }, is_editable=True), Config(name='min_workers', value=2, scope='agent', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='max_workers', value=5, scope='agent', schema={ 'type': 'number', 'minimum': 1 }, is_editable=True), Config(name='heartbeat', value=30, scope='agent', schema={ 'type': 'number', 'minimum': 0 }, is_editable=True), Config(name='log_level', value='info', scope='agent', schema={ 'type': 'string', 'enum': LOG_LEVELS_ENUM }), Config( name='task_retries', value=60, scope='workflow', schema={ 'type': 'number', 'minimum': -1 }, ), Config( name='task_retry_interval', value=15, scope='workflow', schema={ 'type': 'number', 'minimum': 0 }, ), Config( name='subgraph_retries', value=0, scope='workflow', schema={ 'type': 'number', 'minimum': -1 }, ) ]) session.commit() op.create_table( 'certificates', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('name', sa.Text(), unique=True, nullable=False), sa.Column('value', sa.Text(), unique=False, nullable=False), sa.Column('updated_at', UTCDateTime(), nullable=True), sa.Column('_updater_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['_updater_id'], [u'users.id'], ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('certificates_pkey'))) op.create_table( 'managers', sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('hostname', sa.Text(), unique=True, nullable=False), sa.Column('private_ip', sa.Text(), unique=True, nullable=False), sa.Column('public_ip', sa.Text(), unique=True, nullable=False), sa.Column('version', sa.Text(), nullable=False), sa.Column('edition', sa.Text(), nullable=False), sa.Column('distribution', sa.Text(), nullable=False), sa.Column('distro_release', sa.Text(), nullable=False), sa.Column('fs_sync_node_id', sa.Text(), nullable=True), sa.Column('networks', JSONString(), nullable=True), sa.Column('_ca_cert_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_ca_cert_id'], [u'certificates.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id', name=op.f('managers_pkey'))) op.create_table( 'rabbitmq_brokers', sa.Column('name', sa.Text(), nullable=False), sa.Column('host', sa.Text(), nullable=False), sa.Column('management_host', sa.Text(), nullable=True), sa.Column('port', sa.Integer()), sa.Column('username', sa.Text(), nullable=True), sa.Column('password', sa.Text(), nullable=True), sa.Column('params', JSONString(), nullable=True), sa.Column('networks', JSONString(), nullable=True), sa.Column('_ca_cert_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_ca_cert_id'], [u'certificates.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('name', name=op.f('rabbitmq_brokers_pkey'))) op.add_column('deployment_updates', sa.Column('central_plugins_to_install', sa.PickleType())) op.add_column('deployment_updates', sa.Column('central_plugins_to_uninstall', sa.PickleType())) op.add_column( 'blueprints', sa.Column('is_hidden', sa.Boolean(), nullable=False, server_default='f')) _create_sites_table() _create_plugins_update_table()
def upgrade(): # server_default accepts string or SQL element only op.add_column( 'executions', sa.Column('is_dry_run', sa.Boolean(), nullable=False, server_default='f')) op.add_column('executions', sa.Column('scheduled_for', UTCDateTime(), nullable=True)) op.execute('COMMIT') # Add new execution status op.execute("alter type execution_status add value 'scheduled'") op.add_column( 'deployments', sa.Column('capabilities', sa.PickleType(comparator=lambda *a: False))) op.add_column('events', sa.Column('source_id', sa.Text(), nullable=True)) op.add_column('events', sa.Column('target_id', sa.Text(), nullable=True)) op.add_column('logs', sa.Column('source_id', sa.Text(), nullable=True)) op.add_column('logs', sa.Column('target_id', sa.Text(), nullable=True)) # Create the agents table visibility_enum = postgresql.ENUM(*VisibilityState.STATES, name='visibility_states', create_type=False) agent_states_enum = postgresql.ENUM(*AgentState.STATES, name='agent_states') op.create_table( 'agents', sa.Column('_storage_id', sa.Integer(), nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('name', sa.Text(), nullable=False), sa.Column('ip', sa.Text(), nullable=True), sa.Column('install_method', sa.Text(), nullable=False), sa.Column('system', sa.Text(), nullable=True), sa.Column('version', sa.Text(), nullable=False), sa.Column('state', agent_states_enum, nullable=False), sa.Column('visibility', visibility_enum, nullable=True), sa.Column('rabbitmq_username', sa.Text(), nullable=True), sa.Column('rabbitmq_password', sa.Text(), nullable=True), sa.Column('rabbitmq_exchange', sa.Text(), nullable=False), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('updated_at', UTCDateTime(), nullable=True), sa.Column('_node_instance_fk', sa.Integer(), nullable=False), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], [u'users.id'], ondelete='CASCADE'), sa.ForeignKeyConstraint(['_node_instance_fk'], [u'node_instances._storage_id'], ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], [u'tenants.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id')) op.create_index(op.f('agents__tenant_id_idx'), 'agents', ['_tenant_id'], unique=False) op.create_index(op.f('agents_created_at_idx'), 'agents', ['created_at'], unique=False) op.create_index(op.f('agents_id_idx'), 'agents', ['id'], unique=False) # Remove the deprecated column private_resource from all the # resources tables for table_name in resource_tables: op.drop_column(table_name, 'private_resource') op.create_table( 'tasks_graphs', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', visibility_enum, nullable=True), sa.Column('name', sa.Text(), nullable=True), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('_execution_fk', sa.Integer(), nullable=False), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], [u'users.id'], name=op.f('tasks_graphs__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_execution_fk'], [u'executions._storage_id'], name=op.f('tasks_graphs__execution_fk_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], [u'tenants.id'], name=op.f('tasks_graphs__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('tasks_graphs_pkey'))) op.create_index(op.f('tasks_graphs__tenant_id_idx'), 'tasks_graphs', ['_tenant_id'], unique=False) op.create_index(op.f('tasks_graphs_created_at_idx'), 'tasks_graphs', ['created_at'], unique=False) op.create_index(op.f('tasks_graphs_id_idx'), 'tasks_graphs', ['id'], unique=False) op.create_table( 'operations', sa.Column('_storage_id', sa.Integer(), autoincrement=True, nullable=False), sa.Column('id', sa.Text(), nullable=True), sa.Column('visibility', visibility_enum, nullable=True), sa.Column('name', sa.Text(), nullable=True), sa.Column('state', sa.Text(), nullable=False), sa.Column('created_at', UTCDateTime(), nullable=False), sa.Column('dependencies', postgresql.ARRAY(sa.Text()), nullable=True), sa.Column('type', sa.Text(), nullable=True), sa.Column('parameters', JSONString(), nullable=True), sa.Column('_tasks_graph_fk', sa.Integer(), nullable=False), sa.Column('_tenant_id', sa.Integer(), nullable=False), sa.Column('_creator_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['_creator_id'], [u'users.id'], name=op.f('operations__creator_id_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tasks_graph_fk'], [u'tasks_graphs._storage_id'], name=op.f('operations__tasks_graph_fk_fkey'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['_tenant_id'], [u'tenants.id'], name=op.f('operations__tenant_id_fkey'), ondelete='CASCADE'), sa.PrimaryKeyConstraint('_storage_id', name=op.f('operations_pkey'))) op.create_index(op.f('operations__tenant_id_idx'), 'operations', ['_tenant_id'], unique=False) op.create_index(op.f('operations_created_at_idx'), 'operations', ['created_at'], unique=False) op.create_index(op.f('operations_id_idx'), 'operations', ['id'], unique=False)