Fix bug 1723 to support IPv6 schema for PDU IP address 94/11294/4 master
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Tue, 26 Oct 2021 15:27:35 +0000 (17:27 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Thu, 2 Dec 2021 15:01:02 +0000 (16:01 +0100)
Change-Id: I3301e6d82408eceafae25f7219294310677a7bb5
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
osm_nbi/validation.py

index 6a6eeee..fc16f06 100644 (file)
@@ -94,6 +94,10 @@ ip_schema = {
     "type": "string",
     "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
 }
     "type": "string",
     "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
 }
+ipv6_schema = {
+    "type": "string",
+    "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))",
+}
 ip_prefix_schema = {
     "type": "string",
     "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}"
 ip_prefix_schema = {
     "type": "string",
     "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}"
@@ -801,7 +805,7 @@ pdu_interface = {
         "name": shortname_schema,
         "mgmt": bool_schema,
         "type": {"enum": ["overlay", "underlay"]},
         "name": shortname_schema,
         "mgmt": bool_schema,
         "type": {"enum": ["overlay", "underlay"]},
-        "ip-address": ip_schema,
+        "ip-address": {"oneOf": [ip_schema, ipv6_schema]},
         # TODO, add user, password, ssh-key
         "mac-address": mac_schema,
         "vim-network-name": shortname_schema,  # interface is connected to one vim network, or switch port
         # TODO, add user, password, ssh-key
         "mac-address": mac_schema,
         "vim-network-name": shortname_schema,  # interface is connected to one vim network, or switch port