X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Fwatcher%2Fresource_watcher.py;h=d798c299d1c9a608c418c02cea07d4754e82e8a3;hb=576ad21504bb3e50546b349c63ebec7bd0c805ab;hp=86416e3bd8d8c93050b0aa81f56f9918ae58bebb;hpb=84867b76a65efc4e9add52c86eae7e451c4a038d;p=pti%2Fo2.git diff --git a/o2ims/service/watcher/resource_watcher.py b/o2ims/service/watcher/resource_watcher.py index 86416e3..d798c29 100644 --- a/o2ims/service/watcher/resource_watcher.py +++ b/o2ims/service/watcher/resource_watcher.py @@ -1,38 +1,45 @@ -# Copyright (C) 2021 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 -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from o2ims.domain.stx_object import StxGenericModel -from o2common.service.client.base_client import BaseClient -# from o2common.service.unit_of_work import AbstractUnitOfWork -from o2common.service.watcher.base import BaseWatcher -from o2ims.domain import commands -from o2common.service.messagebus import MessageBus - -from o2common.helper import o2logging -logger = o2logging.get_logger(__name__) - - -class ResourceWatcher(BaseWatcher): - def __init__(self, client: BaseClient, - bus: MessageBus) -> None: - super().__init__(client, bus) - - def _targetname(self): - return "resource" - - def _probe(self, parent: StxGenericModel): - parentid = parent.id - newmodels = self._client.get(parentid=parentid) - return [commands.UpdateResource(data=m, parentid=parentid) - for m in newmodels] +# Copyright (C) 2021 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from o2ims.domain.stx_object import StxGenericModel +from o2common.service.client.base_client import BaseClient +# from o2common.service.unit_of_work import AbstractUnitOfWork +from o2common.service.watcher.base import BaseWatcher +from o2ims.domain import commands +from o2common.domain import tags +from o2common.service.messagebus import MessageBus + +from o2common.helper import o2logging +logger = o2logging.get_logger(__name__) + + +class ResourceWatcher(BaseWatcher): + def __init__(self, client: BaseClient, + bus: MessageBus) -> None: + super().__init__(client, bus) + self._tags = tags.Tag() + self.poolid = None + + def _targetname(self): + return "resource" + + def _probe(self, parent: StxGenericModel, tags: object = None): + parentid = parent.id + newmodels = self._client.get(parentid=parentid) + return [commands.UpdateResource(data=m, parentid=parentid) + for m in newmodels] + + def _set_respool_client(self): + self.poolid = self._tags.pool + self._client.set_pool_driver(self.poolid)