From: hoban Date: Tue, 12 Dec 2017 18:10:12 +0000 (+0100) Subject: Merge "Feature 5648: specification of IP addresses at CP level" X-Git-Tag: v3.0.3~4 X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=commitdiff_plain;h=b0b5a4c93fc0f0112b9b1b39f986942e2c3fb0db;hp=1edb98c576ebd4e2438f319b76aa27b9eefdbe98 Merge "Feature 5648: specification of IP addresses at CP level" --- diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index ce51c70..b6350ae 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -191,7 +191,7 @@ module mano-types } } } - + grouping image-properties { leaf image { description @@ -273,6 +273,11 @@ module mano-types description "Juju charm to use with the VNF or VDU."; type string; } + leaf proxy { + description "Is this a proxy charm?"; + type boolean; + default true; + } uses manotypes:vca-relationships; } } diff --git a/tests/test_python.py b/tests/test_python.py new file mode 100644 index 0000000..f6b4f7d --- /dev/null +++ b/tests/test_python.py @@ -0,0 +1,78 @@ +import osm_im.vnfd as vnfd_catalog +from pyangbind.lib.serialise import pybindJSONDecoder +import unittest +import yaml + +VNFD_YAML = """ +vnfd-catalog: + vnfd: + - id: cirros_vnfd + name: cirros_vnf + short-name: cirros_vnf + description: Simple VNF example with a cirros + vendor: OSM + version: '1.0' + + # Place the logo as png in icons directory and provide the name here + logo: cirros-64.png + + # Management interface + mgmt-interface: + cp: eth0 + + # Atleast one VDU need to be specified + vdu: + - id: cirros_vnfd-VM + name: cirros_vnfd-VM + description: cirros_vnfd-VM + count: 1 + + # Flavour of the VM to be instantiated for the VDU + # flavor below can fit into m1.micro + vm-flavor: + vcpu-count: 1 + memory-mb: 256 + storage-gb: 2 + + # Image/checksum or image including the full path + image: 'cirros034' + #checksum: + + interface: + # Specify the external interfaces + # There can be multiple interfaces defined + - name: eth0 + type: EXTERNAL + virtual-interface: + type: VIRTIO + bandwidth: '0' + vpci: 0000:00:0a.0 + external-connection-point-ref: eth0 + + connection-point: + - name: eth0 + type: VPORT +""" + +class PythonTest(unittest.TestCase): + + + def test_python_compatibility(self): + """A simple test to verify Python compatibility. + + This test exercises basic IM interoperability with supported versions + of Python in order to verify the IM libraries compatibility. + + As of 30 Nov 2017, the IM library fails with Python3. This invokes that + failing code so that it can be repeatably tested: + + ValueError: '_pybind_generated_by' in __slots__ conflicts with class variable + """ + + try: + data = yaml.load(VNFD_YAML) + + myvnfd = vnfd_catalog.vnfd() + pybindJSONDecoder.load_ietf_json(data, None, None, obj=myvnfd) + except ValueError: + assert False diff --git a/tox.ini b/tox.ini index 4493390..c1c0215 100644 --- a/tox.ini +++ b/tox.ini @@ -5,6 +5,7 @@ toxworkdir={homedir}/.tox [testenv] deps=nose mock + pyyaml commands=nosetests [testenv:flake8]