Commit d96b4247 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani
Browse files

Addressing bug#91

parent 40c65745
Loading
Loading
Loading
Loading
Loading
+24 −6
Original line number Diff line number Diff line
@@ -11,17 +11,14 @@
      <name>Firewall VDU</name>
      <int-cpd>
        <id>inside</id>
        <ext-cpd>inside</ext-cpd>
        <layer-protocol>Ethernet</layer-protocol>
      </int-cpd>
      <int-cpd>
        <id>management</id>
        <ext-cpd>management</ext-cpd>
        <layer-protocol>Ethernet</layer-protocol>
      </int-cpd>
      <int-cpd>
        <id>outside</id>
        <ext-cpd>outside</ext-cpd>
        <layer-protocol>Ethernet</layer-protocol>
      </int-cpd>
      <virtual-compute-desc>asa-vcd</virtual-compute-desc>
@@ -51,14 +48,26 @@
    </sw-image-desc>
    <ext-cpd>
      <id>inside</id>
      <int-cpd>
	<vdu-id>firewall</vdu-id>
	<cpd>inside</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    <ext-cpd>
      <id>management</id>
      <int-cpd>
	<vdu-id>firewall</vdu-id>
	<cpd>management</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    <ext-cpd>
      <id>outside</id>
      <int-cpd>
	<vdu-id>firewall</vdu-id>
	<cpd>outside</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    <df>
@@ -97,17 +106,14 @@
      <name>Router VDU</name>
      <int-cpd>
        <id>left</id>
        <ext-cpd>left</ext-cpd>
        <layer-protocol>Ethernet</layer-protocol>
      </int-cpd>
      <int-cpd>
        <id>management</id>
        <ext-cpd>management</ext-cpd>
        <layer-protocol>Ethernet</layer-protocol>
      </int-cpd>
      <int-cpd>
        <id>right</id>
        <ext-cpd>right</ext-cpd>
        <layer-protocol>Ethernet</layer-protocol>
      </int-cpd>
      <virtual-compute-desc>csr-vcd</virtual-compute-desc>
@@ -137,14 +143,26 @@
    </sw-image-desc>
    <ext-cpd>
      <id>left</id>
      <int-cpd>
	<vdu-id>router</vdu-id>
	<cpd>left</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    <ext-cpd>
      <id>management</id>
      <int-cpd>
	<vdu-id>router</vdu-id>
	<cpd>management</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    <ext-cpd>
      <id>right</id>
      <int-cpd>
	<vdu-id>router</vdu-id>
	<cpd>right</cpd>
      </int-cpd>
      <layer-protocol>Ethernet</layer-protocol>
    </ext-cpd>
    <df>
+18 −21
Original line number Diff line number Diff line
@@ -4,10 +4,7 @@ submodule etsi-nfv-ns {
    prefix nfv;
  }

  import etsi-nfv-common {
    prefix common;
  }

  include etsi-nfv-common;
  include etsi-nfv-vnf;
  include etsi-nfv-pnf;

@@ -248,7 +245,7 @@ submodule etsi-nfv-ns {
             information element";
        }

        uses common:connectivity-type;
        uses connectivity-type;

        list df {
          key "id";
@@ -364,7 +361,7 @@ submodule etsi-nfv-ns {
            "GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
             information element";
        }
        uses common:security-parameters;
        uses security-parameters;
      }

      list vnffgd {
@@ -485,7 +482,7 @@ submodule etsi-nfv-ns {
            }
            container ns {
              leaf nsd-id {
                must ". = deref(../../ns-profile-id)/../nsd-id" {
                must ". = deref(../../nested-ns-profile-id)/../nsd-id" {
                }

                type leafref {
@@ -745,7 +742,7 @@ submodule etsi-nfv-ns {
          }

          leaf min-number-of-instances {
            mandatory true;
            default 1;
            type uint16;
            description
              "Minimum number of instances of the VNF based on this
@@ -756,7 +753,7 @@ submodule etsi-nfv-ns {
          }

          leaf max-number-of-instances {
            mandatory true;
            default 1;
            type uint16;
            description
              "Maximum number of instances of the VNF based on this
@@ -766,7 +763,7 @@ submodule etsi-nfv-ns {
               element";
          }

          uses common:local-affinity-or-anti-affinity-rule;
          uses local-affinity-or-anti-affinity-rule;

          list affinity-or-anti-affinity-group {
            key "id";
@@ -932,7 +929,7 @@ submodule etsi-nfv-ns {
               information element";
          }

          uses common:local-affinity-or-anti-affinity-rule;
          uses local-affinity-or-anti-affinity-rule;

          list affinity-or-anti-affinity-group {
            key "id";
@@ -959,7 +956,7 @@ submodule etsi-nfv-ns {
            reference
              "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
               information element";
            uses common:link-bitrate-requirements;
            uses link-bitrate-requirements;
          }
          container min-bitrate-requirements {
            description
@@ -968,7 +965,7 @@ submodule etsi-nfv-ns {
            reference
              "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
               information element";
            uses common:link-bitrate-requirements;
            uses link-bitrate-requirements;
          }
        }

@@ -1048,7 +1045,7 @@ submodule etsi-nfv-ns {

          leaf affinity-type {
            mandatory true;
            type common:affinity-type;
            type affinity-type;
            description
              "Specifies the type of relationship that the members of
               the group have: 'affinity' or 'anti-affinity.'";
@@ -1059,7 +1056,7 @@ submodule etsi-nfv-ns {

          leaf affinity-scope {
            mandatory true;
            type common:affinity-scope;
            type affinity-scope;
            description
              "Specifies the scope of the affinity or anti-affinity
               relationship e.g. a NFVI node, an NFVI PoP, etc.";
@@ -1123,7 +1120,7 @@ submodule etsi-nfv-ns {
            }

            leaf number-of-instances {
              mandatory true;
              default 1;
              type uint32;
              description
                "Specifies the number of VNF instances required for
@@ -1156,7 +1153,7 @@ submodule etsi-nfv-ns {
                 VirtualLinkToLevelMapping information element";
            }

            uses common:link-bitrate-requirements;
            uses link-bitrate-requirements;
          }

          list ns-to-level-mapping {
@@ -1183,7 +1180,7 @@ submodule etsi-nfv-ns {
            }

            leaf number-of-instances {
              mandatory true;
              default 1;
              type uint32;
              description
                "Specifies the number of nested NS instances required
@@ -1289,7 +1286,7 @@ submodule etsi-nfv-ns {
          }
          leaf min-number-of-instances {
            type uint16;
            mandatory true;
            default 1;
            description
              "Minimum number of nested NS instances based on the
               referenced NSD that is permitted to exist for this
@@ -1300,7 +1297,7 @@ submodule etsi-nfv-ns {
          }
          leaf max-number-of-instances {
            type uint16;
            mandatory true;
            default 1;
            description
              "Maximum number of nested NS instances based on the
               referenced NSD that is permitted to exist for this
@@ -1484,7 +1481,7 @@ submodule etsi-nfv-ns {
          }
	}
      }
      uses common:security-parameters;
      uses security-parameters;
    }
  }
}
+129 −15
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ submodule etsi-nfv-vnf {
           VirtualNetworkInterfaceRequirements information element";
      }
      leaf support-mandatory {
        mandatory true;
        default "false";
        type boolean;
        description
          "Indicates whether fulfilling the constraint is
@@ -117,7 +117,7 @@ submodule etsi-nfv-vnf {
        "GS NFV IFA011: Section 7.1.6.3, Cpd information element.";
    }
    leaf layer-protocol {
      mandatory true;
      default Ethernet;
      type identityref {
        base layer-protocol;
      }
@@ -700,8 +700,8 @@ submodule etsi-nfv-vnf {
              fraction-digits 1;
              range "0..max";
            }
            units "Gb";
            mandatory true;
            units "MBytes";
            default 1;
            description
              "Amount of virtual memory in MB.";
            reference
@@ -773,7 +773,7 @@ submodule etsi-nfv-vnf {
            type uint16 {
              range "1..max";
            }
            mandatory true;
            default 1;
            description
              "Number of virtual CPUs.";
            reference
@@ -820,7 +820,7 @@ submodule etsi-nfv-vnf {
          container virtual-cpu-pinning {
            presence "Set to specify CPU pinning.";
            leaf cpu-pinning-policy {
              mandatory true;
              default "dynamic";
              type enumeration {
                enum "static";
                enum "dynamic";
@@ -866,7 +866,7 @@ submodule etsi-nfv-vnf {
            enum "swap";
            enum "ephemeral";
          }
          mandatory true;
          default "root";
          description
            "Type of virtualised storage resource (e.g. volume,
             object).";
@@ -877,7 +877,7 @@ submodule etsi-nfv-vnf {
        leaf size-of-storage {
          type uint64;
          units "Gb";
          mandatory true;
          default 1;
          description
            "Size of virtualised storage resource (e.g. size of
             volume, in Gb)";
@@ -964,7 +964,7 @@ submodule etsi-nfv-vnf {
             information element.";
        }
        leaf container-format {
          mandatory true;
          default "bare";
          type enumeration {
            enum "aki" {
              description
@@ -1004,7 +1004,7 @@ submodule etsi-nfv-vnf {
             information element.";
        }
        leaf disk-format {
          mandatory true;
          default "qcow2";
          type enumeration {
            enum "aki" {
              description
@@ -1102,7 +1102,7 @@ submodule etsi-nfv-vnf {
             information element.";
        }
        leaf image {
          mandatory true;
          default ".";
          type inet:uri;
          description
            "This is a reference to the actual software image.
@@ -1274,10 +1274,12 @@ submodule etsi-nfv-vnf {
              }
            }
            leaf cpd {
              type leafref {
                path "deref(../vdu-id)/../int-cpd/id";
              }
            }
          }
        }
        uses virtual-network-interface-requirements;
        uses vnf-cpd;
      }
@@ -1327,7 +1329,7 @@ submodule etsi-nfv-vnf {
          }
          leaf min-number-of-instances {
            type uint16;
            mandatory true;
            default 1;
            description
              "Minimum number of instances of the VNFC based on this
               VDU that is permitted to exist for this flavour.";
@@ -1337,7 +1339,7 @@ submodule etsi-nfv-vnf {
          }
          leaf max-number-of-instances {
            type uint16;
            mandatory true;
            default 1;
            must ". >= ../nfv:min-number-of-instances";
            reference
              "GS NFV IFA011: Section 7.1.8.3, VduProfile information
@@ -1498,7 +1500,7 @@ submodule etsi-nfv-vnf {
              must ". >= ../../../../nfv:df/" +
                   "nfv:vdu-profile[id=current()/../nfv:id]/" +
                   "nfv:min-number-of-instances";
              mandatory true;
              default 1;
              description
                "Number of instances of VNFC based on this VDU to
                 deploy for this level.";
@@ -1795,6 +1797,118 @@ submodule etsi-nfv-vnf {
               AffinityOrAntiAffinityGroup information element";
          }
        }

        list indicator {
          key "id";

          leaf id {
            type string;
            description
              "Unique identifier.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          leaf name {
            type string;
            description
              "The human readable name of the VnfIndicator.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          leaf indicator-value {
            type string;
            description
              "Defines the allowed values or value ranges of this
               indicator.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          leaf source {
            type enumeration {
              enum vnf;
              enum em;
              enum both;
            }
            description
              "Describe the source of the indicator. The possible
               values are:
               • VNF.
               • EM.
               • Both.

               This tells the consumer where to send the subscription
               request.";
            reference
              "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
               information element";
          }

          description
            "Declares the VNF indicators that are supported by this
             VNF (specific to this DF).";
          reference
            "GS NFV IFA011: Section 7.1.8.2 VnfDf information
             element";
        }

        list supported-vnf-interfaces {
          key "name";

          leaf name {
            type enumeration {
              enum vnf-configuration;
              enum vnf-indicator;
            }
            description
              "Identifies an interface produced by the VNF. Valid
               values:
               - VNF_CONFIGURATION
               - VNF_INDICATOR";
            reference
              "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
               information element";
          }

          leaf-list cpd-id {
            type leafref {
              path "../../../ext-cpd/id";
            }
            description
              "References one or more CPDs from which to instantiate
               external CPs through which interface endpoints on the
               VNF side can be reached by the VNFM.";
            reference
              "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
               information element";
          }

          list interface-details {
            key "key";

            leaf key {
              type string;
            }

            leaf value {
              type string;
            }
          }

          description
            "Indicates which interfaces the VNF produces and provides
             additional details on how to access the interface
             endpoints.";
          reference
            "GS NFV IFA011: Section 7.1.8.2 VnfDf information
             element";
        }

        list monitoring-parameter {
          key "id";