X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Frwvns%2Fyang%2Frwsdn.yang;h=fba317f1229a1008c8c02a631a951217cb4514ab;hb=9ad945aab0b5a992e1df860bede8ecc9b143470e;hp=5ea2eb0ec8ab36f6e22bc71471a8a90853b000bd;hpb=49868d2c71eb364cee9707515be6841a568dad40;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang b/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang index 5ea2eb0e..fba317f1 100644 --- a/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang +++ b/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang @@ -1,7 +1,7 @@ /* * - * Copyright 2016 RIFT.IO Inc + * Copyright 2016-2017 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -51,6 +51,14 @@ module rwsdn prefix "yang"; } + import rw-project { + prefix "rw-project"; + } + + revision 2017-02-08 { + description + "Update model to support projects."; + } revision 2014-12-30 { description @@ -82,7 +90,7 @@ module rwsdn } } - uses connection-status; + // uses connection-status; typedef sdn-account-type { description "SDN account type"; @@ -90,6 +98,7 @@ module rwsdn enum odl; enum mock; enum sdnsim; + enum openstack; } } @@ -144,256 +153,322 @@ module rwsdn default "rwsdn_sim"; } } - } - } - container sdn-accounts { - list sdn-account-list { - rwpb:msg-new SDNAccount; - key "name"; + container openstack { + leaf key { + type string; + mandatory true; + } - leaf name { - type string; - } + leaf secret { + type string; + mandatory true; + } - uses sdn-provider-auth; - uses connection-status; - } - } + leaf auth_url { + type string; + mandatory true; + } - container vnffgs { - list vnffg-chain { - key "name"; - rwpb:msg-new VNFFGChain; + leaf tenant { + type string; + mandatory true; + } - leaf name { - type string; - } + leaf admin { + type boolean; + default false; + } - list vnf-chain-path { - key "order"; - leaf order { - type uint32; - description " Order of the VNF in VNFFG chain"; + leaf user-domain { + type string; + default "Default"; + description "Domain of the OpenStack user"; } - leaf service-function-type { + + leaf project-domain { + type string; + default "Default"; + description "Domain of the OpenStack project"; + } + + leaf region { + type string; + default "RegionOne"; + } + + leaf plugin-name { type string; + default "rwsdn_openstack"; } - leaf nsh-aware { + + leaf cert-validate { type boolean; + default false; + description "Certificate validatation policy in case of SSL/TLS connection"; + } + } + + } + } + + augment "/rw-project:project" { + container sdn-accounts { + list sdn-account-list { + rwpb:msg-new SDNAccount; + key "name"; + + leaf name { + type string; } - leaf transport-type { + + uses sdn-provider-auth; + uses connection-status; + } + } + } + + augment "/rw-project:project" { + container vnffgs { + list vnffg-chain { + key "name"; + rwpb:msg-new VNFFGChain; + + leaf name { type string; } - list vnfr-ids { - key "vnfr-id"; - leaf vnfr-id { - type yang:uuid; + + list vnf-chain-path { + key "order"; + leaf order { + type uint32; + description " Order of the VNF in VNFFG chain"; } - leaf vnfr-name { + leaf service-function-type { type string; } - leaf mgmt-address { - type inet:ip-address; + leaf nsh-aware { + type boolean; } - leaf mgmt-port { - type inet:port-number; + leaf transport-type { + type string; } - list vdu-list { - key "vm-id port-id"; - leaf port-id { - rwpb:field-inline "true"; - rwpb:field-string-max 64; - type string; - } - leaf vm-id { - rwpb:field-inline "true"; - rwpb:field-string-max 64; - type string; + list vnfr-ids { + key "vnfr-id"; + leaf vnfr-id { + type yang:uuid; } - leaf name { + leaf vnfr-name { type string; } - leaf address { + leaf mgmt-address { type inet:ip-address; } - leaf port { + leaf mgmt-port { type inet:port-number; } + list vdu-list { + key "vm-id port-id"; + leaf port-id { + rwpb:field-inline "true"; + rwpb:field-string-max 64; + type string; + } + leaf vm-id { + rwpb:field-inline "true"; + rwpb:field-string-max 64; + type string; + } + leaf name { + type string; + } + leaf address { + type inet:ip-address; + } + leaf port { + type inet:port-number; + } + } + leaf sff-name { + description "SFF name useful for non OVS based SFF"; + type string; + } } - leaf sff-name { - description "SFF name useful for non OVS based SFF"; - type string; - } - } - } - list sff { - rwpb:msg-new VNFFGSff; - key "name"; - leaf name { - type string; } - leaf function-type { - type string; - } - leaf mgmt-address { - type inet:ip-address; - } - leaf mgmt-port { - type inet:port-number; - } - list dp-endpoints { + list sff { + rwpb:msg-new VNFFGSff; key "name"; leaf name { - type string; - } - leaf address { + type string; + } + leaf function-type { + type string; + } + leaf mgmt-address { type inet:ip-address; } - leaf port { + leaf mgmt-port { type inet:port-number; } - } - list vnfr-list { - key "vnfr-name"; - leaf vnfr-name { - type string; + list dp-endpoints { + key "name"; + leaf name { + type string; + } + leaf address { + type inet:ip-address; + } + leaf port { + type inet:port-number; + } + } + list vnfr-list { + key "vnfr-name"; + leaf vnfr-name { + type string; + } } } - } - leaf classifier-name { - type string; + leaf classifier-name { + type string; + } } } } - container vnffg-rendered-paths { - rwpb:msg-new VNFFGRenderedPaths; - list vnffg-rendered-path { - key "name"; - rwpb:msg-new VNFFGRenderedPath; - config false; - leaf name { - type string; - } - leaf path-id { - description - "Unique Identifier for the service path"; - type uint32; - } - list rendered-path-hop { - key "hop-number"; - leaf hop-number { - type uint8; - } - leaf service-index { - description - "Location within the service path"; - type uint8; - } - leaf vnfr-name { + augment "/rw-project:project" { + container vnffg-rendered-paths { + rwpb:msg-new VNFFGRenderedPaths; + list vnffg-rendered-path { + key "name"; + rwpb:msg-new VNFFGRenderedPath; + config false; + leaf name { type string; } - container service-function-forwarder { - leaf name { + leaf path-id { + description + "Unique Identifier for the service path"; + type uint32; + } + list rendered-path-hop { + key "hop-number"; + leaf hop-number { + type uint8; + } + leaf service-index { description - "Service Function Forwarder name"; + "Location within the service path"; + type uint8; + } + leaf vnfr-name { type string; } - leaf ip-address { - description + container service-function-forwarder { + leaf name { + description + "Service Function Forwarder name"; + type string; + } + leaf ip-address { + description "Service Function Forwarder Data Plane IP address"; - type inet:ip-address; - } - leaf port { - description + type inet:ip-address; + } + leaf port { + description "Service Function Forwarder Data Plane port"; - type inet:port-number; - } + type inet:port-number; + } + } } } } } + augment "/rw-project:project" { + container vnffg-classifiers { + list vnffg-classifier { + key "name"; + rwpb:msg-new VNFFGClassifier; - container vnffg-classifiers { - list vnffg-classifier { - key "name"; - rwpb:msg-new VNFFGClassifier; - - leaf name { - type string; - } - leaf rsp-name { - type string; - } - leaf port-id { - rwpb:field-inline "true"; - rwpb:field-string-max 64; - type string; - } - leaf vm-id { - rwpb:field-inline "true"; - rwpb:field-string-max 64; - type string; - } - leaf sff-name { - type string; - } - container vnffg-metadata { - leaf ctx1 { + leaf name { type string; } - leaf ctx2 { + leaf rsp-name { type string; } - leaf ctx3 { + leaf rsp-id { + type yang:uuid; + } + leaf port-id { + rwpb:field-inline "true"; + rwpb:field-string-max 64; type string; } - leaf ctx4 { + leaf vm-id { + rwpb:field-inline "true"; + rwpb:field-string-max 64; type string; } - } - list match-attributes { - description - "List of match attributes."; - key "name"; - leaf name { + leaf sff-name { + type string; + } + container vnffg-metadata { + leaf ctx1 { + type string; + } + leaf ctx2 { + type string; + } + leaf ctx3 { + type string; + } + leaf ctx4 { + type string; + } + } + list match-attributes { description + "List of match attributes."; + key "name"; + leaf name { + description "Name for the Access list"; - type string; - } + type string; + } - leaf ip-proto { - description + leaf ip-proto { + description "IP Protocol."; - type uint8; - } + type uint8; + } - leaf source-ip-address { - description + leaf source-ip-address { + description "Source IP address."; - type inet:ip-prefix; - } + type inet:ip-prefix; + } - leaf destination-ip-address { - description + leaf destination-ip-address { + description "Destination IP address."; - type inet:ip-prefix; - } + type inet:ip-prefix; + } - leaf source-port { - description + leaf source-port { + description "Source port number."; - type inet:port-number; - } + type inet:port-number; + } - leaf destination-port { - description + leaf destination-port { + description "Destination port number."; - type inet:port-number; - } - } //match-attributes + type inet:port-number; + } + } //match-attributes + } } }