X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=blobdiff_plain;f=osm_ro%2Fopenmano_schemas.py;fp=osm_ro%2Fopenmano_schemas.py;h=1dfcffe4d524ccd3535aba7368fbeddfdde8ed02;hp=1ea64f637a0cafd186dae8c64e897e47ef2ab0d8;hb=05a8b7bc29197345f9718796c110d6cf3c2ad176;hpb=4b6216b9d00195bf2e3772bb9278faf18ee9fd46 diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py index 1ea64f63..1dfcffe4 100644 --- a/osm_ro/openmano_schemas.py +++ b/osm_ro/openmano_schemas.py @@ -86,6 +86,10 @@ config_schema = { "db_user": nameshort_schema, "db_passwd": {"type":"string"}, "db_name": nameshort_schema, + "db_ovim_host": nameshort_schema, + "db_ovim_user": nameshort_schema, + "db_ovim_passwd": {"type":"string"}, + "db_ovim_name": nameshort_schema, # Next fields will disappear once the MANO API includes appropriate primitives "vim_url": http_schema, "vim_url_admin": http_schema, @@ -109,16 +113,18 @@ config_schema = { "log_level_nfvo": log_level_schema, "log_level_http": log_level_schema, "log_level_console": log_level_schema, + "log_level_ovim": log_level_schema, "log_file_db": path_schema, "log_file_vim": path_schema, "log_file_nfvo": path_schema, "log_file_http": path_schema, "log_file_console": path_schema, + "log_file_ovim": path_schema, "log_socket_host": nameshort_schema, "log_socket_port": port_schema, "log_file": path_schema, }, - "required": ['db_host', 'db_user', 'db_passwd', 'db_name'], + "required": ['db_user', 'db_passwd', 'db_name'], "additionalProperties": False } @@ -1095,3 +1101,75 @@ instance_scenario_action_schema = { #"maxProperties": 1, "additionalProperties": False } + +sdn_controller_properties={ + "name": name_schema, + "dpid": {"type":"string", "pattern":"^[0-9a-fA-F][02468aceACE](:[0-9a-fA-F]{2}){7}$"}, + "ip": ip_schema, + "port": port_schema, + "type": {"type": "string", "enum": ["opendaylight","floodlight","onos"]}, + "version": {"type" : "string", "minLength":1, "maxLength":12}, + "user": nameshort_schema, + "password": passwd_schema +} +sdn_controller_schema = { + "title":"sdn controller information schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type":"object", + "properties":{ + "sdn_controller":{ + "type":"object", + "properties":sdn_controller_properties, + "required": ["name", "port", 'ip', 'dpid', 'type'], + "additionalProperties": False + } + }, + "required": ["sdn_controller"], + "additionalProperties": False +} + +sdn_controller_edit_schema = { + "title":"sdn controller update information schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type":"object", + "properties":{ + "sdn_controller":{ + "type":"object", + "properties":sdn_controller_properties, + "additionalProperties": False + } + }, + "required": ["sdn_controller"], + "additionalProperties": False +} + +sdn_port_mapping_schema = { + "$schema": "http://json-schema.org/draft-04/schema#", + "title":"sdn port mapping information schema", + "type": "object", + "properties": { + "sdn_port_mapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "compute_node": nameshort_schema, + "ports": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pci": pci_schema, + "switch_port": nameshort_schema, + "switch_mac": mac_schema + }, + "required": ["pci"] + } + } + }, + "required": ["compute_node", "ports"] + } + } + }, + "required": ["sdn_port_mapping"] +} \ No newline at end of file