From 516ed2aeb97e09044fb79ca1b6d26e81e2f64edd Mon Sep 17 00:00:00 2001 From: "Zhang Rong(Jon)" Date: Wed, 23 Nov 2022 14:29:00 +0800 Subject: [PATCH] Fix INF-378 inventory subscription filter not take effect as expected Issue-ID: INF-378 Signed-off-by: Zhang Rong(Jon) Change-Id: Iadae8f197b5ee8163ab4a7e26f54accce7410282 --- o2common/views/view.py | 3 ++- o2ims/adapter/orm.py | 1 - o2ims/domain/ocloud.py | 3 +-- o2ims/service/auditor/agg_compute_handler.py | 3 +-- o2ims/service/auditor/agg_network_handler.py | 3 +-- o2ims/service/auditor/agg_storage_handler.py | 3 +-- o2ims/service/auditor/agg_undefined_handler.py | 3 +-- o2ims/service/auditor/pserver_acc_handler.py | 6 +++--- o2ims/service/auditor/pserver_cpu_handler.py | 6 +++--- o2ims/service/auditor/pserver_dev_handler.py | 3 +-- o2ims/service/auditor/pserver_eth_handler.py | 6 +++--- o2ims/service/auditor/pserver_handler.py | 4 ++-- o2ims/service/auditor/pserver_if_handler.py | 6 +++--- o2ims/service/auditor/pserver_mem_handler.py | 6 +++--- o2ims/service/auditor/pserver_port_handler.py | 3 +-- 15 files changed, 26 insertions(+), 33 deletions(-) diff --git a/o2common/views/view.py b/o2common/views/view.py index 558384a..af02e78 100644 --- a/o2common/views/view.py +++ b/o2common/views/view.py @@ -89,6 +89,7 @@ def check_filter_attribute(obj: ColumnElement, filter_str: str): else: pass filter_key = transfer_filter_attr_name_in_special(obj, filter_key) - if not hasattr(obj, filter_key): + if not hasattr(obj, filter_key) or \ + filter_key in ['hash', 'updatetime', 'createtime', 'events']: raise BadRequestException( 'Filter attrName {} is invalid'.format(filter_key)) diff --git a/o2ims/adapter/orm.py b/o2ims/adapter/orm.py index 762004f..3c0440b 100644 --- a/o2ims/adapter/orm.py +++ b/o2ims/adapter/orm.py @@ -114,7 +114,6 @@ resource = Table( Column("resourceId", String(255), primary_key=True), Column("resourceTypeId", ForeignKey("resourceType.resourceTypeId")), Column("resourcePoolId", ForeignKey("resourcePool.resourcePoolId")), - Column("name", String(255)), Column("globalAssetId", String(255)), Column("parentId", String(255)), Column("description", String()), diff --git a/o2ims/domain/ocloud.py b/o2ims/domain/ocloud.py index a7ca18e..eb4f34b 100644 --- a/o2ims/domain/ocloud.py +++ b/o2ims/domain/ocloud.py @@ -113,7 +113,7 @@ class ResourceType(AgRoot, Serializer): 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 = '', extensions: str = '') -> None: super().__init__() @@ -125,7 +125,6 @@ class Resource(AgRoot, Serializer): self.elements = elements self.extensions = extensions - self.name = name self.parentId = parentId self.children = [] diff --git a/o2ims/service/auditor/agg_compute_handler.py b/o2ims/service/auditor/agg_compute_handler.py index 7bb8b15..6c32986 100644 --- a/o2ims/service/auditor/agg_compute_handler.py +++ b/o2ims/service/auditor/agg_compute_handler.py @@ -107,8 +107,7 @@ def create_by(stxobj: StxGenericModel, parentid: str, resourcetype_id: str) \ gAssetId = '' # TODO: global ID description = "%s : A Compute Aggregate server resource" % stxobj.name resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description) + parent_id, gAssetId, stxobj.content, description) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/agg_network_handler.py b/o2ims/service/auditor/agg_network_handler.py index 5a5b02e..5feb700 100644 --- a/o2ims/service/auditor/agg_network_handler.py +++ b/o2ims/service/auditor/agg_network_handler.py @@ -107,8 +107,7 @@ def create_by(stxobj: StxGenericModel, parentid: str, resourcetype_id: str) \ gAssetId = '' # TODO: global ID description = "%s : A Network Aggregate server resource" % stxobj.name resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description) + parent_id, gAssetId, stxobj.content, description) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/agg_storage_handler.py b/o2ims/service/auditor/agg_storage_handler.py index 6fddf19..3a3d5e4 100644 --- a/o2ims/service/auditor/agg_storage_handler.py +++ b/o2ims/service/auditor/agg_storage_handler.py @@ -107,8 +107,7 @@ def create_by(stxobj: StxGenericModel, parentid: str, resourcetype_id: str) \ gAssetId = '' # TODO: global ID description = "%s : A Storage Aggregate server resource" % stxobj.name resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description) + parent_id, gAssetId, stxobj.content, description) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/agg_undefined_handler.py b/o2ims/service/auditor/agg_undefined_handler.py index 3cee222..d8ab956 100644 --- a/o2ims/service/auditor/agg_undefined_handler.py +++ b/o2ims/service/auditor/agg_undefined_handler.py @@ -107,8 +107,7 @@ def create_by(stxobj: StxGenericModel, parentid: str, resourcetype_id: str) \ gAssetId = '' # TODO: global ID description = "%s : An Undefined Aggregate server resource" % stxobj.name resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description) + parent_id, gAssetId, stxobj.content, description) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_acc_handler.py b/o2ims/service/auditor/pserver_acc_handler.py index 6c3ed51..5c9771b 100644 --- a/o2ims/service/auditor/pserver_acc_handler.py +++ b/o2ims/service/auditor/pserver_acc_handler.py @@ -112,14 +112,14 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ "name", "pdevice", "pciaddr", "pvendor_id", "pvendor", "pclass_id", "pclass", "psvendor", "psdevice", "sriov_totalvfs", "sriov_numvfs", "numa_node" - ] + ] filtered = dict( filter(lambda item: item[0] in selected_keys, content.items())) extensions = json.dumps(filtered) description = ";".join([f"{k}:{v}" for k, v in filtered.items()]) resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description, extensions) + parent_id, gAssetId, stxobj.content, description, + extensions) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_cpu_handler.py b/o2ims/service/auditor/pserver_cpu_handler.py index 111259c..5ad64ca 100644 --- a/o2ims/service/auditor/pserver_cpu_handler.py +++ b/o2ims/service/auditor/pserver_cpu_handler.py @@ -110,14 +110,14 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ selected_keys = [ "cpu", "core", "thread", "allocated_function", "numa_node", "cpu_model", "cpu_family" - ] + ] filtered = dict( filter(lambda item: item[0] in selected_keys, content.items())) extensions = json.dumps(filtered) description = ";".join([f"{k}:{v}" for k, v in filtered.items()]) resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description, extensions) + parent_id, gAssetId, stxobj.content, description, + extensions) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_dev_handler.py b/o2ims/service/auditor/pserver_dev_handler.py index 7303732..5b8ede8 100644 --- a/o2ims/service/auditor/pserver_dev_handler.py +++ b/o2ims/service/auditor/pserver_dev_handler.py @@ -108,8 +108,7 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ description = "%s : A device resource of the physical server"\ % stxobj.name resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description) + parent_id, gAssetId, stxobj.content, description) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_eth_handler.py b/o2ims/service/auditor/pserver_eth_handler.py index 517bb32..6d3a5ff 100644 --- a/o2ims/service/auditor/pserver_eth_handler.py +++ b/o2ims/service/auditor/pserver_eth_handler.py @@ -114,14 +114,14 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ "pciaddr", "pclass", "psvendor", "psdevice", "sriov_totalvfs", "sriov_numvfs", "dpdksupport", "sriov_vf_driver", "sriov_vf_pdevice_id", "interface_uuid" - ] + ] filtered = dict( filter(lambda item: item[0] in selected_keys, content.items())) extensions = json.dumps(filtered) description = ";".join([f"{k}:{v}" for k, v in filtered.items()]) resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description, extensions) + parent_id, gAssetId, stxobj.content, description, + extensions) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_handler.py b/o2ims/service/auditor/pserver_handler.py index 7fa2b12..1ab1189 100644 --- a/o2ims/service/auditor/pserver_handler.py +++ b/o2ims/service/auditor/pserver_handler.py @@ -122,8 +122,8 @@ def create_by(stxobj: StxGenericModel, parentid: str, resourcetype_id: str) \ extensions = json.dumps(filtered) description = ";".join([f"{k}:{v}" for k, v in filtered.items()]) resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description, extensions) + parent_id, gAssetId, stxobj.content, description, + extensions) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_if_handler.py b/o2ims/service/auditor/pserver_if_handler.py index ef5a385..fa0b9d4 100644 --- a/o2ims/service/auditor/pserver_if_handler.py +++ b/o2ims/service/auditor/pserver_if_handler.py @@ -112,14 +112,14 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ "ifname", "iftype", "imac", "vlan_id", "imtu", "ifclass", "uses", "max_tx_rate", "sriov_vf_driver", "sriov_numvfs", "ptp_role" - ] + ] filtered = dict( filter(lambda item: item[0] in selected_keys, content.items())) extensions = json.dumps(filtered) description = ";".join([f"{k}:{v}" for k, v in filtered.items()]) resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description, extensions) + parent_id, gAssetId, stxobj.content, description, + extensions) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_mem_handler.py b/o2ims/service/auditor/pserver_mem_handler.py index 806d8d7..a6fb500 100644 --- a/o2ims/service/auditor/pserver_mem_handler.py +++ b/o2ims/service/auditor/pserver_mem_handler.py @@ -115,14 +115,14 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ "vm_hugepages_nr_4K", "vm_hugepages_nr_2M", "vm_hugepages_possible_2M", "vm_hugepages_avail_2M", "platform_reserved_mib", "numa_node" - ] + ] filtered = dict( filter(lambda item: item[0] in selected_keys, content.items())) extensions = json.dumps(filtered) description = ";".join([f"{k}:{v}" for k, v in filtered.items()]) resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description, extensions) + parent_id, gAssetId, stxobj.content, description, + extensions) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash diff --git a/o2ims/service/auditor/pserver_port_handler.py b/o2ims/service/auditor/pserver_port_handler.py index 045b8f5..30c0ddd 100644 --- a/o2ims/service/auditor/pserver_port_handler.py +++ b/o2ims/service/auditor/pserver_port_handler.py @@ -108,8 +108,7 @@ def create_by(stxobj: StxGenericModel, parent: Resource, resourcetype_id: str)\ description = "%s : A port resource of the interface"\ % stxobj.name resource = Resource(stxobj.id, resourcetype_id, resourcepool_id, - stxobj.name, parent_id, gAssetId, stxobj.content, - description) + parent_id, gAssetId, stxobj.content, description) resource.createtime = stxobj.createtime resource.updatetime = stxobj.updatetime resource.hash = stxobj.hash -- 2.16.6