New feature: Support rooted descriptors and descriptors under project
Signed-off-by: Philip Joseph <philip.joseph@riftio.com>
diff --git a/common/python/rift/mano/config_data/config.py b/common/python/rift/mano/config_data/config.py
index 63a2e48..e04475a 100644
--- a/common/python/rift/mano/config_data/config.py
+++ b/common/python/rift/mano/config_data/config.py
@@ -20,8 +20,8 @@
import os
import yaml
-from gi.repository import NsdYang
-from gi.repository import VnfdYang
+from gi.repository import ProjectNsdYang as NsdYang
+from gi.repository import ProjectVnfdYang as VnfdYang
class InitialConfigReadError(Exception):
diff --git a/common/python/rift/mano/config_data/test/test_converter.py b/common/python/rift/mano/config_data/test/test_converter.py
index 6169d73..0354c2b 100644
--- a/common/python/rift/mano/config_data/test/test_converter.py
+++ b/common/python/rift/mano/config_data/test/test_converter.py
@@ -17,7 +17,10 @@
import pytest
import uuid
-from gi.repository import NsdYang, VnfdYang
+from gi.repository import (
+ ProjectNsdYang as NsdYang,
+ ProjectVnfdYang as VnfdYang,
+ )
from ..config import ConfigPrimitiveConvertor
import yaml
diff --git a/common/python/rift/mano/dts/subscriber/ns_subscriber.py b/common/python/rift/mano/dts/subscriber/ns_subscriber.py
index a379b9a..4258afa 100644
--- a/common/python/rift/mano/dts/subscriber/ns_subscriber.py
+++ b/common/python/rift/mano/dts/subscriber/ns_subscriber.py
@@ -49,7 +49,7 @@
return "id"
def get_xpath(self):
- return self._project.add_project("C,/nsd:nsd-catalog/nsd:nsd")
+ return self._project.add_project("C,/project-nsd:nsd-catalog/project-nsd:nsd")
class NsInstanceConfigSubscriber(core.AbstractConfigSubscriber):
diff --git a/common/python/rift/mano/dts/subscriber/test/utest_subscriber_dts.py b/common/python/rift/mano/dts/subscriber/test/utest_subscriber_dts.py
index bf7ae68..9479b16 100644
--- a/common/python/rift/mano/dts/subscriber/test/utest_subscriber_dts.py
+++ b/common/python/rift/mano/dts/subscriber/test/utest_subscriber_dts.py
@@ -30,10 +30,10 @@
from gi.repository import (
RwLaunchpadYang as launchpadyang,
RwDts as rwdts,
- RwVnfdYang,
+ RwProjectVnfdYang as RwVnfdYang,
RwVnfrYang,
RwNsrYang,
- RwNsdYang,
+ RwProjectNsdYang as RwNsdYang,
VnfrYang
)
@@ -110,8 +110,8 @@
mock_vnfd = RwVnfdYang.YangData_RwProject_Project_VnfdCatalog_Vnfd()
mock_vnfd.id = str(uuid.uuid1())
- w_xpath = "C,/rw-project:project/vnfd:vnfd-catalog/vnfd:vnfd"
- xpath = "{}[vnfd:id='{}']".format(w_xpath, mock_vnfd.id)
+ w_xpath = "C,/rw-project:project/project-vnfd:vnfd-catalog/project-vnfd:vnfd"
+ xpath = "{}[project-vnfd:id='{}']".format(w_xpath, mock_vnfd.id)
yield from self.publisher.publish(w_xpath, xpath, mock_vnfd)
yield from asyncio.sleep(5, loop=self.loop)
@@ -178,8 +178,8 @@
mock_nsd = RwNsdYang.YangData_RwProject_Project_NsdCatalog_Nsd()
mock_nsd.id = str(uuid.uuid1())
- w_xpath = "C,/rw-project:project/nsd:nsd-catalog/nsd:nsd"
- xpath = "{}[nsd:id='{}']".format(w_xpath, mock_nsd.id)
+ w_xpath = "C,/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd"
+ xpath = "{}[project-nsd:id='{}']".format(w_xpath, mock_nsd.id)
yield from self.publisher.publish(w_xpath, xpath, mock_nsd)
yield from asyncio.sleep(2, loop=self.loop)
@@ -238,4 +238,4 @@
)
if __name__ == '__main__':
- main()
\ No newline at end of file
+ main()
diff --git a/common/python/rift/mano/dts/subscriber/vnf_subscriber.py b/common/python/rift/mano/dts/subscriber/vnf_subscriber.py
index 85ec589..524fb41 100644
--- a/common/python/rift/mano/dts/subscriber/vnf_subscriber.py
+++ b/common/python/rift/mano/dts/subscriber/vnf_subscriber.py
@@ -48,4 +48,4 @@
return "id"
def get_xpath(self):
- return self.project.add_project("C,/vnfd:vnfd-catalog/vnfd:vnfd")
+ return self.project.add_project("C,/project-vnfd:vnfd-catalog/project-vnfd:vnfd")
diff --git a/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_parameter.py b/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_parameter.py
index 7df584f..83e054f 100644
--- a/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_parameter.py
+++ b/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_parameter.py
@@ -42,7 +42,7 @@
# TODO(Philip): Harcoding for now, need to make this generic
def get_xpath(self):
- xpath = '/rw-project:project/nsd:nsd-catalog/nsd:nsd/nsd:' + self.name
+ xpath = '/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/nsd:' + self.name
return xpath
def get_dict_output(self):
diff --git a/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_template.py b/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_template.py
index edcbef6..5300eba 100644
--- a/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_template.py
+++ b/common/python/rift/mano/tosca_translator/rwmano/syntax/mano_template.py
@@ -24,11 +24,11 @@
try:
import gi
gi.require_version('RwYang', '1.0')
- gi.require_version('RwNsdYang', '1.0')
- gi.require_version('NsdYang', '1.0')
+ gi.require_version('RwProjectNsdYang', '1.0')
+ gi.require_version('ProjectNsdYang', '1.0')
- from gi.repository import NsdYang
- from gi.repository import RwNsdYang
+ from gi.repository import ProjectNsdYang as NsdYang
+ from gi.repository import RwProjectNsdYang as RwNsdYang
from gi.repository import RwYang
except ImportError:
pass
diff --git a/common/python/rift/mano/tosca_translator/rwmano/tosca/tosca_nfv_vnf.py b/common/python/rift/mano/tosca_translator/rwmano/tosca/tosca_nfv_vnf.py
index 6356601..29beca1 100644
--- a/common/python/rift/mano/tosca_translator/rwmano/tosca/tosca_nfv_vnf.py
+++ b/common/python/rift/mano/tosca_translator/rwmano/tosca/tosca_nfv_vnf.py
@@ -23,9 +23,9 @@
try:
import gi
- gi.require_version('RwVnfdYang', '1.0')
+ gi.require_version('RwProjectVnfdYang', '1.0')
- from gi.repository import RwVnfdYang
+ from gi.repository import RwProjectVnfdYang as RwVnfdYang
except ImportError:
pass
except ValueError:
diff --git a/common/python/rift/mano/utils/project.py b/common/python/rift/mano/utils/project.py
index 637c0ca..65d7654 100644
--- a/common/python/rift/mano/utils/project.py
+++ b/common/python/rift/mano/utils/project.py
@@ -183,7 +183,7 @@
if idx == 0:
name = cls.from_xpath(xpath, log)
if name == project:
- log.warning("Project already in the XPATH: {}".format(xpath))
+ log.debug("Project already in the XPATH: {}".format(xpath))
return xpath
else:
diff --git a/common/python/rift/mano/yang_translator/rwmano/yang/yang_nsd.py b/common/python/rift/mano/yang_translator/rwmano/yang/yang_nsd.py
index 41845dc..8ed4daa 100644
--- a/common/python/rift/mano/yang_translator/rwmano/yang/yang_nsd.py
+++ b/common/python/rift/mano/yang_translator/rwmano/yang/yang_nsd.py
@@ -73,7 +73,7 @@
self.inputs.append({
self.NAME:
self.map_yang_name_to_tosca(
- val.replace('/rw-project:project/nsd:nsd-catalog/nsd:nsd/nsd:', ''))})
+ val.replace('/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/nsd:', ''))})
if len(param):
self.log.warn(_("{0}, Did not process the following for "
"input param {1}: {2}").
diff --git a/common/python/test/utest_config_data.py b/common/python/test/utest_config_data.py
index 8287c11..020a2b4 100644
--- a/common/python/test/utest_config_data.py
+++ b/common/python/test/utest_config_data.py
@@ -31,11 +31,11 @@
from rift.mano.config_data import config
import gi
-gi.require_version('VnfdYang', '1.0')
+gi.require_version('ProjectVnfdYang', '1.0')
gi.require_version('RwYang', '1.0')
from gi.repository import (
- VnfdYang,
+ ProjectVnfdYang,
RwYang,
)
diff --git a/common/python/test/utest_project.py b/common/python/test/utest_project.py
index 1bc531e..01f627c 100644
--- a/common/python/test/utest_project.py
+++ b/common/python/test/utest_project.py
@@ -134,7 +134,7 @@
1. Instance of project from xpath
2. project name in instance is correct
"""
- xpath = XPATH + '/rw:project/rw-project:project/rw-project:project/rw-project:project/rw-project:project/nsd:nsd-catalog/nsd:nsd[id=\'1232334\']'
+ xpath = XPATH + '/rw:project/rw-project:project/rw-project:project/rw-project:project/rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd[id=\'1232334\']'
proj = project.ManoProject.create_from_xpath(xpath, TestCase.log)
assert proj
assert NAME == proj.name