Commit 01ee6bf5 authored by ramanathan's avatar ramanathan
Browse files

Merge branch 'issue#51' into 'dev-v4.3.1'

issue #51 Cloud-Native VNFs OSContainerDesc and minor changes.

See merge request !110
parents f528c002 069f6530
Loading
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -461,6 +461,20 @@ submodule etsi-nfv-common {
    }
  }

  typedef scaler-units-size {
    type enumeration {
      enum "B";
      enum "kB";
      enum "KiB";
      enum "MB";
      enum "MiB";
      enum "GB";
      enum "GiB";
      enum "TB";
      enum "TiB";
    }
  }

  grouping nfvi-maintenance-info {
    container nfvi-maintenance-info {

+222 −4
Original line number Diff line number Diff line
@@ -389,7 +389,6 @@ submodule etsi-nfv-vnf {

      list int-cpd {
        key "id";
        min-elements 1;
        description
          "A internal-connection-point element is a type of
           connection point and describes network connectivity
@@ -520,14 +519,29 @@ submodule etsi-nfv-vnf {
           information element.";
      }

      leaf-list os-container-desc {
        type leafref {
          path "../../os-container-desc/id";
        }
        description
          "Describes CPU, memory requirements and limits, and
           software images of the OS Containers realizing this
           Vdu corresponding to OS Containers sharing the same
           host and same network namespace. Each unique identifier
           is referenced only once within one VDU.";
        reference
          "GS NFV IFA011: Section 7.1.6.2, VDU information
           element. ";
      }
      leaf-list virtual-storage-desc {
        type leafref {
          path "../../virtual-storage-desc/id";
        }
        description
          "Describes storage requirements for a VirtualStorage
           instance attached to the virtualisation container
           created from virtualComputeDesc defined for this VDU.";
           instance attached to the virtualisation container(s)
           created from virtualComputeDesc or osContainerDesc
           defined for this VDU.";
        reference
          "GS NFV IFA011: Section 7.1.6.2, VDU information
           element, and Section 7.1.9.4, Information elements
@@ -711,7 +725,8 @@ submodule etsi-nfv-vnf {
      key "id";
      description
        "Defines descriptors of virtual compute resources to be
         used by the VNF.";
         used by the VNF when each of the VNFC instances of the
         VNF is intended to be deployed in a single VM.";
      leaf id {
        type string;
        description
@@ -1163,6 +1178,199 @@ submodule etsi-nfv-vnf {
      }
    }

    list os-container-desc {
      key "id";
      description
        "Defines descriptors of container compute resources to be used
         by the VNF when the VDUs of the VNF are realized by a set of
         OS Containers sharing the same host and same networking namespace.";
      reference
        "GS NFV IFA011: Section 7.1.2, VNFD Information element.";

      leaf id {
        type string;
        description
          "Unique identifier of this OsContainerDesc in the VNFD.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
          information element.";
      }

      leaf name {
        type string;
        description
          "Human readable name of this OS container.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
          information element.";
      }

      leaf description {
        type string;
        description
          "Human readable description of this OS container.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf requested-cpu-resources {
        type uint32;
        description
          "Number of CPU resources requested for the container
           (e.g. in milli-CPU-s).";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf requested-memory-resources {
        type uint64;
        description
          "Amount of memory resources requested for the container
           (e.g. in MB).";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf requested-ephemeral-storage-resources {
        type uint64;
        units "GB";
        description
          "Size of ephemeral storage resources requested for the container
           (e.g. in GB).";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      list extended-resource-requests {
        key "extended-resource amount";

        leaf extended-resource{
          type string;
          description
            "The hardware platform specific extended resource.";
        }
        leaf amount {
          type uint32;
          description
            "Requested amount of the indicated extended resource.";
        }
        description
          "An array of key-value pairs of extended resources
           required by the container.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf cpu-resource-limit {
        type uint32;
        description
          "Number of CPU resources the container can maximally use
           (e.g. in milli-CPU).";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf memory-resource-limit {
        type uint64;
        description
          "Amount of memory resources the container can maximally
           use(e.g. in MB).";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
          information element.";
      }

      leaf ephemeral-storage-resource-limit {
        type uint64;
        units "GB";
        description
          "Size of ephemeral storage resources the container can
           maximally use(e.g. in GB).";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      list huge-page-resources {
        key "hugepage-size";
        max-elements "1";

        leaf hugepage-size{
          type uint32;
          description
            "Specifies the size of the hugepage.";
        }
        leaf requested-size {
          type uint32;
          description
            "Specifies the total size required for all the
             hugepages of the size indicated by hugepage-size.";
        }
        leaf size-unit {
          type scaler-units-size;
          description
            "Specifies the unit used for both hugepage-size
             and requested-size";
		    }
        description
          "An array of key-value pairs of HugePages resources
           requested for the container, which the container
           can maximally use (e.g., \"hugepages-2Mi: 100Mi\").";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf sw-image-desc {
        type leafref {
          path "../../sw-image-desc/id";
        }
        description
          "Describes the software image realizing this OS container.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      leaf boot-data {
        type string;
        description
          "Contains a string or a URL to a file contained in the VNF
           package used to customize a container resource at boot time.
           The bootData may contain variable parts that are replaced
           by deployment specific values before being sent.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }

      list monitoring-parameter {
        key "id";
        leaf id {
          type string;
          description
            "Unique identifier of the monitoring parameter.";
          reference
            "GS NFV IFA011: Section 7.1.11.3, MonitoringParameter
             information element.";
        }
        uses monitoring-parameter;
        description
          "Specifies the virtualised resource related performance
           metrics on the OsContainerDesc level to be tracked by
           the VNFM.";
        reference
          "GS NFV IFA011: Section 7.1.6.13, OsContainerDesc
           information element.";
      }
    }

    list sw-image-desc {
      key "id";
      description
@@ -4221,5 +4429,15 @@ submodule etsi-nfv-vnf {
      reference
        "GS NFV IFA011: Section 7.1.2 VNFD information element";
    }

    leaf-list mciop-id {
      type string;
      description
        "Identifies the MCIOP(s) in the VNF package, used in
         containerized workload management, when the VNF is
         realized by a set of OS containers.";
      reference
        "GS NFV IFA011: Section 7.1.2, VNFD Information element.";
    }
  }
}