X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fadapter%2Form.py;h=7aafde5468768ee7e8bac65ded422b6b3bde96da;hb=5e02e76308e1677fb106572b885a366eb6c0fbec;hp=20285380795495f09884b40e4bca5ee219d4c1c0;hpb=81e3575a77366f30c2049f98c48a3087db0ea992;p=pti%2Fo2.git diff --git a/o2ims/adapter/orm.py b/o2ims/adapter/orm.py index 2028538..7aafde5 100644 --- a/o2ims/adapter/orm.py +++ b/o2ims/adapter/orm.py @@ -12,81 +12,139 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging - from sqlalchemy import ( Table, MetaData, Column, - # Integer, + Integer, String, # Date, + DateTime, ForeignKey, + # engine, # event, ) from sqlalchemy.orm import mapper, relationship -# from sqlalchemy.sql.expression import true +# from sqlalchemy.sql.sqltypes import Integer from o2ims.domain import ocloud as ocloudModel -logger = logging.getLogger(__name__) +from o2common.helper import o2logging +logger = o2logging.get_logger(__name__) metadata = MetaData() ocloud = Table( "ocloud", metadata, + Column("updatetime", DateTime), + Column("createtime", DateTime), + Column("hash", String(255)), + Column("version_number", Integer), + Column("oCloudId", String(255), primary_key=True), + Column("globalcloudId", String(255)), Column("name", String(255)), Column("description", String(255)), Column("infrastructureManagementServiceEndpoint", String(255)) + # Column("extensions", String(1024)) ) -resourcepool = Table( - "resourcepool", +resourcetype = Table( + "resourcetype", metadata, - Column("resourcePoolId", String(255), primary_key=True), - Column("name", String(255)), - Column("location", String(255)), + Column("updatetime", DateTime), + Column("createtime", DateTime), + Column("hash", String(255)), + + Column("resourceTypeId", String(255), primary_key=True), Column("oCloudId", ForeignKey("ocloud.oCloudId")), + Column("name", String(255)), + Column("vendor", String(255)), + Column("model", String(255)), + Column("version", String(255)), + Column("description", String(255)), # Column("extensions", String(1024)) ) -resourcetype = Table( - "resourcetype", +resourcepool = Table( + "resourcepool", metadata, - Column("resourceTypeId", String(255), primary_key=True), + Column("updatetime", DateTime), + Column("createtime", DateTime), + Column("hash", String(255)), + Column("version_number", Integer), + + Column("resourcePoolId", String(255), primary_key=True), Column("oCloudId", ForeignKey("ocloud.oCloudId")), + Column("globalLocationId", String(255)), Column("name", String(255)), + Column("location", String(255)), + Column("description", String(255)), + # Column("resources", String(1024)) + # Column("extensions", String(1024)) ) resource = Table( "resource", metadata, + Column("updatetime", DateTime), + Column("createtime", DateTime), + Column("hash", String(255)), + Column("version_number", Integer), + Column("resourceId", String(255), primary_key=True), - Column("parentId", String(255)), Column("resourceTypeId", ForeignKey("resourcetype.resourceTypeId")), Column("resourcePoolId", ForeignKey("resourcepool.resourcePoolId")), - Column("oCloudId", ForeignKey("ocloud.oCloudId")) + # Column("globalAssetId", String(255)), + # Column("oCloudId", ForeignKey("ocloud.oCloudId")), + Column("parentId", String(255)), + Column("description", String(255)), + # Column("elements", String(255)) + # Column("extensions", String(1024)) ) deploymentmanager = Table( "deploymentmanager", metadata, + Column("updatetime", DateTime), + Column("createtime", DateTime), + Column("hash", String(255)), + Column("version_number", Integer), + Column("deploymentManagerId", String(255), primary_key=True), + Column("oCloudId", ForeignKey("ocloud.oCloudId")), Column("name", String(255)), + Column("description", String(255)), Column("deploymentManagementServiceEndpoint", String(255)), - Column("oCloudId", ForeignKey("ocloud.oCloudId")) + Column("supportedLocations", String(255)), + Column("capabilities", String(255)), + Column("capacity", String(255)), + # Column("extensions", String(1024)) ) +subscription = Table( + "subscription", + metadata, + Column("updatetime", DateTime), + Column("createtime", DateTime), + Column("hash", String(255)), + Column("version_number", Integer), + + Column("subscriptionId", String(255), primary_key=True), + Column("callback", String(255)), + Column("consumerSubscriptionId", String(255)), + Column("filter", String(255)), +) -def start_o2ims_mappers(): + +def start_o2ims_mappers(engine=None): logger.info("Starting O2 IMS mappers") + dm_mapper = mapper(ocloudModel.DeploymentManager, deploymentmanager) resourcepool_mapper = mapper(ocloudModel.ResourcePool, resourcepool) resourcetype_mapper = mapper(ocloudModel.ResourceType, resourcetype) - # resource_mapper = mapper(ocloudModel.Resource, resource) mapper( ocloudModel.Ocloud, ocloud, @@ -95,3 +153,15 @@ def start_o2ims_mappers(): "resourceTypes": relationship(resourcetype_mapper), "resourcePools": relationship(resourcepool_mapper) }) + mapper( + ocloudModel.Resource, + resource, + properties={ + "resourceTypes": relationship(resourcetype_mapper), + "resourcePools": relationship(resourcepool_mapper) + } + ) + mapper(ocloudModel.Subscription, subscription) + + if engine is not None: + metadata.create_all(engine)