prefix "rw-project";
}
- import rw-cloud {
- prefix "rw-cloud";
- }
-
revision 2017-02-28 {
description
"Update model to support projects.";
enum vm-init-phase;
enum vm-alloc-pending;
enum running;
+ enum upgrading;
enum terminate;
enum vl-terminate-phase;
enum terminated;
enum vl-init-phase;
enum vm-init-phase;
enum running;
+ enum upgrading; // Experimental
enum terminate;
enum vm-terminate-phase;
enum vl-terminate-phase;
}
// Use parameters provided here to configure this VNF
- uses manotypes:vnf-configuration;
+ container vnf-configuration {
+ uses manotypes:vca-configuration;
+ }
// Mainly used by Mon-params & dashboard url
container mgmt-interface {
uses manotypes:supplemental-boot-data;
+ container vdu-configuration {
+ uses manotypes:vca-configuration;
+ }
+
list volumes {
key "name";
uses associated-virtual-cps;
}
- list interface {
- description
- "List of interfaces (internal and external) for the VNF";
- key name;
-
- leaf name {
- description
- "Name of the interface. Note that this
- name has only local significance to the VDU.";
- type string;
- }
+ list interface {
+ description
+ "List of interfaces (internal and external) for the VNF";
+ key name;
- leaf position {
- description
- "Explicit Position of the interface within the list";
- type uint32;
- }
+ leaf name {
+ description
+ "Name of the interface. Note that this
+ name has only local significance to the VDU.";
+ type string;
+ }
- leaf type {
- description
- "Type of the Interface";
+ leaf position {
+ description
+ "Explicit Position of the interface within the list";
+ type uint32;
+ }
- type vnfd-base:interface-type;
+ leaf type {
+ description
+ "Type of the Interface";
- default "EXTERNAL";
- }
+ type vnfd-base:interface-type;
- choice connection-point-type {
- case internal {
- leaf internal-connection-point-ref {
- description
- "Leaf Ref to the particular internal connection point";
- type leafref {
- path "../../internal-connection-point/id";
- }
+ default "EXTERNAL";
+ }
+ choice connection-point-type {
+ case internal {
+ leaf internal-connection-point-ref {
+ description
+ "Leaf Ref to the particular internal connection point";
+ type leafref {
+ path "../../internal-connection-point/id";
}
}
- case external {
- leaf external-connection-point-ref {
- description
- "Leaf Ref to the particular external connection point";
- type leafref {
- path "../../../connection-point/name";
- }
+ }
+ case external {
+ leaf external-connection-point-ref {
+ description
+ "Leaf Ref to the particular external connection point";
+ type leafref {
+ path "../../../connection-point/name";
}
}
}
- uses virtual-interface;
}
+ uses virtual-interface;
+ }
- leaf operational-status {
+ leaf operational-status {
description
"The operational status of the VDU
init : The VDU has just started.
vm-init-phase : The VDUs in the VNF is being created in VIM.
vm-alloc-pending : The VM alloc is pending in VIM
running : The VDU is active in VM
+ upgrading : The VDU is being upgraded (EXPERIMENTAL)
terminate : The VDU is being terminated
vm-terminate-phase : The VDU in the VNF is being terminated in VIM.
terminated : The VDU is in the terminated state.
failed : The VDU instantiation failed.
";
type vdu-operational-status;
- }
+ }
+
uses placement-group-info;
}
}
}
}
-
- rpc create-alarm {
- description "Create an alert for a running VDU";
- input {
- uses manotypes:rpc-project-name;
-
- leaf cloud-account {
- mandatory true;
- type leafref {
- path "/rw-project:project[rw-project:name=current()/../project-name]" +
- "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
- }
- }
-
- leaf vdur-id {
- mandatory true;
- type string;
- }
-
- container alarm {
- uses manotypes:alarm;
- }
- }
-
- output {
- leaf alarm-id {
- type string;
- }
- }
- }
-
- rpc destroy-alarm {
- description "Destroy an alert that is associated with a running VDU";
- input {
- uses manotypes:rpc-project-name;
-
- leaf cloud-account {
- mandatory true;
- type leafref {
- path "/rw-project:project[rw-project:name=current()/../project-name]" +
- "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
- }
- }
-
- leaf alarm-id {
- mandatory true;
- type string;
- }
- }
- }
}