X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fdomain%2Focloud.py;h=ee3da89e1574d5a07978b10adf2b2dded9be9974;hb=2131733328897d84186d8f8712441b3cd16008a3;hp=a2047afe35a69d9606d2d7dfd7394f6fae0b49bf;hpb=c34ab47848138150a1456be2fa9f82d7260e37b8;p=pti%2Fo2.git diff --git a/o2ims/domain/ocloud.py b/o2ims/domain/ocloud.py index a2047af..ee3da89 100644 --- a/o2ims/domain/ocloud.py +++ b/o2ims/domain/ocloud.py @@ -15,16 +15,16 @@ from __future__ import annotations import json +from o2common.config import config from o2common.domain.base import AgRoot, Serializer -from o2common.config import conf as CONF # from dataclasses import dataclass # from datetime import date # from typing import Optional, List, Set from .resource_type import ResourceKindEnum, ResourceTypeEnum -# from uuid import UUID +from .alarm_obj import AlarmDictionary -DeploymentManagerProfileDefault = 'default' +DeploymentManagerProfileDefault = 'native_k8sapi' DeploymentManagerProfileSOL018 = 'sol018' DeploymentManagerProfileSOL018HelmCLI = 'sol018_helmcli' @@ -55,10 +55,16 @@ class DeploymentManager(AgRoot, Serializer): d['profile'] = json.loads(d['profile']) d['profileSupportList'] = [ DeploymentManagerProfileDefault, - DeploymentManagerProfileSOL018, - DeploymentManagerProfileSOL018HelmCLI, ] - + profiles = config.get_dms_support_profiles() + for profile in profiles: + if profile == DeploymentManagerProfileSOL018: + d['profileSupportList'].append(profile) + elif profile == DeploymentManagerProfileSOL018HelmCLI: + d['profileSupportList'].append(profile) + + if 'capabilities' in d and d['capabilities'] != '': + d['capabilities'] = json.loads(d['capabilities']) return d @@ -81,7 +87,7 @@ class ResourcePool(AgRoot, Serializer): class ResourceType(AgRoot, Serializer): def __init__(self, typeid: str, name: str, typeEnum: ResourceTypeEnum, - ocloudid: str, vendor: str = '', model: str = '', + vendor: str = '', model: str = '', version: str = '', description: str = '') -> None: super().__init__() @@ -92,7 +98,7 @@ class ResourceType(AgRoot, Serializer): self.vendor = vendor self.model = model self.version = version - self.alarmDictionary = {} + self.alarmDictionary = None self.resourceKind = ResourceKindEnum.UNDEFINED self.resourceClass = ResourceTypeEnum.UNDEFINED self.extensions = [] @@ -101,17 +107,17 @@ class ResourceType(AgRoot, Serializer): def serialize(self): d = Serializer.serialize(self) - - d["alarmDictionary"] = CONF.alarm_dictionaries.get( - d['name']).serialize() + if 'alarmDictionary' in d and \ + type(d['alarmDictionary']) is AlarmDictionary: + d['alarmDictionary'] = d['alarmDictionary'].serialize() return d class Resource(AgRoot, Serializer): def __init__(self, resourceId: str, resourceTypeId: str, - resourcePoolId: str, name: str, parentId: str = '', + resourcePoolId: str, parentId: str = '', gAssetId: str = '', elements: str = '', - description: str = '') -> None: + description: str = '', extensions: str = '') -> None: super().__init__() self.resourceId = resourceId self.description = description @@ -119,9 +125,8 @@ class Resource(AgRoot, Serializer): self.globalAssetId = gAssetId self.resourcePoolId = resourcePoolId self.elements = elements - self.extensions = [] + self.extensions = extensions - self.name = name self.parentId = parentId self.children = []