Apply black formatter to dcorch/db
This commit applies the Black format to the `dcorch/db` files to ensure that it adheres to the Black code style guidelines. Test Plan: PASS: Success in stx-distcloud-tox-black Story: 2011149 Task: 50445 Change-Id: I2560e5947fd1561e6b97b31dc2e735690813b340 Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
This commit is contained in:

committed by
Hugo Nicodemos

parent
fb82532bbf
commit
51bee5a605
@@ -28,7 +28,7 @@ from oslo_db import api
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
_BACKEND_MAPPING = {'sqlalchemy': 'dcorch.db.sqlalchemy.api'}
|
||||
_BACKEND_MAPPING = {"sqlalchemy": "dcorch.db.sqlalchemy.api"}
|
||||
|
||||
IMPL = api.DBAPI.from_config(CONF, backend_mapping=_BACKEND_MAPPING)
|
||||
|
||||
@@ -116,10 +116,10 @@ def db_version(engine):
|
||||
return IMPL.db_version(engine)
|
||||
|
||||
|
||||
def service_create(context, service_id, host=None, binary=None,
|
||||
topic=None):
|
||||
return IMPL.service_create(context, service_id=service_id, host=host,
|
||||
binary=binary, topic=topic)
|
||||
def service_create(context, service_id, host=None, binary=None, topic=None):
|
||||
return IMPL.service_create(
|
||||
context, service_id=service_id, host=host, binary=binary, topic=topic
|
||||
)
|
||||
|
||||
|
||||
def service_update(context, service_id, values=None):
|
||||
@@ -142,51 +142,60 @@ def subcloud_get(context, region_id):
|
||||
return IMPL.subcloud_get(context, region_id)
|
||||
|
||||
|
||||
def subcloud_get_all(context, region_name=None,
|
||||
management_state=None,
|
||||
availability_status=None,
|
||||
initial_sync_state=None):
|
||||
return IMPL.subcloud_get_all(context, region_name=region_name,
|
||||
management_state=management_state,
|
||||
availability_status=availability_status,
|
||||
initial_sync_state=initial_sync_state)
|
||||
|
||||
|
||||
def subcloud_capabilities_get_all(context, region_name=None,
|
||||
management_state=None,
|
||||
availability_status=None,
|
||||
initial_sync_state=None):
|
||||
return IMPL.subcloud_capabilities_get_all(
|
||||
context, region_name=region_name,
|
||||
def subcloud_get_all(
|
||||
context,
|
||||
region_name=None,
|
||||
management_state=None,
|
||||
availability_status=None,
|
||||
initial_sync_state=None,
|
||||
):
|
||||
return IMPL.subcloud_get_all(
|
||||
context,
|
||||
region_name=region_name,
|
||||
management_state=management_state,
|
||||
availability_status=availability_status,
|
||||
initial_sync_state=initial_sync_state)
|
||||
initial_sync_state=initial_sync_state,
|
||||
)
|
||||
|
||||
|
||||
def subcloud_sync_update_all_to_in_progress(context,
|
||||
management_state,
|
||||
availability_status,
|
||||
initial_sync_state,
|
||||
sync_requests):
|
||||
def subcloud_capabilities_get_all(
|
||||
context,
|
||||
region_name=None,
|
||||
management_state=None,
|
||||
availability_status=None,
|
||||
initial_sync_state=None,
|
||||
):
|
||||
return IMPL.subcloud_capabilities_get_all(
|
||||
context,
|
||||
region_name=region_name,
|
||||
management_state=management_state,
|
||||
availability_status=availability_status,
|
||||
initial_sync_state=initial_sync_state,
|
||||
)
|
||||
|
||||
|
||||
def subcloud_sync_update_all_to_in_progress(
|
||||
context, management_state, availability_status, initial_sync_state, sync_requests
|
||||
):
|
||||
return IMPL.subcloud_sync_update_all_to_in_progress(
|
||||
context,
|
||||
management_state=management_state,
|
||||
availability_status=availability_status,
|
||||
initial_sync_state=initial_sync_state,
|
||||
sync_requests=sync_requests)
|
||||
sync_requests=sync_requests,
|
||||
)
|
||||
|
||||
|
||||
def subcloud_audit_update_all_to_in_progress(context,
|
||||
management_state,
|
||||
availability_status,
|
||||
initial_sync_state,
|
||||
audit_interval):
|
||||
def subcloud_audit_update_all_to_in_progress(
|
||||
context, management_state, availability_status, initial_sync_state, audit_interval
|
||||
):
|
||||
return IMPL.subcloud_audit_update_all_to_in_progress(
|
||||
context,
|
||||
management_state=management_state,
|
||||
availability_status=availability_status,
|
||||
initial_sync_state=initial_sync_state,
|
||||
audit_interval=audit_interval)
|
||||
audit_interval=audit_interval,
|
||||
)
|
||||
|
||||
|
||||
def subcloud_create(context, region_name, values):
|
||||
@@ -201,21 +210,24 @@ def subcloud_delete(context, region_name):
|
||||
return IMPL.subcloud_delete(context, region_name)
|
||||
|
||||
|
||||
def subcloud_update_initial_state(context, subcloud_name,
|
||||
pre_initial_sync_state, initial_sync_state):
|
||||
def subcloud_update_initial_state(
|
||||
context, subcloud_name, pre_initial_sync_state, initial_sync_state
|
||||
):
|
||||
return IMPL.subcloud_update_initial_state(
|
||||
context, subcloud_name, pre_initial_sync_state, initial_sync_state)
|
||||
context, subcloud_name, pre_initial_sync_state, initial_sync_state
|
||||
)
|
||||
|
||||
|
||||
def subcloud_update_all_initial_state(context, pre_initial_sync_state,
|
||||
initial_sync_state):
|
||||
def subcloud_update_all_initial_state(
|
||||
context, pre_initial_sync_state, initial_sync_state
|
||||
):
|
||||
return IMPL.subcloud_update_all_initial_state(
|
||||
context, pre_initial_sync_state, initial_sync_state)
|
||||
context, pre_initial_sync_state, initial_sync_state
|
||||
)
|
||||
|
||||
|
||||
def resource_get_by_type_and_master_id(context, resource_type, master_id):
|
||||
return IMPL.resource_get_by_type_and_master_id(
|
||||
context, resource_type, master_id)
|
||||
return IMPL.resource_get_by_type_and_master_id(context, resource_type, master_id)
|
||||
|
||||
|
||||
def resource_get_by_id(context, id):
|
||||
@@ -254,10 +266,10 @@ def subcloud_resources_get_by_resource(context, resource_id):
|
||||
return IMPL.subcloud_resources_get_by_resource(context, resource_id)
|
||||
|
||||
|
||||
def subcloud_resource_get_by_resource_and_subcloud(
|
||||
context, resource_id, subcloud_id):
|
||||
def subcloud_resource_get_by_resource_and_subcloud(context, resource_id, subcloud_id):
|
||||
return IMPL.subcloud_resource_get_by_resource_and_subcloud(
|
||||
context, resource_id, subcloud_id)
|
||||
context, resource_id, subcloud_id
|
||||
)
|
||||
|
||||
|
||||
def subcloud_resources_get_all(context):
|
||||
@@ -265,13 +277,11 @@ def subcloud_resources_get_all(context):
|
||||
|
||||
|
||||
def subcloud_resource_create(context, subcloud_id, resource_id, values):
|
||||
return IMPL.subcloud_resource_create(context,
|
||||
subcloud_id, resource_id, values)
|
||||
return IMPL.subcloud_resource_create(context, subcloud_id, resource_id, values)
|
||||
|
||||
|
||||
def subcloud_resource_update(context, subcloud_resource_id, values):
|
||||
return IMPL.subcloud_resource_update(context,
|
||||
subcloud_resource_id, values)
|
||||
return IMPL.subcloud_resource_update(context, subcloud_resource_id, values)
|
||||
|
||||
|
||||
def subcloud_resource_delete(context, subcloud_resource_id):
|
||||
@@ -286,10 +296,10 @@ def orch_job_get_all(context, resource_id=None):
|
||||
return IMPL.orch_job_get_all(context, resource_id=resource_id)
|
||||
|
||||
|
||||
def orch_job_create(context, resource_id, endpoint_type,
|
||||
operation_type, values):
|
||||
return IMPL.orch_job_create(context, resource_id, endpoint_type,
|
||||
operation_type, values)
|
||||
def orch_job_create(context, resource_id, endpoint_type, operation_type, values):
|
||||
return IMPL.orch_job_create(
|
||||
context, resource_id, endpoint_type, operation_type, values
|
||||
)
|
||||
|
||||
|
||||
def orch_job_update(context, orch_job_id, values):
|
||||
@@ -312,11 +322,9 @@ def orch_request_get_all(context, orch_job_id=None):
|
||||
return IMPL.orch_request_get_all(context, orch_job_id=orch_job_id)
|
||||
|
||||
|
||||
def orch_request_get_by_attrs(context,
|
||||
endpoint_type,
|
||||
resource_type=None,
|
||||
target_region_name=None,
|
||||
states=None):
|
||||
def orch_request_get_by_attrs(
|
||||
context, endpoint_type, resource_type=None, target_region_name=None, states=None
|
||||
):
|
||||
"""Query OrchRequests by attributes.
|
||||
|
||||
:param context: authorization context
|
||||
@@ -331,12 +339,12 @@ def orch_request_get_by_attrs(context,
|
||||
endpoint_type,
|
||||
resource_type=resource_type,
|
||||
target_region_name=target_region_name,
|
||||
states=states)
|
||||
states=states,
|
||||
)
|
||||
|
||||
|
||||
def orch_request_create(context, orch_job_id, target_region_name, values):
|
||||
return IMPL.orch_request_create(context, orch_job_id,
|
||||
target_region_name, values)
|
||||
return IMPL.orch_request_create(context, orch_job_id, target_region_name, values)
|
||||
|
||||
|
||||
def orch_request_create_bulk(context, orch_requests):
|
||||
@@ -356,8 +364,7 @@ def orch_request_delete_by_subcloud(context, region_name):
|
||||
|
||||
|
||||
def orch_request_delete_previous_failed_requests(context, delete_timestamp):
|
||||
return IMPL.orch_request_delete_previous_failed_requests(
|
||||
context, delete_timestamp)
|
||||
return IMPL.orch_request_delete_previous_failed_requests(context, delete_timestamp)
|
||||
|
||||
|
||||
# Periodic cleanup
|
||||
@@ -370,18 +377,17 @@ def subcloud_sync_get(context, subcloud_name, endpoint_type):
|
||||
|
||||
|
||||
def subcloud_sync_update(context, subcloud_name, endpoint_type, values):
|
||||
return IMPL.subcloud_sync_update(context, subcloud_name, endpoint_type,
|
||||
values)
|
||||
return IMPL.subcloud_sync_update(context, subcloud_name, endpoint_type, values)
|
||||
|
||||
|
||||
def subcloud_sync_update_all(context, management_state, endpoint_type, values):
|
||||
return IMPL.subcloud_sync_update_all(context, management_state, endpoint_type,
|
||||
values)
|
||||
return IMPL.subcloud_sync_update_all(
|
||||
context, management_state, endpoint_type, values
|
||||
)
|
||||
|
||||
|
||||
def subcloud_sync_create(context, subcloud_name, endpoint_type, values):
|
||||
return IMPL.subcloud_sync_create(context, subcloud_name, endpoint_type,
|
||||
values)
|
||||
return IMPL.subcloud_sync_create(context, subcloud_name, endpoint_type, values)
|
||||
|
||||
|
||||
def subcloud_sync_delete(context, subcloud_name, endpoint_type):
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,10 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
from migrate.versioning.shell import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(debug='False')
|
||||
if __name__ == "__main__":
|
||||
main(debug="False")
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017-2018, 2024 Wind River Inc.
|
||||
# Copyright (c) 2017-2018, 2024 Wind River Inc.
|
||||
# All Rights Reserved.
|
||||
# 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
|
||||
@@ -32,9 +32,9 @@ from oslo_config import cfg
|
||||
import sqlalchemy
|
||||
|
||||
|
||||
QUOTA_CLASS_NAME_DEFAULT = 'default'
|
||||
QUOTA_CLASS_NAME_DEFAULT = "default"
|
||||
CONF = cfg.CONF
|
||||
CONF.import_group('dc_orch_global_limit', 'dcorch.common.config')
|
||||
CONF.import_group("dc_orch_global_limit", "dcorch.common.config")
|
||||
|
||||
|
||||
def upgrade(migrate_engine):
|
||||
@@ -42,55 +42,55 @@ def upgrade(migrate_engine):
|
||||
meta.bind = migrate_engine
|
||||
|
||||
quotas = sqlalchemy.Table(
|
||||
'quotas', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('project_id', sqlalchemy.String(36)),
|
||||
sqlalchemy.Column('resource', sqlalchemy.String(255), nullable=False),
|
||||
sqlalchemy.Column('hard_limit', sqlalchemy.Integer, nullable=False),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"quotas",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("project_id", sqlalchemy.String(36)),
|
||||
sqlalchemy.Column("resource", sqlalchemy.String(255), nullable=False),
|
||||
sqlalchemy.Column("hard_limit", sqlalchemy.Integer, nullable=False),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
quota_classes = sqlalchemy.Table(
|
||||
'quota_classes', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('class_name', sqlalchemy.String(length=255),
|
||||
index=True),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
sqlalchemy.Column('resource', sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column('hard_limit', sqlalchemy.Integer,
|
||||
nullable=True),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"quota_classes",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("class_name", sqlalchemy.String(length=255), index=True),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Column("resource", sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column("hard_limit", sqlalchemy.Integer, nullable=True),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
service = sqlalchemy.Table(
|
||||
'service', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.String(36),
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('host', sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column('binary', sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column('topic', sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column('disabled', sqlalchemy.Boolean, default=False),
|
||||
sqlalchemy.Column('disabled_reason', sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"service",
|
||||
meta,
|
||||
sqlalchemy.Column(
|
||||
"id", sqlalchemy.String(36), primary_key=True, nullable=False
|
||||
),
|
||||
sqlalchemy.Column("host", sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column("binary", sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column("topic", sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column("disabled", sqlalchemy.Boolean, default=False),
|
||||
sqlalchemy.Column("disabled_reason", sqlalchemy.String(length=255)),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
tables = (
|
||||
@@ -108,25 +108,33 @@ def upgrade(migrate_engine):
|
||||
meta.drop_all(tables=tables[:index])
|
||||
raise
|
||||
|
||||
# pylint: disable-next=no-value-for-parameter
|
||||
rows = quota_classes.count().where(
|
||||
quota_classes.c.class_name == 'default').execute().scalar()
|
||||
rows = (
|
||||
quota_classes.count() # pylint: disable=no-value-for-parameter
|
||||
.where(quota_classes.c.class_name == "default")
|
||||
.execute()
|
||||
.scalar()
|
||||
)
|
||||
|
||||
# Do not add entries if there are already 'default' entries. We don't
|
||||
# want to write over something the user added.
|
||||
# Do not add entries if there are already 'default' entries. We don't want to write
|
||||
# over something the user added.
|
||||
if not rows:
|
||||
created_at = datetime.datetime.now()
|
||||
|
||||
# Set default quota limits
|
||||
qci = quota_classes.insert() # pylint: disable=E1120
|
||||
qci = quota_classes.insert() # pylint: disable=no-value-for-parameter
|
||||
for resource, default in CONF.dc_orch_global_limit.items():
|
||||
qci.execute({'created_at': created_at,
|
||||
'class_name': QUOTA_CLASS_NAME_DEFAULT,
|
||||
'resource': resource[6:],
|
||||
'hard_limit': default,
|
||||
'deleted': 0})
|
||||
qci.execute(
|
||||
{
|
||||
"created_at": created_at,
|
||||
"class_name": QUOTA_CLASS_NAME_DEFAULT,
|
||||
"resource": resource[6:],
|
||||
"hard_limit": default,
|
||||
"deleted": 0,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def downgrade(migrate_engine):
|
||||
raise NotImplementedError('Database downgrade not supported - '
|
||||
'would drop all tables')
|
||||
raise NotImplementedError(
|
||||
"Database downgrade not supported - would drop all tables"
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017-2018 Wind River Inc.
|
||||
# Copyright (c) 2017-2018, 2024 Wind River Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
@@ -21,181 +21,165 @@ def upgrade(migrate_engine):
|
||||
meta.bind = migrate_engine
|
||||
|
||||
subcloud = sqlalchemy.Table(
|
||||
'subcloud', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('uuid', sqlalchemy.String(36), unique=True),
|
||||
|
||||
sqlalchemy.Column('region_name', sqlalchemy.String(255), unique=True),
|
||||
sqlalchemy.Column('software_version', sqlalchemy.String(255)),
|
||||
|
||||
sqlalchemy.Column('management_state', sqlalchemy.String(64)),
|
||||
sqlalchemy.Column('availability_status', sqlalchemy.String(64),
|
||||
default="offline"),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
|
||||
sqlalchemy.Index('subcloud_region_name_idx', 'region_name'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"subcloud",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("uuid", sqlalchemy.String(36), unique=True),
|
||||
sqlalchemy.Column("region_name", sqlalchemy.String(255), unique=True),
|
||||
sqlalchemy.Column("software_version", sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("management_state", sqlalchemy.String(64)),
|
||||
sqlalchemy.Column(
|
||||
"availability_status", sqlalchemy.String(64), default="offline"
|
||||
),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Index("subcloud_region_name_idx", "region_name"),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
subcloud_alarms = sqlalchemy.Table(
|
||||
'subcloud_alarms', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('uuid', sqlalchemy.String(36), unique=True),
|
||||
|
||||
sqlalchemy.Column('region_name', sqlalchemy.String(255), unique=True),
|
||||
sqlalchemy.Column('critical_alarms', sqlalchemy.Integer),
|
||||
sqlalchemy.Column('major_alarms', sqlalchemy.Integer),
|
||||
sqlalchemy.Column('minor_alarms', sqlalchemy.Integer),
|
||||
sqlalchemy.Column('warnings', sqlalchemy.Integer),
|
||||
sqlalchemy.Column('cloud_status', sqlalchemy.String(64)),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
|
||||
sqlalchemy.Index('subcloud_alarm_region_name_idx', 'region_name'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"subcloud_alarms",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("uuid", sqlalchemy.String(36), unique=True),
|
||||
sqlalchemy.Column("region_name", sqlalchemy.String(255), unique=True),
|
||||
sqlalchemy.Column("critical_alarms", sqlalchemy.Integer),
|
||||
sqlalchemy.Column("major_alarms", sqlalchemy.Integer),
|
||||
sqlalchemy.Column("minor_alarms", sqlalchemy.Integer),
|
||||
sqlalchemy.Column("warnings", sqlalchemy.Integer),
|
||||
sqlalchemy.Column("cloud_status", sqlalchemy.String(64)),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Index("subcloud_alarm_region_name_idx", "region_name"),
|
||||
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),
|
||||
|
||||
sqlalchemy.Column('resource_type', sqlalchemy.String(128)),
|
||||
sqlalchemy.Column('master_id', sqlalchemy.String(255)),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
|
||||
sqlalchemy.Index('resource_resource_type_idx', 'resource_type'),
|
||||
sqlalchemy.Index('resource_master_id_idx', 'master_id'),
|
||||
"resource",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("uuid", sqlalchemy.String(36), unique=True),
|
||||
sqlalchemy.Column("resource_type", sqlalchemy.String(128)),
|
||||
sqlalchemy.Column("master_id", sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Index("resource_resource_type_idx", "resource_type"),
|
||||
sqlalchemy.Index("resource_master_id_idx", "master_id"),
|
||||
sqlalchemy.UniqueConstraint(
|
||||
'resource_type', 'master_id', 'deleted',
|
||||
name='uniq_resource0resource_type0master_id0deleted'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"resource_type",
|
||||
"master_id",
|
||||
"deleted",
|
||||
name="uniq_resource0resource_type0master_id0deleted",
|
||||
),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
subcloud_resource = sqlalchemy.Table(
|
||||
'subcloud_resource', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('uuid', sqlalchemy.String(36), unique=True),
|
||||
|
||||
sqlalchemy.Column('subcloud_resource_id', sqlalchemy.String(255)),
|
||||
|
||||
"subcloud_resource",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("uuid", sqlalchemy.String(36), unique=True),
|
||||
sqlalchemy.Column("subcloud_resource_id", sqlalchemy.String(255)),
|
||||
# Could have also gotten this from subcloud.region_name
|
||||
sqlalchemy.Column('subcloud_name', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("subcloud_name", sqlalchemy.String(255)),
|
||||
# Is this resource managed or unmanaged
|
||||
sqlalchemy.Column('shared_config_state', sqlalchemy.String(64),
|
||||
default="managed"),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
|
||||
sqlalchemy.Column('resource_id', sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey('resource.id',
|
||||
ondelete='CASCADE')),
|
||||
sqlalchemy.Column(
|
||||
"shared_config_state", sqlalchemy.String(64), default="managed"
|
||||
),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column(
|
||||
"resource_id",
|
||||
sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey("resource.id", ondelete="CASCADE"),
|
||||
),
|
||||
# primary_key=True),
|
||||
sqlalchemy.Column('subcloud_id', sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey('subcloud.id',
|
||||
ondelete='CASCADE')),
|
||||
sqlalchemy.Column(
|
||||
"subcloud_id",
|
||||
sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey("subcloud.id", ondelete="CASCADE"),
|
||||
),
|
||||
# primary_key=True),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
|
||||
sqlalchemy.Index('subcloud_resource_resource_id_idx', 'resource_id'),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Index("subcloud_resource_resource_id_idx", "resource_id"),
|
||||
sqlalchemy.UniqueConstraint(
|
||||
'resource_id', 'subcloud_id',
|
||||
name='uniq_subcloud_resource0resource_id0subcloud_id'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"resource_id",
|
||||
"subcloud_id",
|
||||
name="uniq_subcloud_resource0resource_id0subcloud_id",
|
||||
),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
orch_job = sqlalchemy.Table(
|
||||
'orch_job', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('uuid', sqlalchemy.String(36), unique=True),
|
||||
|
||||
sqlalchemy.Column('user_id', sqlalchemy.String(128)),
|
||||
sqlalchemy.Column('project_id', sqlalchemy.String(128)),
|
||||
|
||||
"orch_job",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("uuid", sqlalchemy.String(36), unique=True),
|
||||
sqlalchemy.Column("user_id", sqlalchemy.String(128)),
|
||||
sqlalchemy.Column("project_id", sqlalchemy.String(128)),
|
||||
# filledin by x_orch_api
|
||||
sqlalchemy.Column('endpoint_type', sqlalchemy.String(255),
|
||||
nullable=False),
|
||||
sqlalchemy.Column("endpoint_type", sqlalchemy.String(255), nullable=False),
|
||||
# sqlalchemy.Column('resource_type', sqlalchemy.String(255),
|
||||
# nullable=False),
|
||||
|
||||
sqlalchemy.Column('source_resource_id', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("source_resource_id", sqlalchemy.String(255)),
|
||||
# http type: e.g. post/put/patch/delete
|
||||
sqlalchemy.Column('operation_type', sqlalchemy.String(255)),
|
||||
|
||||
sqlalchemy.Column('resource_id', sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey('resource.id')),
|
||||
|
||||
sqlalchemy.Column('resource_info', sqlalchemy.Text),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
sqlalchemy.Index('orch_job_endpoint_type_idx', 'endpoint_type'),
|
||||
sqlalchemy.Column("operation_type", sqlalchemy.String(255)),
|
||||
sqlalchemy.Column(
|
||||
"resource_id", sqlalchemy.Integer, sqlalchemy.ForeignKey("resource.id")
|
||||
),
|
||||
sqlalchemy.Column("resource_info", sqlalchemy.Text),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Index("orch_job_endpoint_type_idx", "endpoint_type"),
|
||||
# sqlalchemy.Index('orch_job_resource_type_idx', 'resource_type'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
orch_request = sqlalchemy.Table(
|
||||
'orch_request', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('uuid', sqlalchemy.String(36), unique=True),
|
||||
|
||||
sqlalchemy.Column('state', sqlalchemy.String(128)),
|
||||
sqlalchemy.Column('try_count', sqlalchemy.Integer, default=0),
|
||||
sqlalchemy.Column('api_version', sqlalchemy.String(128)),
|
||||
sqlalchemy.Column('target_region_name', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column('capabilities', sqlalchemy.Text),
|
||||
|
||||
sqlalchemy.Column('orch_job_id', sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey('orch_job.id')),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
|
||||
sqlalchemy.Index('orch_request_idx', 'state'),
|
||||
"orch_request",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column("uuid", sqlalchemy.String(36), unique=True),
|
||||
sqlalchemy.Column("state", sqlalchemy.String(128)),
|
||||
sqlalchemy.Column("try_count", sqlalchemy.Integer, default=0),
|
||||
sqlalchemy.Column("api_version", sqlalchemy.String(128)),
|
||||
sqlalchemy.Column("target_region_name", sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("capabilities", sqlalchemy.Text),
|
||||
sqlalchemy.Column(
|
||||
"orch_job_id", sqlalchemy.Integer, sqlalchemy.ForeignKey("orch_job.id")
|
||||
),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Index("orch_request_idx", "state"),
|
||||
sqlalchemy.UniqueConstraint(
|
||||
'target_region_name', 'orch_job_id', 'deleted',
|
||||
name='uniq_orchreq0target_region_name0orch_job_id0deleted'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"target_region_name",
|
||||
"orch_job_id",
|
||||
"deleted",
|
||||
name="uniq_orchreq0target_region_name0orch_job_id0deleted",
|
||||
),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
|
||||
tables = (
|
||||
@@ -204,7 +188,7 @@ def upgrade(migrate_engine):
|
||||
resource,
|
||||
subcloud_resource,
|
||||
orch_job,
|
||||
orch_request
|
||||
orch_request,
|
||||
)
|
||||
|
||||
for index, table in enumerate(tables):
|
||||
@@ -218,5 +202,6 @@ def upgrade(migrate_engine):
|
||||
|
||||
|
||||
def downgrade(migrate_engine):
|
||||
raise NotImplementedError('Database downgrade not supported - '
|
||||
'would drop all tables')
|
||||
raise NotImplementedError(
|
||||
"Database downgrade not supported - would drop all tables"
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2020 Wind River Inc.
|
||||
# Copyright (c) 2020, 2024 Wind River Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
@@ -20,14 +20,15 @@ def upgrade(migrate_engine):
|
||||
meta = sqlalchemy.MetaData()
|
||||
meta.bind = migrate_engine
|
||||
|
||||
subcloud = sqlalchemy.Table('subcloud', meta, autoload=True)
|
||||
subcloud = sqlalchemy.Table("subcloud", meta, autoload=True)
|
||||
|
||||
# Add the initial_sync_state attribute
|
||||
subcloud.create_column(sqlalchemy.Column('initial_sync_state',
|
||||
sqlalchemy.String(64),
|
||||
default="none"))
|
||||
subcloud.create_column(
|
||||
sqlalchemy.Column("initial_sync_state", sqlalchemy.String(64), default="none")
|
||||
)
|
||||
|
||||
|
||||
def downgrade(migrate_engine):
|
||||
raise NotImplementedError('Database downgrade not supported - '
|
||||
'would drop all tables')
|
||||
raise NotImplementedError(
|
||||
"Database downgrade not supported - would drop all tables"
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2020-2021 Wind River Systems, Inc.
|
||||
# Copyright (c) 2020-2021, 2024 Wind River Systems, Inc.
|
||||
# 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
|
||||
@@ -19,10 +19,11 @@ def upgrade(migrate_engine):
|
||||
meta = sqlalchemy.MetaData()
|
||||
meta.bind = migrate_engine
|
||||
|
||||
subcloud_alarms = sqlalchemy.Table('subcloud_alarms', meta, autoload=True)
|
||||
subcloud_alarms = sqlalchemy.Table("subcloud_alarms", meta, autoload=True)
|
||||
subcloud_alarms.drop()
|
||||
|
||||
|
||||
def downgrade(migrate_engine):
|
||||
raise NotImplementedError('Database downgrade not supported - '
|
||||
'would drop all tables')
|
||||
raise NotImplementedError(
|
||||
"Database downgrade not supported - would drop all tables"
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2020 Wind River Inc.
|
||||
# Copyright (c) 2020, 2024 Wind River Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
@@ -15,19 +15,20 @@
|
||||
|
||||
from sqlalchemy import MetaData, Table, Index
|
||||
|
||||
ORCH_JOB_ID_INDEX_NAME = 'orch_request_orch_job_id_idx'
|
||||
UPDATED_AT_STATE_INDEX_NAME = 'orch_request_updated_at_state_idx'
|
||||
DELETED_AT_INDEX_NAME = 'orch_request_deleted_at_idx'
|
||||
ORCH_JOB_ID_INDEX_NAME = "orch_request_orch_job_id_idx"
|
||||
UPDATED_AT_STATE_INDEX_NAME = "orch_request_updated_at_state_idx"
|
||||
DELETED_AT_INDEX_NAME = "orch_request_deleted_at_idx"
|
||||
|
||||
|
||||
def upgrade(migrate_engine):
|
||||
meta = MetaData()
|
||||
meta.bind = migrate_engine
|
||||
|
||||
orch_request = Table('orch_request', meta, autoload=True)
|
||||
orch_request = Table("orch_request", meta, autoload=True)
|
||||
|
||||
index = Index(UPDATED_AT_STATE_INDEX_NAME,
|
||||
orch_request.c.updated_at, orch_request.c.state)
|
||||
index = Index(
|
||||
UPDATED_AT_STATE_INDEX_NAME, orch_request.c.updated_at, orch_request.c.state
|
||||
)
|
||||
index.create(migrate_engine)
|
||||
|
||||
index = Index(DELETED_AT_INDEX_NAME, orch_request.c.deleted_at)
|
||||
@@ -38,5 +39,6 @@ def upgrade(migrate_engine):
|
||||
|
||||
|
||||
def downgrade(migrate_engine):
|
||||
raise NotImplementedError('Database downgrade not supported - '
|
||||
'would drop all tables')
|
||||
raise NotImplementedError(
|
||||
"Database downgrade not supported - would drop all tables"
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2020 Wind River Inc.
|
||||
# Copyright (c) 2020, 2024 Wind River Inc.
|
||||
# All Rights Reserved.
|
||||
# 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
|
||||
@@ -33,25 +33,26 @@ def upgrade(migrate_engine):
|
||||
meta.bind = migrate_engine
|
||||
|
||||
sync_lock = sqlalchemy.Table(
|
||||
'sync_lock', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('subcloud_name', sqlalchemy.String(length=255),
|
||||
nullable=False),
|
||||
sqlalchemy.Column('endpoint_type', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column('engine_id', sqlalchemy.String(length=36),
|
||||
nullable=False),
|
||||
sqlalchemy.Column('action', sqlalchemy.String(64)),
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
|
||||
"sync_lock",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column(
|
||||
"subcloud_name", sqlalchemy.String(length=255), nullable=False
|
||||
),
|
||||
sqlalchemy.Column("endpoint_type", sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("engine_id", sqlalchemy.String(length=36), nullable=False),
|
||||
sqlalchemy.Column("action", sqlalchemy.String(64)),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.UniqueConstraint(
|
||||
'subcloud_name', 'endpoint_type', 'action',
|
||||
name='uniq_sync_lock0subcloud_name0endpoint_type0action'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"subcloud_name",
|
||||
"endpoint_type",
|
||||
"action",
|
||||
name="uniq_sync_lock0subcloud_name0endpoint_type0action",
|
||||
),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
sync_lock.create()
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2020 Wind River Inc.
|
||||
# Copyright (c) 2020, 2024 Wind River Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
@@ -21,40 +21,41 @@ def upgrade(migrate_engine):
|
||||
meta = sqlalchemy.MetaData()
|
||||
meta.bind = migrate_engine
|
||||
|
||||
sqlalchemy.Table('subcloud', meta, autoload=True)
|
||||
sqlalchemy.Table("subcloud", meta, autoload=True)
|
||||
|
||||
subcloud_sync = sqlalchemy.Table(
|
||||
'subcloud_sync', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.Integer,
|
||||
primary_key=True, nullable=False),
|
||||
sqlalchemy.Column('subcloud_id', sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey('subcloud.id',
|
||||
ondelete='CASCADE')),
|
||||
sqlalchemy.Column('subcloud_name', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column('endpoint_type', sqlalchemy.String(255),
|
||||
default="none"),
|
||||
sqlalchemy.Column('sync_request', sqlalchemy.String(64),
|
||||
default="none"),
|
||||
sqlalchemy.Column('sync_status_reported', sqlalchemy.String(64),
|
||||
default="none"),
|
||||
sqlalchemy.Column('sync_status_report_time', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('audit_status', sqlalchemy.String(64),
|
||||
default="none"),
|
||||
sqlalchemy.Column('last_audit_time', sqlalchemy.DateTime),
|
||||
|
||||
sqlalchemy.Column('created_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('updated_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted_at', sqlalchemy.DateTime),
|
||||
sqlalchemy.Column('deleted', sqlalchemy.Integer),
|
||||
|
||||
sqlalchemy.Index('subcloud_sync_subcloud_name_endpoint_type_idx',
|
||||
'subcloud_name',
|
||||
'endpoint_type'),
|
||||
"subcloud_sync",
|
||||
meta,
|
||||
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True, nullable=False),
|
||||
sqlalchemy.Column(
|
||||
"subcloud_id",
|
||||
sqlalchemy.Integer,
|
||||
sqlalchemy.ForeignKey("subcloud.id", ondelete="CASCADE"),
|
||||
),
|
||||
sqlalchemy.Column("subcloud_name", sqlalchemy.String(255)),
|
||||
sqlalchemy.Column("endpoint_type", sqlalchemy.String(255), default="none"),
|
||||
sqlalchemy.Column("sync_request", sqlalchemy.String(64), default="none"),
|
||||
sqlalchemy.Column(
|
||||
"sync_status_reported", sqlalchemy.String(64), default="none"
|
||||
),
|
||||
sqlalchemy.Column("sync_status_report_time", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("audit_status", sqlalchemy.String(64), default="none"),
|
||||
sqlalchemy.Column("last_audit_time", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("created_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("updated_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted_at", sqlalchemy.DateTime),
|
||||
sqlalchemy.Column("deleted", sqlalchemy.Integer),
|
||||
sqlalchemy.Index(
|
||||
"subcloud_sync_subcloud_name_endpoint_type_idx",
|
||||
"subcloud_name",
|
||||
"endpoint_type",
|
||||
),
|
||||
sqlalchemy.UniqueConstraint(
|
||||
'subcloud_name', 'endpoint_type',
|
||||
name='uniq_subcloud_sync0subcloud_name0endpoint_type'),
|
||||
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8'
|
||||
"subcloud_name",
|
||||
"endpoint_type",
|
||||
name="uniq_subcloud_sync0subcloud_name0endpoint_type",
|
||||
),
|
||||
mysql_engine="InnoDB",
|
||||
mysql_charset="utf8",
|
||||
)
|
||||
subcloud_sync.create()
|
||||
|
@@ -11,9 +11,9 @@ def upgrade(migrate_engine):
|
||||
meta = sqlalchemy.MetaData()
|
||||
meta.bind = migrate_engine
|
||||
|
||||
sync_lock = sqlalchemy.Table('sync_lock', meta, autoload=True)
|
||||
sync_lock = sqlalchemy.Table("sync_lock", meta, autoload=True)
|
||||
sync_lock.drop()
|
||||
|
||||
|
||||
def downgrade(migrate_engine):
|
||||
raise NotImplementedError('Database downgrade not supported.')
|
||||
raise NotImplementedError("Database downgrade not supported.")
|
||||
|
@@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2015 Ericsson AB.
|
||||
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
@@ -22,19 +23,15 @@ INIT_VERSION = 0
|
||||
|
||||
|
||||
def db_sync(engine, version=None):
|
||||
path = os.path.join(os.path.abspath(os.path.dirname(__file__)),
|
||||
'migrate_repo')
|
||||
return oslo_migration.db_sync(engine, path, version,
|
||||
init_version=INIT_VERSION)
|
||||
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "migrate_repo")
|
||||
return oslo_migration.db_sync(engine, path, version, init_version=INIT_VERSION)
|
||||
|
||||
|
||||
def db_version(engine):
|
||||
path = os.path.join(os.path.abspath(os.path.dirname(__file__)),
|
||||
'migrate_repo')
|
||||
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "migrate_repo")
|
||||
return oslo_migration.db_version(engine, path, INIT_VERSION)
|
||||
|
||||
|
||||
def db_version_control(engine, version=None):
|
||||
path = os.path.join(os.path.abspath(os.path.dirname(__file__)),
|
||||
'migrate_repo')
|
||||
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "migrate_repo")
|
||||
return oslo_migration.db_version_control(engine, path, version)
|
||||
|
@@ -21,8 +21,7 @@ import json
|
||||
from oslo_db.sqlalchemy import models
|
||||
|
||||
from sqlalchemy.orm import session as orm_session
|
||||
from sqlalchemy import (Column, Integer, String, Boolean, Index, schema,
|
||||
DateTime)
|
||||
from sqlalchemy import Column, Integer, String, Boolean, Index, schema, DateTime
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy import ForeignKey, UniqueConstraint
|
||||
from sqlalchemy.types import TypeDecorator, VARCHAR
|
||||
@@ -56,12 +55,10 @@ class JSONEncodedDict(TypeDecorator):
|
||||
return value
|
||||
|
||||
|
||||
class OrchestratorBase(models.ModelBase,
|
||||
models.SoftDeleteMixin,
|
||||
models.TimestampMixin):
|
||||
class OrchestratorBase(models.ModelBase, models.SoftDeleteMixin, models.TimestampMixin):
|
||||
"""Base class for Orchestrator Models."""
|
||||
|
||||
__table_args__ = {'mysql_engine': 'InnoDB'}
|
||||
__table_args__ = {"mysql_engine": "InnoDB"}
|
||||
|
||||
def expire(self, session=None, attrs=None):
|
||||
if not session:
|
||||
@@ -99,12 +96,16 @@ class Quota(BASE, OrchestratorBase):
|
||||
Null, then the resource is unlimited.
|
||||
"""
|
||||
|
||||
__tablename__ = 'quotas'
|
||||
__tablename__ = "quotas"
|
||||
|
||||
__table_args__ = (
|
||||
schema.UniqueConstraint("project_id", "resource", "deleted",
|
||||
name="uniq_quotas0project_id0resource0deleted"
|
||||
),)
|
||||
schema.UniqueConstraint(
|
||||
"project_id",
|
||||
"resource",
|
||||
"deleted",
|
||||
name="uniq_quotas0project_id0resource0deleted",
|
||||
),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
|
||||
@@ -139,11 +140,11 @@ class QuotaClass(BASE, OrchestratorBase):
|
||||
|
||||
|
||||
class Service(BASE, OrchestratorBase):
|
||||
""""Orchestrator service engine registry"""
|
||||
"""Orchestrator service engine registry"""
|
||||
|
||||
__tablename__ = 'service'
|
||||
__tablename__ = "service"
|
||||
|
||||
id = Column('id', String(36), primary_key=True, nullable=False)
|
||||
id = Column("id", String(36), primary_key=True, nullable=False)
|
||||
|
||||
host = Column(String(255))
|
||||
|
||||
@@ -162,54 +163,59 @@ class Service(BASE, OrchestratorBase):
|
||||
class Subcloud(BASE, OrchestratorBase):
|
||||
"""Represents a Distributed Cloud subcloud"""
|
||||
|
||||
__tablename__ = 'subcloud'
|
||||
__table_args__ = (
|
||||
Index('subcloud_region_name_idx', 'region_name'),
|
||||
)
|
||||
__tablename__ = "subcloud"
|
||||
__table_args__ = (Index("subcloud_region_name_idx", "region_name"),)
|
||||
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
|
||||
uuid = Column(String(36), unique=True)
|
||||
region_name = Column('region_name', String(255), unique=True) # keystone
|
||||
software_version = Column('software_version', String(255))
|
||||
region_name = Column("region_name", String(255), unique=True) # keystone
|
||||
software_version = Column("software_version", String(255))
|
||||
|
||||
# dc manager updates the management and availability
|
||||
# default management_state is None; could be set to 'deleting'
|
||||
management_state = Column('management_state', String(64))
|
||||
availability_status = Column('availability_status', String(64),
|
||||
default=dccommon_consts.AVAILABILITY_OFFLINE)
|
||||
management_state = Column("management_state", String(64))
|
||||
availability_status = Column(
|
||||
"availability_status", String(64), default=dccommon_consts.AVAILABILITY_OFFLINE
|
||||
)
|
||||
capabilities = Column(JSONEncodedDict)
|
||||
initial_sync_state = Column('initial_sync_state', String(64),
|
||||
default=consts.INITIAL_SYNC_STATE_NONE)
|
||||
management_ip = Column('management_ip', String(64))
|
||||
initial_sync_state = Column(
|
||||
"initial_sync_state", String(64), default=consts.INITIAL_SYNC_STATE_NONE
|
||||
)
|
||||
management_ip = Column("management_ip", String(64))
|
||||
|
||||
|
||||
class Resource(BASE, OrchestratorBase):
|
||||
"""Represents a Distributed Cloud Orchestrator Resource"""
|
||||
|
||||
__tablename__ = 'resource'
|
||||
__tablename__ = "resource"
|
||||
__table_args__ = (
|
||||
Index('resource_resource_type_idx', 'resource_type'),
|
||||
Index('resource_master_id_idx', 'master_id'),
|
||||
Index("resource_resource_type_idx", "resource_type"),
|
||||
Index("resource_master_id_idx", "master_id"),
|
||||
UniqueConstraint(
|
||||
'resource_type', 'master_id', 'deleted',
|
||||
name='uniq_resource0resource_type0master_id0deleted'),
|
||||
"resource_type",
|
||||
"master_id",
|
||||
"deleted",
|
||||
name="uniq_resource0resource_type0master_id0deleted",
|
||||
),
|
||||
)
|
||||
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
|
||||
uuid = Column(String(36), unique=True)
|
||||
capabilities = Column(JSONEncodedDict)
|
||||
|
||||
resource_type = Column(String(128)) # e.g. quota_x,flavor_extra_spec,dns..
|
||||
master_id = Column(String(255)) # id/uuid of resource in central region
|
||||
master_id = Column(String(255)) # id/uuid of resource in central region
|
||||
|
||||
|
||||
class SubcloudResource(BASE, OrchestratorBase):
|
||||
"""Represents a Distributed Cloud Orchestrator Subcloud Resource"""
|
||||
|
||||
__tablename__ = 'subcloud_resource'
|
||||
__tablename__ = "subcloud_resource"
|
||||
__table_args__ = (
|
||||
Index('subcloud_resource_resource_id_idx', 'resource_id'),
|
||||
Index("subcloud_resource_resource_id_idx", "resource_id"),
|
||||
UniqueConstraint(
|
||||
'resource_id', 'subcloud_id',
|
||||
name='uniq_subcloud_resource0resource_id0subcloud_id'),
|
||||
"resource_id",
|
||||
"subcloud_id",
|
||||
name="uniq_subcloud_resource0resource_id0subcloud_id",
|
||||
),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
|
||||
@@ -218,18 +224,19 @@ class SubcloudResource(BASE, OrchestratorBase):
|
||||
# Could get subcloud_name (or target_region) from subcloud.region_name
|
||||
# subcloud_name = Column('subcloud_name', String(255))
|
||||
# Is this resource managed or unmanaged by orchestrator for some subcloud
|
||||
shared_config_state = Column('shared_config_state', String(255),
|
||||
default="managed")
|
||||
shared_config_state = Column("shared_config_state", String(255), default="managed")
|
||||
capabilities = Column(JSONEncodedDict)
|
||||
|
||||
subcloud_resource_id = Column(String(255)) # usually uuid, sometimes id
|
||||
# if either resource_id or subcloud_id is set as primary key, id does not
|
||||
# autoincrement
|
||||
resource_id = Column('resource_id', Integer,
|
||||
ForeignKey('resource.id', ondelete='CASCADE'))
|
||||
resource_id = Column(
|
||||
"resource_id", Integer, ForeignKey("resource.id", ondelete="CASCADE")
|
||||
)
|
||||
|
||||
subcloud_id = Column('subcloud_id', Integer,
|
||||
ForeignKey('subcloud.id', ondelete='CASCADE'))
|
||||
subcloud_id = Column(
|
||||
"subcloud_id", Integer, ForeignKey("subcloud.id", ondelete="CASCADE")
|
||||
)
|
||||
# todo: we shouldn't allow more than one row to have the same
|
||||
# resource_id/subcloud_id tuple
|
||||
|
||||
@@ -237,16 +244,14 @@ class SubcloudResource(BASE, OrchestratorBase):
|
||||
class OrchJob(BASE, OrchestratorBase):
|
||||
"""Orchestrator Job registry"""
|
||||
|
||||
__tablename__ = 'orch_job'
|
||||
__table_args__ = (
|
||||
Index('orch_job_endpoint_type_idx', 'endpoint_type'),
|
||||
)
|
||||
__tablename__ = "orch_job"
|
||||
__table_args__ = (Index("orch_job_endpoint_type_idx", "endpoint_type"),)
|
||||
|
||||
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
|
||||
uuid = Column(String(36), unique=True)
|
||||
|
||||
user_id = Column('user_id', String(128))
|
||||
project_id = Column('project_id', String(128))
|
||||
user_id = Column("user_id", String(128))
|
||||
project_id = Column("project_id", String(128))
|
||||
|
||||
# Filled in by x_orch_api e.g. platform, volumev2, compute, network
|
||||
endpoint_type = Column(String(255), nullable=False)
|
||||
@@ -256,8 +261,9 @@ class OrchJob(BASE, OrchestratorBase):
|
||||
operation_type = Column(String(255)) # http type: post/put/patch/delete
|
||||
capabilities = Column(JSONEncodedDict)
|
||||
|
||||
resource_id = Column('resource_id', Integer,
|
||||
ForeignKey('resource.id')) # nullable=False?
|
||||
resource_id = Column(
|
||||
"resource_id", Integer, ForeignKey("resource.id")
|
||||
) # nullable=False?
|
||||
|
||||
# resource_info cannot be derived from resource.master_values
|
||||
# Represents resource info for a specific API call. In case of update, it
|
||||
@@ -267,17 +273,20 @@ class OrchJob(BASE, OrchestratorBase):
|
||||
# formatted dict. The exact contents will vary depending on resource.
|
||||
resource_info = Column(String())
|
||||
|
||||
orchrequests = relationship('OrchRequest', backref='orch_job')
|
||||
orchrequests = relationship("OrchRequest", backref="orch_job")
|
||||
# orch_status can be derived from the underlying OrchRequests state
|
||||
|
||||
|
||||
class OrchRequest(BASE, OrchestratorBase):
|
||||
__tablename__ = 'orch_request'
|
||||
__tablename__ = "orch_request"
|
||||
__table_args__ = (
|
||||
Index('orch_request_state_idx', 'state'),
|
||||
Index("orch_request_state_idx", "state"),
|
||||
UniqueConstraint(
|
||||
'target_region_name', 'orch_job_id', 'deleted',
|
||||
name='uniq_orchreq0target_region_name0orch_job_id0deleted'),
|
||||
"target_region_name",
|
||||
"orch_job_id",
|
||||
"deleted",
|
||||
name="uniq_orchreq0target_region_name0orch_job_id0deleted",
|
||||
),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
|
||||
@@ -292,20 +301,20 @@ class OrchRequest(BASE, OrchestratorBase):
|
||||
target_region_name = Column(String(255))
|
||||
capabilities = Column(JSONEncodedDict)
|
||||
|
||||
orch_job_id = Column('orch_job_id', Integer,
|
||||
ForeignKey('orch_job.id'), primary_key=True)
|
||||
orch_job_id = Column(
|
||||
"orch_job_id", Integer, ForeignKey("orch_job.id"), primary_key=True
|
||||
)
|
||||
|
||||
|
||||
class SubcloudSync(BASE, OrchestratorBase):
|
||||
"""Store subcloud sync information to allow coordination of dcorch workload
|
||||
"""Store subcloud sync information to allow coordination of dcorch workload"""
|
||||
|
||||
"""
|
||||
|
||||
__tablename__ = 'subcloud_sync'
|
||||
__tablename__ = "subcloud_sync"
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
subcloud_id = Column('subcloud_id', Integer,
|
||||
ForeignKey('subcloud.id', ondelete='CASCADE'))
|
||||
subcloud_id = Column(
|
||||
"subcloud_id", Integer, ForeignKey("subcloud.id", ondelete="CASCADE")
|
||||
)
|
||||
subcloud_name = Column(String(255), nullable=False)
|
||||
endpoint_type = Column(String(255), default="none")
|
||||
sync_request = Column(String(64), default=consts.SYNC_STATUS_NONE)
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# Copyright (c) 2015 Ericsson AB.
|
||||
# Copyright (c) 2020-2022 Wind River Systems, Inc.
|
||||
# Copyright (c) 2020-2022, 2024 Wind River Systems, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
@@ -46,8 +46,8 @@ class LazyPluggable(object):
|
||||
return getattr(backend, key)
|
||||
|
||||
|
||||
IMPL = LazyPluggable('backend', sqlalchemy='dcorch.db.sqlalchemy.api')
|
||||
IMPL = LazyPluggable("backend", sqlalchemy="dcorch.db.sqlalchemy.api")
|
||||
|
||||
|
||||
def purge_deleted(age, granularity='days'):
|
||||
def purge_deleted(age, granularity="days"):
|
||||
IMPL.purge_deleted(age, granularity)
|
||||
|
@@ -27,6 +27,7 @@ formatted_modules = [
|
||||
"dcdbsync",
|
||||
"dcorch/api",
|
||||
"dcorch/common",
|
||||
"dcorch/db",
|
||||
]
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user