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 @@
}
}
}
-
+
grouping image-properties {
leaf image {
description
@@ -273,6 +273,11 @@
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 @@
[testenv]
deps=nose
mock
+ pyyaml
commands=nosetests
[testenv:flake8]