X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=common%2Fpython%2Frift%2Fmano%2Fdts%2Fsubscriber%2Fns_subscriber.py;fp=common%2Fpython%2Frift%2Fmano%2Fdts%2Fsubscriber%2Fns_subscriber.py;h=1078e85326d6ef927f89b126d4cd9e89ccc41387;hb=6f07e6f33f751ab4ffe624f6037f887b243bece2;hp=0000000000000000000000000000000000000000;hpb=72a563886272088feb7cb52e4aafbe6d2c580ff9;p=osm%2FSO.git diff --git a/common/python/rift/mano/dts/subscriber/ns_subscriber.py b/common/python/rift/mano/dts/subscriber/ns_subscriber.py new file mode 100644 index 00000000..1078e853 --- /dev/null +++ b/common/python/rift/mano/dts/subscriber/ns_subscriber.py @@ -0,0 +1,52 @@ +""" +# +# Copyright 2016 RIFT.IO 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. +# + +@file ns_subscriber.py +@author Varun Prasad (varun.prasad@riftio.com) +@date 09-Jul-2016 + +""" + +import gi +gi.require_version('RwDts', '1.0') +from gi.repository import RwDts as rwdts + +from . import core + + +class NsrCatalogSubscriber(core.AbstractOpdataSubscriber): + """Nsr Listener """ + + def key_name(self): + return "ns_instance_config_ref" + + def get_reg_flags(self): + # Hack to around DTS issue with NSR and RwNsr + return rwdts.Flag.SUBSCRIBER|rwdts.Flag.DELTA_READY + + def get_xpath(self): + return "D,/nsr:ns-instance-opdata/nsr:nsr" + + +class NsdCatalogSubscriber(core.AbstractConfigSubscriber): + """ The network service descriptor DTS handler """ + + def key_name(self): + return "id" + + def get_xpath(self): + return "C,/nsd:nsd-catalog/nsd:nsd"