This chapter provides information about designing and onboarding network services, Virtual Network Functions (VNFs), and Physical Network Functions (PNFs).
Design components are files that you create in Oracle Communications Design Studio. Network Service Orchestration uses different types of files that you create in Design Studio to describe the behavior of your network services, VNFs, and PNFs.
Descriptor files. The descriptor files describe the attributes of the VNF, PNF, and Network Service specifications.
See "About Descriptor Files" for more information about the descriptor files.
Technical actions files. The technical actions files describe the actions for the VNFs, PNFs, and network services in the VIM. There is one technical actions file for each network service, VNF, and PNF.
See "About Technical Actions Files" for more information about the technical actions files.
Configuration and template files. The configuration files contain the configuration and post-configuration details for the VNFs.
See "About VNF Configuration Files" for more information about the descriptor files.
Entity Specifications. In Design Studio, you create entity specifications that you use to create instances of VNFs and network services in Network Service Orchestration. You package the entity specifications into cartridges. You create one cartridge for each VNF, network service, and PNF. See "Designing Custom Network Services" for more information.
See Design Studio Help for information about creating entity specifications in Design Studio.
Custom extensions. See "Extending Network Service Orchestration" for information about implementing custom extensions.
Descriptor files contain metadata about network services, VNFs, and PNFs. Network Service Orchestration defines descriptors as Design Studio specifications and uses these specifications to manage the life cycles of network services and VNFs.
Descriptors describe the behavior of virtual network functions that are defined in the Network Service Orchestration cartridges. There is one descriptor file for each network service, VNF, and PNF.
Network Service descriptor files describe the deployment requirements, operational behavior, and policies required by network services based on them. You use one descriptor file for each network service.
When you instantiate, scale, or terminate a network service, Network Service Orchestration deploys, scales, and undeploys the constituent VNFs based on the parameters and policies specified in the descriptor file.
You use the network service descriptor file to do the following:
Describe the descriptor information. See "Describing Descriptor Information" for more information.
Describe the VNF descriptor references. See "Describing VNF Descriptor References" for more information.
Describe the PNF descriptor references. See "Describing PNF Descriptor References" for more information.
Describe the networks by either creating them or by referencing existing networks and specifying network types. For each network, specify the VNF connection points that terminate on the network. See "Describing Networks" for more information.
Describe the service flavors for the network service. See "Describing Service Flavors" for more information.
Describe the endpoints that the network service can have. See "Describing Endpoints" for more information.
Describe the rules to determine how the network traffic is routed in the network service. See "Describing Rules" for more information.
Describe the policies and their mappings to the network forwarding paths (NFPs). See "Describing Policies" for more information.
Describe the VNF forwarding graphs (VNFFGs) that include one or more network forwarding paths (NFPs) that determine how network traffic is routed in a network service. See "Describing VNF Forwarding Graphs" for more information.
Describing Descriptor Information
In the network service descriptor file, you describe descriptor information, such as descriptor ID, descriptor name, vendor name, and descriptor version.
The following text shows the elements that enable you to provide information about the network service descriptor XML file:
<nsd id="network_service_descriptor_id" name="network_service_descriptor_name"> <vendor>vendor_name</vendor> <version>descriptor_version</version>
Table 3-1 describes the parameters you specify to provide information about the network service descriptor XML file.
Table 3-1 Descriptor Information Parameters
Parameter | Description |
---|---|
network_service_descriptor_id |
Specify a unique ID for the network service descriptor. |
network_service_descriptor_name |
Specify a name for the network service descriptor. |
vendor_name |
Specify the name of the vendor. |
descriptor_version |
Specify the version of the network service descriptor. |
The following text shows the elements that provide descriptor information in the NPaas.xml sample network service descriptor file:
<nsd id="NPaas" name="NPaas"> <vendor>Oracle</vendor> <version>1.0</version>
Describing VNF Descriptor References
In the network service descriptor file, you reference the descriptors of all the VNFs that you want to include in the network service.
You reference the VNF descriptors in the network service descriptor file as follows:
<vnfd-reference ref-id="vnf_descriptor_id"/>
where:
vnf_descriptor_id is the ID of the VNF descriptor that you want to include in the network service.
The following is an example of the vnfd-reference element in the NPaas.xml sample network service descriptor file:
<!-- Multiple VNFs are supported. --> <vnfd-reference ref-id="Juniper_vSRX"/> <vnfd-reference ref-id="Checkpoint_NG_FW"/>
Describing PNF Descriptor References
In the network service descriptor file, you reference the descriptors of all the PNFs that you want to include in the network service.
You reference the PNF descriptors in the network service descriptor file as follows:
<pnfd-reference ref-id="pnf_descriptor_id"/>
where:
pnf_descriptor_id is the ID of the PNF descriptor that you want to include in the network service.
The following is an example of the pnfd-reference element in the ResidentialGateway.xml sample network service descriptor file:
<!-- Multiple PNFs are supported. --> <pnfd-reference ref-id="Cisco_xRV"/>
In the network service descriptor file, you define networks by creating them or by referencing existing networks and specifying their types. You represent networks as virtual links. You can create or reference any number of networks based on your service requirements.
The following text shows the parameters that you specify for a virtual link in a network service descriptor XML file:
<virtual-link id= "virtual_link_id" name="virtual_link_name" isReferenced="value_reference" isDHCPEnabled="value_DHCP" > <connection-point-reference ref-id="connection_point_id" vnfd-ref-id="vnf_descriptor_id"/> <connection-point-reference ref-id="connection_point_id" vnfd-ref-id="vnf_descriptor_id"/> <extension type="extension_type" handler="extension_handler"> <parameter name="parameter_name" value="parameter_value"/> </extension> </virtual-link>
Table 3-2 describes the parameters you specify for a virtual link in the network service descriptor XML file.
Table 3-2 Virtual Link Parameters
Parameter | Description |
---|---|
virtual_link_id |
Specify a unique ID for the virtual link that you want to create or reference. |
virtual_link_name |
Specify a name for the virtual link that you want to create or reference. |
value_reference |
Specify whether you want to create the network or reference an existing network in run-time. Specify true if you want to reference an existing network. Otherwise, specify false. If you reference an existing network, specify the networks using the following key in your network service descriptor properties file: vim_Id.network_service_descriptor.network_name See "Setting Network Service Descriptor Properties" for more information about setting parameters in the network service descriptor properties file. |
value_DHCP |
Specify whether the network you create or reference should support DHCP or not. Specify true if the network should support DHCP. Otherwise, specify false. |
connection_point_id |
Reference the VNF connection point defined in the VNF descriptor included in the network service. |
vnf_descriptor_id |
Reference the VNF descriptor that contains the connection point specified in the connection_point_id parameter. |
extension_type |
Specify the type of the extension. |
extension_handler |
(Optional) Specify the fully qualified class name of the handler implementation class. For example, handler="com.oracle.impl.extnHandlerImpl." If you do not specify a handler, Network Service Orchestration uses the default handler. |
parameter_name |
The name of the parameter for the extension. |
parameter_value |
The value of the parameter for the extension. |
The following text shows a virtual link element in the NPaaS.xml sample network service descriptor file:
<!-- Multiple virtual links are supported. --> <!-- isReferenced="true" means that network is not managed by Network Service Orchestration e.g. External networks in Provider Network --> <virtual-link id="ManagementNetwork" name="ManagementNetwork" isReferenced="true" isDHCPEnabled="false"> <connection-point-reference ref-id="CP03" vnfd-ref-id="Juniper_vSRX"/> <connection-point-reference ref-id="CP03" vnfd-ref-id="Checkpoint_NG_FW"/> </virtual-link> <virtual-link id="Data_IN" name="Data_IN" isReferenced="false" isDHCPEnabled="false"> <connection-point-reference ref-id="CP01" vnfd-ref-id="Juniper_vSRX"/> <connection-point-reference ref-id="CP01" vnfd-ref-id="Checkpoint_NG_FW"/> <!-- If no handler is provided, Network Service Orchestration will use its default VirtualLinkAddressHandler. --> <!-- Otherwise provide the fully qualified class name of the handler implementation class. e.g., handler="com.oracle.impl.VLHandlerImpl" --> <extension type="CreateVirtualLink"> <parameter name="subnetAddress" value="192.0.2.1/27"/> </extension> </virtual-link> <virtual-link id="Data_OUT" name="Data_OUT" isReferenced="false" isDHCPEnabled="false"> <connection-point-reference ref-id="CP02" vnfd-ref-id="Juniper_vSRX"/> <connection-point-reference ref-id="CP02" vnfd-ref-id="Checkpoint_NG_FW"/> <extension type="CreateVirtualLink"> <parameter name="subnetAddress" value="192.0.2.21/30"/> </extension> </virtual-link>
In the network service descriptor file, you can describe service flavors where in you specify constituent VNFs, reference the VNF deployment flavors defined for the constituent VNFs in their respective VNF descriptors, and specify the minimum and maximum VNF instances that must be included in the network service.
The following text shows the pattern in which you describe the service flavors in a network service descriptor file.
<service-flavor id="service_flavor_id" name="service_flavor_name"> <constituent-vnfd> <vnfd-reference ref-id="vnf_descriptor_id"/> <deployment-flavor-reference ref-id="vnf_deployment_flavor_id"/> <min-instances>min_vnf_instances</min-instances> <max-instances>max_vnf_instances</max-instances> </constituent-vnfd> </service-flavor>
Table 3-3 describes the parameters you specify for a service flavor in the network service descriptor XML file.
Table 3-3 Service Flavor Parameters
Parameter | Description |
---|---|
service_flavor_id |
Specify a unique ID for the network service flavor. |
service_flavor_name |
Specify a name for the network service flavor. |
vnf_descriptor_id |
Reference the VNF descriptor that you want to use for this network service flavor. |
vnf_deployment_flavor_id |
Reference the VNF deployment flavor defined within the VNF descriptor. |
min_vnf_instances |
Specify the minimum number of VNF instances that the network service flavor must include. |
max_vnf_instances |
Specify the maximum number of VNF instances that the network service flavor can include. |
The following text shows a service flavor element in the NPaaS.xml sample network service descriptor file:
<service-flavor id="Checkpoint" name="Checkpoint"> <!-- Multiple VNFs are supported.> <constituent-vnfd> <vnfd-reference ref-id="Checkpoint_NG_FW"/> <deployment-flavor-reference ref-id="premium"/> <min-instances>1</min-instances> <max-instances>1</max-instances> </constituent-vnfd> </service-flavor> <service-flavor id="Juniper" name="Juniper"> <constituent-vnfd> <vnfd-reference ref-id="Juniper_vSRX"/> <deployment-flavor-reference ref-id="standard"/> <min-instances>1</min-instances> <max-instances>1</max-instances> </constituent-vnfd> </service-flavor>
In the network service descriptor file, you can specify the number of endpoints the networks can have.
The following text shows the pattern in which you describe the network service endpoints in a network service descriptor file.
<endpoint id="endpoint_id" name="endpoint_name" <type>endpoint_type</type> <vld-reference ref-id="virtual_link_descriptor_id"/> <connection-point-reference ref-id="connection_point_id" vnfd-ref-id="vnf_descriptor_id"/> </endpoint>
Table 3-4 describes the parameters you specify for network service endpoints in the network service descriptor XML file.
Parameter | Description |
---|---|
endpoint_id |
Specify a unique ID of the endpoint within the network service. |
endpoint_name |
Specify a name for the endpoint within the network service. |
endpoint_type |
Specify the type of the endpoint. For example, specify FLOATING or EDGE_DEVICE. |
virtual_link_descriptor_id |
Reference the virtual link (defined within the virtual link element) that connects the endpoint to the VNF connection point. |
connection_point_id |
Specify the VNF connection point to which the endpoint (specified in the endpoint_id parameter) should be connected. |
vnf_descriptor_id |
Specify the VNF descriptor that contains the connection point specified in connection_point_id parameter. |
The following text shows an endpoint element in the NPaaS.xml sample network service descriptor file:
<endpoint id="SERVICE_EP1" name="SERVICE_EP1" type="FLOATING"> <vld-reference ref-id="Data"/> <connection-point-reference ref-id="CP01" vnfd-ref-id="Juniper_vSRX"/> </endpoint> <endpoint id="SERVICE_EP2" name="SERVICE_EP2" type="FLOATING"> <vld-reference ref-id="Data"/> <connection-point-reference ref-id="CP02" vnfd-ref-id="Juniper_vSRX"/> </endpoint>
In the network service descriptor file, you can define rules that enable you to specify specific conditions as name-value pairs to control the type of the network traffic in a network service.
The following text shows the pattern in which you describe the rules in a network service descriptor file.
<rule id="rule_id" name="rule_name" type="rule_type"> <parameter name="name" value="value"/> <parameter name="name" value="value"/> </rule>
Table 3-5 describes the parameters you specify for rules in the network service descriptor XML file.
Parameter | Description |
---|---|
rule_id |
Specify a unique ID for the rule. |
rule_name |
Specify a name for the rule. |
type |
Specify the type of the rule. For example, traffic-classification. |
name |
The name of the parameter for the rule. For example, protocol or QoS. |
value |
The value of the parameter for the rule. For example, HTTP or TCP. |
The following text shows a rule element in the NPaaS.xml sample network service descriptor file:
<!-- Multiple rules are supported. --> <!-- Rules define the conditions or constraints. --> <rule id="rule1" name="rule1" type="traffic-classification> <parameter name="type" value="video"/> <parameter name="protocol" value="UDP"/> </rule> <rule id="rule2" name="rule2" type="traffic-classification> <parameter name="QOS" value="5"> <parameter name="protocol" value="TCP"> </rule>
In the network service descriptor file, you can define traffic classification policies that enable you to specify the type of network traffic to be carried on the forwarding paths.
The following text shows the pattern in which you describe the policies for a network service in a network service descriptor file.
<policy id="policy_id" name="policy_name" type="policy_type" default="default"> <rule-reference ref-id="rule_id" action="nfp_id" vnffg-ref-id="vnffg_id"/> <rule-reference ref-id="rule_id" action="nfp_id" vnffg-ref-id="vnffg_id"/> </policy>
Table 3-6 describes the parameters you specify for policies in the network service descriptor XML file.
Parameter | Description |
---|---|
policy_id |
Specify a unique ID for the policy. |
policy_name |
Specify a name for the policy. For example, Premium or Standard. |
policy_type |
Specify the type of the policy. For example, traffic-classification. |
default |
Specify true if you want to create this policy by default during network service instantiation. Otherwise, specify false. |
rule_id |
Reference the unique ID for the defined rule. |
nfp_id |
Reference the unique ID for the network forwarding path to which the network traffic should be routed. |
vnffg_id |
Reference the unique ID for the virtual network function forwarding graph that contains the network forwarding path you specified in the nfp_id parameter. |
The following text shows a policy element in the NPaaS.xml sample network service descriptor file:
<!-- Multiple policies are supported. --> <!-- Policies define the rules and the corresponding action to be taken. --> <policy id="premium" name="premium" type="traffic-classification default="true"> <rule-reference ref-id="rule1" action="nfp-ref-id:nfp1" vnffg-ref-id="vnffg1"/> <rule-reference ref-id="rule2" action="nfp-ref-id:nfp2" vnffg-ref-id="vnffg1"/> </policy> <policy id="standard" name="standard" type="traffic-classification> <rule-reference ref-id="rule1" action="nfp1" vnffg-ref-id="vnffg1"/> </policy>
Describing VNF Forwarding Graphs
In the network service descriptor file, you can describe VNF forwarding graphs (VNFFGs) that include one or more network forwarding paths (NFPs) that define how the network traffic should be routed through the VNF connection points in a network service.
The following text shows the pattern in which you describe a VNF forwarding graph in a network service descriptor file:
<vnffg id="vnffg_id" name="vnffg_name" default="default"> <vnfd-reference ref-id="vnf_descriptor_id"/> <vld-reference ref-id="virtual_link_descriptor_id"/> <endpoint-reference ref-id="endpoint_id"/> <endpoint-reference ref-id="endpoint_id"/> <network-forwarding-path id="nfp_id" name="nfp_name"> <forwarding-policy>forwarding_policy_type</forwarding-policy> <source-endpoint-reference ref-id="source_endpoint_id"/> <connection-point-reference ref-id="connection_point_id" vnfd-ref-id="vnf_descriptor_id" order="connection_point_order"/> <connection-point-reference ref-id="connection_point_id" vnfd-ref-id="vnf_descriptor_id" order="connection_point_order"/> <destination-endpoint-reference ref-id="destination_endpoint_id"/> </network-forwarding-path> </vnffg>
Table 3-7 describes the parameters you specify for a VNF forwarding graph (VNFFG) in the network service descriptor XML file.
Table 3-7 VNF Forwarding Graph Parameters
Parameter | Description |
---|---|
vnffg_id |
Specify a unique ID for the VNFFG. |
vnffg_name |
Specify a name for the VNFFG. |
default |
Specify true if you want to create this VNFFG by default during network service instantiation. Otherwise, specify false. |
vnf_descriptor_id |
Reference the VNF descriptor that you want to include in the VNFFG. |
virtual_link_descriptor_id |
Reference the virtual link (defined within the virtual link element) that you want to include in the VNFFG. |
endpoint_id |
Reference the endpoint for the network service. |
nfp_id |
Specify a unique ID for the network forwarding path (NFP) that you want to include in the VNFFG. |
nfp_name |
Specify a name for the NFP that you want to include in the VNFFG. |
forwarding_policy_type |
Specify the type of the forwarding policy for the network traffic in the network forwarding path. For example, SYMMETRIC or ASYMMETRIC. |
source_endpoint_id |
Reference the endpoint you specified in the endpoint_id parameter that you want to designate as the source endpoint for the network service. |
connection_point_id |
Reference the VNF connection point that you want to include in the NFP. Typically, in a VNF, one connection point is connected to the DATA_IN network and another connection point is connected to the DATA_OUT network. In situations where a single connection point is connected to both DATA_IN and DATA_OUT networks, you must specify the VNF connection point twice, which indicates that the same connection point is used for both incoming and outgoing network traffic. In the following example, the connection point CP11 is specified twice, which indicates that CP11 is connected to both DATA_IN and DATA_OUT networks: <network-forwarding-path id="nfp1" name="nfp1"> <forwarding-policy>SYMMETRIC</forwarding-policy> <source-endpoint-reference ref-id="CP01"/> <connection-point-reference ref-id="CP11" vnfd-ref-id="VNFD1" order="1"/> <connection-point-reference ref-id="CP11" vnfd-ref-id="VNFD1" order="2"/> <connection-point-reference ref-id="CP21" vnfd-ref-id="VNFD2" order="3"/> <connection-point-reference ref-id="CP24" vnfd-ref-id="VNFD2" order="4"/> <connection-point-reference ref-id="CP31" vnfd-ref-id="VNFD3" order="5"/> <connection-point-reference ref-id="CP32" vnfd-ref-id="VNFD3" order="6"/> <destination-endpoint-reference ref-id="CP41"/> </network-forwarding-path> |
vnf_descriptor_id |
Reference the VNF descriptor that contains the connection point you specified in the connection_point_id parameter. |
connection_point_order |
Specify the order of the connection point for the NFP. |
destination_endpoint_id |
Reference the endpoint you specified in the endpoint_id parameter that you want to designate as the destination endpoint for the network service. |
The following text shows a VNFFG element in the NPaaS.xml sample network service descriptor file:
<vnffg id="data-vnffg1" name="data-vnffg1" default="true"> <vnfd-reference ref-id="Juniper_vSRX"/> <vld-reference ref-id="Data"/> <endpoint-reference ref-id="Service_EP1"/> <endpoint-reference ref-id="Service_EP2"/> <!-- Multiple network forwarding paths are supported. --> <network-forwarding-path id="nfp1" name="nfp1"> <forwarding-policy>SYMMETRIC</forwarding-policy> <source-endpoint-reference ref-id="Service_EP1"/> <connection-point-reference ref-id="CP01" vnfd-ref-id="VNFD1" order="1"/> <connection-point-reference ref-id="CP02" vnfd-ref-id="VNFD1" order="2"/> <destination-endpoint-reference ref-id="Service_EP2"/> </network-forwarding-path> </vnffg>
VNF descriptor files describe the deployment requirements, operational behavior, and policies required by VNFs that are based on them.
Network Service Orchestration includes the following sample VNF descriptor files:
Juniper_vSRX.xml. This is the descriptor file for the Juniper vSRX firewall VNF.
Checkpoint_NG_FW.xml. This is the descriptor file for the Checkpoint NG firewall VNF.
OracleComms_SBC.xml. This is the descriptor file for the Session Border Controller (SBC) VNF.
You use virtual network function descriptor file to do the following:
Describe the VNF descriptor information. See "Describing VNF Descriptor Information" for more information.
Describe the connection points for the VNF. See "Describing VNF Connection Points" for more information.
Describe the internal virtual links for the internal connection points of the Virtual Network Function Components (VNFCs). See "Describing Internal Virtual Links" for more information.
Describe the Virtual Deployment Unit (VDU) flavors. See "Describing Virtual Deployment Unit Flavors" for more information.
Describe the VDU images. See "Describing VDU Images" for more information.
Describe the VDUs on which you want to install the VNFCs. See "Describing Virtual Deployment Units" for more information.
Describe the VNF deployment flavors. See "Describing VNF Deployment Flavors" for more information.
Describing VNF Descriptor Information
In the VNF descriptor file, you provide the VNF descriptor information, such as descriptor ID, descriptor name, vendor name, VNF descriptor version, and VNF version.
The following text shows the elements that enable you to provide information about the VNF descriptor XML file:
<nsd id="network_service_descriptor_id" name="network_service_descriptor_name"> <vendor>vendor_name</vendor> <version>descriptor_version</version> <vnf-version>vnf_version</vnf-version>
Table 3-1 describes the parameters you specify to provide information about the VNF descriptor XML file.
Table 3-8 VNF Descriptor Information Parameters
Parameter | Description |
---|---|
vnf_descriptor_id |
Specify a unique ID for the VNF descriptor that you want to include in the network service. |
vnf_descriptor_name |
Specify a name for the VNF descriptor that you want to include in the network service. |
vendor_name |
Specify the name of the VNF vendor. |
descriptor_version |
Specify the version of the VNF descriptor. |
vnf_version |
Specify the software version number for the VNF image. |
The following text shows the elements that provide descriptor information in the Juniper_vSRX.xml sample VNF descriptor file:
<vnfd id="Juniper_vSRX" name="Juniper_vSRX"> <vendor>Oracle</vendor> <version>1.0</version> <vnf-version>1.0</vnf-version>
Describing VNF Connection Points
In the VNF descriptor file, you can specify the internal, external, and management connection points for the VNF.
The following text shows the pattern in which you describe the internal, external, and management connection points in a VNF descriptor file.
<connection-point id="connection_point_id" name="connection_point_name" type="connection_point_type"/>
Table 3-9 describes the parameters you specify for internal and external connection points in the VNF descriptor XML file.
Table 3-9 Connection Point Parameters
Parameter | Description |
---|---|
connection_point_id |
Specify a unique ID for the VNF connection point. |
connection_point_name |
Specify a name for the VNF connection point. |
connection_point_type |
Specify the type of the VNF connection point. For example, MANAGEMENT, EXTERNAL, or INTERNAL. |
The following text shows a connection point element in the Juniper_vSRX.xml sample VNF descriptor file:
<!-- Multiple connection points are supported. --> <connection-point id="CP03" name="CP03" type="MANAGEMENT"/> <connection-point id="CP01" name="CP01" type="EXTERNAL"/> <connection-point id="CP02" name="CP02" type="EXTERNAL"/>
Describing Internal Virtual Links
In the VNF descriptor file, you can define the connectivity between the components within a VNF as internal virtual links. For each internal virtual link, specify the internal connection points that connect the internal virtual link to different components within a VNF.
Note:
Network Service Orchestration does not use the VNF's internal virtual link information; instead, it passes this information to the VNF manager for processing.The following text shows the pattern in which you describe the internal virtual links in a VNF descriptor file.
<virtual-link id="virtual_link_id" name="virtual_link_name"> <connection-point-reference ref-id="connection_point_id"/> <connection-point-reference ref-id="connection_point_id"> <security enabled="security_value"> <extension type="extension_type" handler="extension_handler"> <parameter name="parameter_name" value="parameter_value" /> <parameter name="parameter_name" value="parameter_value" /> </extension> </security> </virtual-link>
Table 3-10 describes the parameters you specify for internal virtual links in the VNF descriptor XML file.
Table 3-10 Internal Virtual Link Parameters
Parameter | Description |
---|---|
virtual_link_id |
Specify a unique ID for the internal virtual link. |
virtual_link_name |
Specify a name for the virtual link. |
connection_point_id |
Reference the internal connection point of the VNF. |
security_value |
Specify whether internal virtual links should be created with security enabled or disabled. Specify true to enable security for the internal virtual links. Otherwise, specify false. |
extension_type |
Specify the type of the extension. |
extension_handler |
Specify the fully qualified class name of the handler implementation class. |
parameter_name |
The name of the parameter for the extension. |
parameter_value |
The value of the parameter for the extension. |
The following text shows a virtual link element that you specify for an internal virtual link of a VNF in a sample VNF descriptor file:
<!-- Multiple Internal Virtual Links are supported. --> <!-- Specifying Internal Virtual Links is Optional --> <virtual-link id="InternalVL" name="InternalVL"> <connection-point-reference ref-id="CP04"/> <connection-point-reference ref-id="CP05"/> <security enabled="true"> <extension type="SecurityGroups" handler="com.oracle.impl.ExtnImpl"> <!-- Multiple security groups are supported. --> <parameter name="security_groups" value="open, default"/> </security> </virtual-link>
Describing Virtual Deployment Unit Flavors
In the VNF descriptor file, you can define VDU deployment flavors that represent specific deployment of a VDU supporting specific key performance indicators (KPIs), such as compute, memory, and storage capacity.
The following text shows the pattern in which you describe the VDU flavor in a VNF descriptor file.
<vdu-flavor id="vdu_flavor_id" name="vdu_flavor_name"> <cpu>cpu</cpu> <memory>memory</memory> <storage>disk_space</storage> </vdu-flavor>
Table 3-11 describes the parameters you specify for a VDU flavor in the VNF descriptor XML file.
Table 3-11 Virtual Deployment Unit Flavor Parameters
Parameter | Description |
---|---|
vdu_flavor_id |
Specify a unique ID for the VDU flavor. |
vdu_flavor_name |
Specify a name for the VDU flavor. |
cpu |
Specify the number of virtual CPUs that you want to allocate for the VDU. |
memory |
Specify the memory you want to allocate for the VDU. Specify the memory in GB. |
disk_space |
Specify the disk space that you want to allocate for the VDU. Specify the disk space in GB. |
The following text shows a vdu-flavor element in the Juniper_vSRX.xml sample VNF descriptor file:
<vdu-flavor id="vsrx.small" name="vsrx.small"> <cpu>2</cpu> <memory>2GB</memory> <storage>20GB</storage> </vdu-flavor> <vdu-flavor id="vsrx.medium" name="vsrx.medium"> <cpu>2</cpu> <memory>4GB</memory> <storage>20GB</storage> </vdu-flavor> <vdu-flavor id="m1.medium" name="m1.medium"> <cpu>2</cpu> <memory>4GB</memory> <storage>40GB</storage> </vdu-flavor>
In the VNF descriptor file, you can specify the VDU images that you want to instantiate for a VNF.
The following text shows the pattern in which you describe the VDU images in a VNF descriptor file.
<image id="image_id"> <software-image name="image_name" version="image_version"> <extension type="extension_type" handler="extension_handler"> <parameter name="parameter_name" value="parameter_value"/> <parameter name="parameter_name" value="parameter_value"/> </extension> </software-image> </image>
Table 3-13 describes the parameters you specify for a VDU image in the VNF descriptor XML file.
Table 3-12 VNF Image Parameters
Parameter | Description |
---|---|
image_id |
Specify a unique ID for the VDU image. |
image_name |
Specify a name for the VDU image. |
image_version |
Specify the software version number for the VDU image. |
extension_type |
Specify the type of the extension. |
extension_handler |
(Optional) Specify the handler for the extension. |
parameter_name |
The name of the parameter for the extension. |
parameter_value |
The value of the parameter for the extension. |
The following text shows an image element in the Juniper_vSRX.xml sample VNF descriptor file:
<image id="vsrx-v1.0" > <software-image name="vsrx-12.1X47-D20.7-npaas-v0.3" version="1.0" > <extension type="ImageCredentials" handler="oracle.communications.inventory.nso.extensions.impl.ImageCredentialsHandlerImpl"> <parameter name="username" value="root" /> <parameter name="password" value="labms01" /> </extension> </software-image> </image>
Describing Virtual Deployment Units
In the VNF descriptor file, you can describe Virtual Deployment Units, which represent the virtual machines on which VNF components (VNFCs) can be deployed.
The following text shows the pattern in which you describe the rules in a VNF descriptor file.
<vdu id="vdu_id" name="vdu_name"> <image-reference ref-id="image_id"/> <vnfc id="vnfc_id" name="vnfc_name"> <connection-point-reference ref-id="connection_point_id" order="connection_point_order"/> <connection-point-reference ref-id="connection_point_id" order="connection_point_order"> <connection-point-reference ref-id="connection_point_id" order="connection_point_order"> </vnfc> <security enabled="security_value"> <!-- Security group values can be provided dynamically during instantiation --> <extension type="extension_type" handler="extension_handler"> <!-- Multiple security groups are supported. --> <parameter name="parameter_name" value="parameter_value"> <parameter name="parameter_name" value="parameter_value"> </extension> </security> </vdu>
Table 3-13 describes the parameters you specify for a VDU in the VNF descriptor XML file.
Table 3-13 Virtual Deployment Unit Parameters
Parameter | Description |
---|---|
vdu_id |
Specify a unique ID for the VDU. |
vdu_name |
Specify a name for the VDU. |
image_id |
Reference the VDU image that should be used to instantiate the VDU. |
vnfc_id |
Specify a unique ID for the VNF component in the VDU. |
vnfc_name |
Specify a name for the VNF component in the VDU. |
connection_point_id |
Reference a VNF connection point. |
connection_point_order |
Specify the order of the connection point. |
security_value |
Specify whether the VDU should be created with security enabled or disabled. Specify true to enable security; otherwise, specify false. |
extension_type |
Specify the type of the extension. |
extension_handler |
(Optional) Specify the fully qualified class name of the handler implementation class. |
parameter_name |
The name of the parameter for the extension. |
parameter_value |
The value of the parameter for the extension. |
The following text shows a vdu element in the Juniper_vSRX.xml sample VNF descriptor file:
<!-- Multiple VDUs are supported. --> <vdu id="Juniper_vSRX_VDU" name="Juniper_vSRX_VDU"> <image-reference ref-id="vsrx-v1.0"/> <vnfc id="vsrxc" name="vsrxc"> <connection-point-reference ref-id="CP03" order="1"/> <!-- Management port will not have VL reference --> <connection-point-reference ref-id="CP01" order="2"/> <!-- External CP does not have VL reference --> <connection-point-reference ref-id="CP01" order="3"/> <!-- External CP does not have VL reference --> </vnfc> <security enabled="true"> <!-- Security group values can be provided dynamically during instantiation --> <!-- If no handler is provided, Network Service Orchestration will use its default SecurityGroupHandler. --> <!-- Otherwise provide the fully qualified class name of the handler implementation class. e.g., handler="com.oracle.impl.SecurityGroupHandlerImpl" --> <extension type="SecurityGroups"> <!-- Multiple security groups are supported. --> <parameter name="type" type="VDU"> <parameter name="security_groups" type="open, default"> </extension> <extension type="SecurityGroups"> <!-- Multiple security groups are supported. --> <parameter name="type" type="CP"> <parameter name="security_groups" type="all"> <parameter name="connection_points" type="CP01, CP02"> </extension> </extensions> </security> </vdu>
Describing VNF Deployment Flavors
Deployment flavors give you the flexibility to choose which VDUs should be deployed for the VNF and, in turn, which VNF components should be deployed on those VDUs.
In the VNF descriptor file, you can describe deployment flavors where in you specify constituent VDUs of the VNF. For each VDU, specify the constituent VNF components, including the minimum and maximum number of VNF component instances that the VDU can have. You can also specify the VDU flavors, including the minimum and maximum VDU instances that the deployment flavor can have.
In addition, you can also define the assurance parameters for various factors. For example, you can define assurance parameters to heal a VNF or scale a VNF in the network service, depending on the CPU utilization of the virtual machine on which the VDUs of a VNF are deployed.
The following text shows the pattern in which you describe the deployment flavor in a VNF descriptor file.
<deployment-flavor id="deployment_flavor_id" name="deployment_falvor_name" default="default"> <constituent-vdu> <vdu-reference ref-id="vdu_id"/> <constituent-vnfc> <vnfc-reference ref-id="vnfc_id"/> <min-instances>min_vnfc_instances</min-instances> <max-instances>max_vnfc_instances</max-instances> </constituent-vnfc> <vdu-flavor-reference ref-id="vdu_flavor_id"/> <min-instances>min_vdu_instances</min-instances> <max-instances>max_vdu_instances</max-instances> <scale-quantity>scale_quantity</scale_quantity> <assurance-parameter id="assurance_parameter_id" description="assurance_parameter_description"> <parameter name="parameter_name" value="parameter_value"/> <parameter name="parameter_name" value="parameter_value"/> <parameter name="parameter_name" value="parameter_value"/> </assurance-parameter> </constituent-vdu> </deployment-flavor>
Table 3-14 describes the parameters you specify for deployment flavors in the VNF descriptor XML file.
Table 3-14 Deployment Flavor Parameters
Parameter | Description |
---|---|
deployment_flavor_id |
Specify a unique ID for the deployment flavor. |
deployment_flavor_name |
Specify a name for the deployment flavor. |
default |
Indicates if the VNF should use this deployment flavor by default or not. Specify true if you want Network Service Orchestration to use this deployment flavor for the VNF. Otherwise, specify false. |
vdu_id |
Reference the VDU on which the constituent VNF components can be deployed. |
vnfc_id |
Reference the constituent VNF components that you want deployed on the VDU. |
min_vnfc_instances |
Specify the minimum number of VNF component instances that the deployment flavor must include. |
max_vnfc_instances |
Specify the maximum number of VNF component instances that the deployment flavor can include. |
vdu_flavor_id |
Reference the VDU flavor ID. |
min_vdu_instances |
Specify the minimum number of VDU instances that the deployment flavor must include. |
max_vdu_instances |
Specify the maximum number of VDU instances that the deployment flavor can include. |
scale_quantity |
Specify the number of VDU instances that should be added when you scale-out a VNF. Similarly, this parameter determines the number of VDU instances that should be removed when you scale-in a VNF. |
assurance_parameter_id |
Specify a unique ID for the assurance parameter. |
assurance_parameter_description |
Provide a description to identify the purpose of the assurance parameter. For example, specify Low CPU Utilization or High CPU Utilization. |
parameter_name |
Specify the parameter name for the assurance parameter. |
parameter_value |
Specify the parameter value for the assurance parameter. |
The following text shows the deployment flavor element in the Juniper_vSRX.xml sample VNF descriptor file:
<!-- Multiple deployment flavors are supported. --> <deployment-flavor id="standard" name="standard" default="true"> <!-- Each deployment flavor can further choose which VDU, and which VNFC in the VDU to deploy. --> <!-- For example: depFlavor1 only selects VDUTypeA, VNFCTypeX to deploy, but not VNFCTypeY. --> <constituent-vdu> <vdu-reference ref-id="Juniper_vSRX_VDU"/> <constituent-vnfc> <vnfc-reference ref-id="vsrxc"/> <min-instances>1</min-instances> <max-instances>1</max-instances> </constituent-vnfc> <vdu-flavor-reference ref-id="vsrxc"/> <min-instances>1</min-instances> <max-instances>1</max-instances> <scale-quantity>2</scale-quantity> <assurance-parameter id="ap1" description="Low CPU Utilization"> <parameter name="meter_name" value="cpu_util"/> <parameter name="value" value="0.0"/> <parameter name="condition" value="eq"/> <parameter name="action" value="heal"/> </assurance-parameter> <assurance-parameter id="ap2" description="High CPU Utilization"> <parameter name="meter_name" value="cpu_util"/> <parameter name="value" value="80.0"/> <parameter name="condition" value="gt"/> <parameter name="action" value="scale"/> </assurance-parameter> </constituent-vdu> </deployment-flavor>
PNF descriptor files describe the deployment requirements, operational behavior, and policies required by PNFs that are based on them.
In the PNF descriptor file, you specify:
Vendor details
The version of the PNF descriptor
The software version of the PNF
Connection points for the PNF
The following text shows the pattern in which you describe a PNF in the PNF descriptor file:
<pnfd id="pnf_descriptor_id" name="pnf_descriptor_name"> <vendor>vendor_name</vendor> <version>descriptor_version</version> <pnf-version>pnf_version</pnf-version> <!-- Multiple connection points are supported. --> <connection-point id="connection_point_id" name="connection_point_name"/> <connection-point id="connection_point_id" name="connection_point_name"/> <connection-point id="connection_point_id" name="connection_point_name"/> </pnfd>
Table 3-15 describes the parameters you specify to provide information about the PNF descriptor XML file.
Table 3-15 PNF Descriptor Parameters
Parameter | Description |
---|---|
pnf_descriptor_id |
Specify a unique ID for the PNF descriptor that you want to include in the network service. |
pnf_descriptor_name |
Specify a name for the PNF descriptor that you want to include in the network service. |
vendor_name |
Specify the name of the PNF vendor. |
descriptor_version |
Specify the version of the PNF descriptor. |
pnf_version |
Specify the software version number for the PNF image. |
connection_point_id |
Specify a unique ID for the PNF connection point. |
connection_point_name |
Specify a name for the PNF connection point. |
Network Service Orchestration includes the following sample PNF descriptor file:
Cisco_xRV.xml. This descriptor file can be used for the Cisco xRV router PNF.
The following text shows the elements in the Cisco_xRV.xml sample PNF descriptor file:
<pnfd id="Cisco_xRV" name="Cisco_xRV"> <vendor>CISCO</vendor> <version>1.0</version> <pnf-version>1.0</pnf-version> <!-- Multiple connection points are supported. --> <connection-point id="CP01" name="CP01"/> <connection-point id="CP02" name="CP02"/> <connection-point id="CP03" name="CP03"/> </pnfd>
In Design Studio, you create a descriptor file for each Network Service specification and VNF Service specification.
To create a descriptor file:
In Design Studio, import all the Network Service Orchestration cartridges. See "Setting Up Design Studio for Extending Network Service Orchestration" for more information about importing the cartridges into Design Studio.
Switch to the Navigator view.
In the root directory of the cartridge project, create the following folder structure:
model/content/product_home/config
Right-click on the config folder and create an XML file with the name ServiceSpecificationName.xml for a network service, LogicalDeviceSpecificationName.xml for a VNF, and LogicalDeviceSpecificationName.xml for a PNF.
where:
ServiceSpecificationName is the name of the service specification
LogicalDeviceSpecificationName is the name of the logical device specification, which represents a VNF or a PNF.
Copy the sample content from the sample cartridge project to the XML file and modify it according to your service requirements.
Technical actions files describe the actions for the VNFs, PNFs, and network services in a VIM. There is one technical actions file for each network service, VNF, and PNF.
In the technical actions file, for each technical action, you define the following elements:
action: This element declares a technical action, its signature (which contains the name and type of each parameter), and the type of its subject and target.
match: This element declares configuration differences that match an XPath expression.
generator: This element defines all the bindings of the configuration to the parameters, subject, and target of the action to be generated.
The following example shows the elements in the Juniper_vSRX_Service_TechnicalActions.xml file:
<technicalActionCalculator xmlns="http://xmlns.oracle.com/communications/inventory/actioncalculator" xmlns:invactcalc="http://xmlns.oracle.com/communications/inventory/actioncalculator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/communications/inventory/actioncalculator ../../../../../../calc_tech_actions_uim_workspace/ora_uim_calculate_technical_order_metadata/schemas/TechnicalActionCalculator.xsd"> <invactcalc:action> <name>DEPLOY_VNF</name> <actionCode>DEPLOY_VNF</actionCode> <subject> <class>LogicalDevice</class> </subject> <target> <class>LogicalDevice</class> </target> <parameter> <name>serviceID</name> <type>string</type> </parameter> <parameter> <name>vnfID</name> <type>string</type> </parameter> <parameter> <name>vnfName</name> <type>string</type> </parameter> <parameter> <name>vnfdName</name> <type>string</type> </parameter> <parameter> <name>flavor</name> <type>string</type> </parameter> <parameter> <name>vimId</name> <type>string</type> </parameter> <parameter> <name>vdus</name> <type>string</type> </parameter> <parameter> <name>vnfcs</name> <type>string</type> </parameter> <parameter> <name>ports</name> <type>string</type> </parameter> </invactcalc:action> <invactcalc:match> <invactcalc:diff> <invactcalc:path>/root/after/vnf/Assignment[@State='PENDING_ASSIGN' and /root/service[state!='PENDING_DISCONNECT']]/..</invactcalc:path> </invactcalc:diff> <invactcalc:action>DEPLOY_VNF</invactcalc:action> <invactcalc:anchor>.</invactcalc:anchor> </invactcalc:match> <invactcalc:generator> <invactcalc:action>DEPLOY_VNF</invactcalc:action> <invactcalc:condition>/root/after/vnf/Assignment[@State='PENDING_ASSIGN']</invactcalc:condition> <subject>.</subject> <target>.</target> <binding> <parameter>serviceID</parameter> <path>/root/service/id</path> </binding> <binding> <parameter>vnfID</parameter> <path>Assignment/id</path> </binding> <binding> <parameter>vnfName</parameter> <path>Assignment/name</path> </binding> <binding> <parameter>vnfdName</parameter> <path>Assignment/specification</path> </binding> <binding> <parameter>flavor</parameter> <path>Assignment/flavorName</path> </binding> <binding> <parameter>vimId</parameter> <path>Assignment/vimId</path> </binding> <binding> <parameter>vdus</parameter> <path>string-join(vdus/vdu/( concat( 'id:', @id, '_VDUAttrDlm_', 'name:', Assignment/name, '_VDUAttrDlm_', 'imageName:', Assignment/imageName, '_VDUAttrDlm_', 'imageId:', Assignment/imageId, '_VDUAttrDlm_', 'imageVersion:', Assignment/imageVersion, '_VDUAttrDlm_', 'availabilityZone:', Assignment/availabilityZoneName, '_VDUAttrDlm_', 'flavorName:', Assignment/flavorName, '_VDUAttrDlm_', 'securityGroups:', Assignment/securityGroups, '_VDUAttrDlm_' )), '_VDUDlm_') </path> </binding> <binding> <parameter>vnfcs</parameter> <path>string-join(vdus/vdu/vnfcs/vnfc/( concat( 'vduItemId:', ../../@id, '_VNFCAttrDlm_', 'id:', @id, '_VNFCAttrDlm_' )), '_VNFCDlm_') </path> </binding> <binding> <parameter>ports</parameter> <path>string-join(vdus/vdu/vnfcs/vnfc/connectionPoints/connectionPoint/( concat( 'vnfcItemId:', ../../@id, '_PortAttrDlm_', 'id:', port/Reference/id, '_PortAttrDlm_', 'cpName:',Reference/name, '_PortAttrDlm_', 'extNetId:', network/Reference/extNetId, '_PortAttrDlm_', 'extSubnetId:', network/Reference/externalID, '_PortAttrDlm_', 'isDhcpEnabled:', network/isDhcpEnabled, '_PortAttrDlm_', 'isPortSecurityEnabled:',isPortSecurityEnabled,'_PortAttrDlm_', 'securityGroups:',securityGroups, '_PortAttrDlm_', 'order:',order, '_PortAttrDlm_' )), '_PortDlm_') </path> </binding> </invactcalc:generator> </technicalActionCalculator>
In Design Studio, you create a technical actions file for each Network Service specification, a VNF Service specification, and a PNF specification.
To create a technical actions file:
In Design Studio, switch to the Navigator view.
In the root directory of the cartridge project, create the following folder structure:
model/content/product_home/config
Right-click on the config folder and create an XML file with the name ServiceSpecificationName_TechnicalActions.xml, where ServiceSpecificationName is the name of the service specification.
Copy the sample content from the sample cartridge project to the XML file and modify it according to your service requirements.
Depending on the functionality that they deliver, some VNFs in a network service may require configuration after they are deployed. After a VNF is deployed, you can configure the VNF based on its configuration requirements.
Note:
Post-deployment configuration of VNFs is not always required.To configure a VNF, Network Service Orchestration requires the following configuration files to be created:
VNFD_NameTemplate.conf
This is a VNF-specific configuration template in which you specify the placeholder fields for instance-specific parameters.
VNFD_NameConfig.xml
This is a configuration file in which you specify the VNF instance-specific configuration parameter values as name-value pairs.
Network Service Orchestration generates the VNFD_Name.conf configuration file based on the VNFD_NameTemplate.conf file and the VNFD_NameConfig.xml file.
Network Service Orchestration reads all the name-value pairs in the VNFD_NameConfig.xml file and replaces the placeholder fields in the VNFD_NameTemplate.conf file and generates the VNFD_Name.conf file.
The following text shows a sample configuration template for the Juniper vSRX VNF in the Juniper_vSRX_Template.conf configuration file:
<rpc> <edit-config> <target> <candidate/> </target> <config> <configuration> <security> <utm> <custom-objects> <url-pattern> <name>bad-sites</name> <value>{{site-name}}</value> </url-pattern> </custom-objects> </utm> </security> </configuration> </config> </edit-config> </rpc>
The following example shows a sample configuration for the Juniper vSRX VNF in the Juniper_vSRX_Config.xml configuration file:
<vnfConfiguration> <config> <param> <name>site-name</name> <value>www.example.com</value> </param> <sbiToPushConfiguration> <interface>netconf</interface> <interface-script></interface-script> </sbiToPushConfiguration> <action>null</action> </config> </vnfConfiguration>
You define and specify properties for your network service in the UIM_Home/config/network_service_descriptor.properties file, where network_service_descriptor is the name of your network service descriptor. You create one properties file for each network service that you want to create and implement.
Table 3-16 describes the parameters that you specify for a network service.
Table 3-16 Network Service Descriptor Parameters
Parameter | Description |
---|---|
network_service_descriptor.default.dataCenter |
Used to specify the default data center if you use multiple VIMs. Otherwise, leave blank. network_service_descriptor indicates the name of the network service descriptor. For example, NPaaS. |
VIM_Id.network_service_descriptor.VLD_Name |
Used to specify the name of the management network. In the properties files of the samples, by default, the VIM ID is OpenStack. The management network is the VLD Name that is specified in the NPaaS.xml file. If you use multiple VIMs, add another entry of the same parameter and specify the VIM ID and the management network. Add multiple instances of this parameter for specifying more VLDs. |
VIM_Id.network_service_descriptor.Data_IN |
Used to specify the VIM ID and the name of the data-in network. By default, the VIM ID is OpenStack. If you use multiple VIMs, add another entry of the same parameter and specify the VIM ID and the data-in network. |
VIM_Id.network_service_descriptor.Data_OUT |
Used to specify the VIM ID and the name of the data-out network. By default, the VIM ID is OpenStack. If you use multiple VIMs, add another entry of the same parameter and specify the VIM ID and the data-out network. |
(Optional) sdnController.network_service_descriptor |
Used to specify an implementation class for the SDN controller interface. The default implementation class is com.oracle.communications.inventory.nso.nfvi.sdn.ODLManager. |
(Optional) network_service.ovs.pktInToOVSPort |
Used to specify the Open vSwitch port number of the packet-in network. |
(Optional) network_service.ovs.pktOutToOVSPort |
Used to specify the Open vSwitch port number of the packet-out network. |
(Optional) network_service.ovs.custNetToOVSPort |
Used to specify the Open vSwitch port number of the customer-side network. |
(Optional) network_service.ovs.internetToOVSPort |
Used to specify the Open vSwitch port number of the internet-side network. |
(Optional) npaas.ovs.bridge_id |
Specify the bridge ID for the Open VSwitch and prefix it with openflow. For example, openflow:OpenFlow_ID, where OpenFlow_ID is the OpenFlow ID. To retrieve the OpenFlow ID, in OpenDaylight call the following OpenDaylight REST API: http://odlIPaddress:port/restconf/operational/opendaylight-inventory:nodes/ where odlIPaddress is the IP address and port is the port number of the OpenDaylight virtual machine. |
Network Service Orchestration provides properties files for the following sample network services:
UIM_Home/config/NPaas.properties. This properties file defines the properties for the NPaaS sample network service.
UIM_Home/config/ResidentialGateway.properties. This properties file defines the properties for the Residential Gateway sample network service.
The following properties files define the properties for the Proxy-Call Session Control Function (P-CSCF) network service.
UIM_Home/config/aoconfig.properties
UIM_Home/config/P-CSCF.properties
Topology and Orchestration Specification for Cloud Applications (TOSCA) is an OASIS standard language to describe the topology of cloud-based services. TOSCA provides specifications for defining NFV descriptors. Network Service Orchestration supports tosca_simple_profile_for_nfv_1_0_0 and OpenStack Tacker NFV Profiles for NFV properties.
For more information about TOSCA, see the standards section on the OASIS web site: https://www.oasis-open.org/standards#toscav1.0
Network Service Orchestration supports onboarding of network services and VNFs using TOSCA descriptor templates that are in YAML format. Network Service Orchestration requires OpenStack TOSCA parser 6.0 (or later) to parse the descriptors.
To onboard Network Services and VNFs you import the TOSCA descriptor templates into Design Studio. When you import a TOSCA descriptor template, Network Service Orchestration processes the YAML file that contains the structural and topology details (connection points and connectivity requirements) and creates a network service cartridge project or a VNF cartridge project with the required UIM entity specifications (such as Logical Device, Service, and Service Configuration specifications), assigned or referenced resource specifications, and characteristic specifications.
Before you import the TOSCA descriptor templates into Design Studio, do the following:
Install Python 3.5.2. See "Installing Python" for instructions.
Create a new environment variable PYTHON_EXECUTABLE and add the full path to the python executable file. For example, C:\Program Files\Python35\python.exe.
Download the UIM_SDK.zip file and extract its contents.
The UIM_SDK\NSO tools\ToscaTranslator\ directory contains the following files:
OracleCommsToscaTranslator.zip
OracleCommsToscaTranslatorEnvSetup.zip
In the TOSCA_TRANSLATOR_HOME environment variable, add the path to the directory in which you extracted the OracleCommsToscaTranslator.zip file. For example, UIM_SDK\NSO tools\ToscaTranslator. The OracleCommsToscaTranslator.zip contains the lib directory and the OracleCommsToscaTranslator.pyz file.
Note:
If your operating system does not consider an environment variable defined with a blank space in the directory names, you can extract the OracleCommsToscaTranslator.zip file and move its contents to any location, and then provide the path of this location in the TOSCA_TRANSLATOR_HOME environment variable. Ensure that the lib directory and the OracleCommsToscaTranslator.pyz file are located in the same directory.If your Design Studio workspace is already open, close and reopen the workspace.
Import the required UIM base cartridges into Design Studio.
See "Setting Up Design Studio for Extending Network Service Orchestration" for information about the required UIM base cartridges.
The following text shows the TOSCA VNF descriptor template in YAML format for the sample Juniper_vSRX.yaml file. This sample shows the supported properties.
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 description: juniper vSRX firewall metadata: template_name: Juniper_vSRX_tosca template_type: VNF ID: Juniper_vSRX_tosca vendor: Juniper version: 1.0 topology_template: node_templates: Juniper_vSRX_VDU: type: tosca.nodes.nfv.VDU.Tacker capabilities: nfv_compute: properties: num_cpus: 2 mem_size: 4GB disk_size: 20GB properties: image: vsrx-12.1X47-D20.7-npaas-v0.3 CP03: type: tosca.nodes.nfv.CP.Tacker properties: management: true order: 0 requirements: - virtualBinding: node: Juniper_vSRX_VDU CP01: type: tosca.nodes.nfv.CP.Tacker properties: order: 2 requirements: - virtualBinding: node: Juniper_vSRX_VDU policies: - ScalingPolicy: type: tosca.policies.tacker.Scaling properties: increment: 1 min_instances: 1 max_instances: 3 default_instances: 1 targets: [Juniper_vSRX_VDU] - vdu1_cpu_usage_monitoring_policy: type: tosca.policies.tacker.Alarming triggers: resize_compute: event_type: type: tosca.events.resource.utilization implementation: ceilometer metrics: cpu_util condition: threshold: 50 constraint: utilization greater_than 50% period: 600 evaluations: 1 method: avg comparison_operator: gt action: resize_compute: action_name: respawn targets: [Juniper_vSRX_VDU]
Figure 3-1 depicts the TOSCA VNF Template to the VNF virtual machine mapping.
In the illustration, the Firewall_VNF VNF comprises one Virtual Deployment Unit (VDU) that is connected to three virtual links. The VDU has three connection points: CP1 (connection point 1) is connected to Mgmt-net (management network), CP2 (connection point 2) is connected to Pkt-in (packet-in network), and CP3 (connection point 3) is connected to Pkt-out (packet-out network). The networks are defined in the network service descriptor.
The following text shows the TOSCA network service descriptor template in YAML format for the sample NPaaS.yaml file. This sample shows the supported properties.
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 description: NPaaS Network Service description: NPaaS Network Service metadata: template_name: NPaaS_tosca template_type: NS ID: NPaaS_tosca vendor: Oracle version: 1.0 imports: - juniper_vSRX_definition.yaml - Juniper_vSRX.yaml topology_template: node_templates: Juniper_vSRX_tosca: type: tosca.nodes.nfv.VNF.Juniper requirements: - virtualLink1: data - virtualLink2: mgmt data: type: tosca.nodes.nfv.VL properties: network_name: data vendor: Oracle mgmt: type: tosca.nodes.nfv.VL properties: network_name: mgmt vendor: Oracle policies: - ScalingPolicy: type: tosca.policies.tacker.Scaling properties: increment: 1 min_instances: 1 max_instances: 3 default_instances: 1 targets: [Juniper_vSRX_tosca]
To make the VNFs a part of the network service, do the following:
Define the substitution_mappings in each VNF YAML file, as follows:
topology_template: substitution_mappings: node_type: requirements: virtualLink1: virtualLink2: node_templates:
The following example shows the substitution mappings that you must define when you import the Juniper_vSRX.yaml file into the NPaas.yaml file:
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 description: juniper vSRX firewall imports: - <Full directory Path of this file>\Juniper_vSRX_definition.yaml # Replace <Full directory Path of this file> with full path of directory containing Juniper_vSRX_definition.yaml file topology_template: substitution_mappings: node_type: tosca.nodes.nfv.VNF.Juniper requirements: virtualLink1: [CP01, CP02, virtualLink] virtualLink2: [CP03, virtualLink] node_templates: Juniper_vSRX_VDU: type: tosca.nodes.nfv.VDU.Tacker capabilities: nfv_compute: properties: num_cpus: 2 mem_size: 4GB disk_size: 20GB properties: image: vsrx-12.1X47-D20.7-npaas-v0.3 CP03: type: tosca.nodes.nfv.CP.Tacker properties: management: true order: 0 requirements: - virtualBinding: node: Juniper_vSRX_VDU CP02: type: tosca.nodes.nfv.CP.Tacker properties: order: 1 requirements: - virtualBinding: node: Juniper_vSRX_VDU CP01: type: tosca.nodes.nfv.CP.Tacker properties: order: 2 requirements: - virtualBinding: node: Juniper_vSRX_VDU
For each node type representing a VNF node, you must define a corresponding definition file.
The following is the sample definition file for the node type tosca.nodes.nfv.VNF.Juniper.
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 node_types: tosca.nodes.nfv.VNF.Juniper: derived_from: tosca.nodes.nfv.VNF requirements: - virtualLink1: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VL - virtualLink2: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VL
The following are some points that you should keep in mind when importing the TOSCA descriptor files:
Network Service Orchestration supports multiple VNF components (VNFCs) within a single VDU; however, the TOSCA definitions support only VDUs. To define a TOSCA YAML descriptor for a VNF that has multiple VNFCs, you must define a separate VDU for each VNFC.
Under ScalingPolicy, the default_instances field maps to the <min_instances> element in the network service descriptor and the VNF descriptor.
Network Service Orchestration looks for the following fields under the metadata section in the TOSCA VNF descriptor and TOSCA Network Service descriptor templates:
template_type: Specify VNF in the TOSCA VNF descriptor template and specify NS in the TOSCA Network Service descriptor template.
ID: Specify an ID for the TOSCA VNF descriptor template and the TOSCA Network Service descriptor template.
To install python:
Download and extract the UIM_SDK.zip file.
Navigate to the UIM_SDK\NSO tools\ToscaTranslator directory and extract the OracleCommsToscaTranslatorEnvSetup.zip file.
The extracted OracleCommsToscaTranslatorEnvSetup directory contains different directories for Windows and Linux operating systems.
Run the following command:
Note:
Before you run the commands, ensure that you have a working internet connection.For Windows machine, launch command prompt and run the following command as administrator:
install.bat
If you use proxy and a target directory, run the following command:
install.bat -proxy="www-proxy.example.com:port" -targetdir="C:\python35"
where:
www-proxy.example.com:port is the proxy
C:\python35 is the target directory of Python
See Table 3-17 for details about the command line argument options.
For Linux machine, from terminal, run the following command as a pseudo user or with root permission:
install.sh
The installation script installs python and the required libraries on the machine.
Table 3-17 describes the command line arguments.
To import the TOSCA VNF template into Design Studio:
In Design Studio, from the Studio menu, select Show Design Perspective.
Click the Studio Projects tab.
The Studio Projects view appears.
Right-click in the Studio Projects view, select Import, and then select Import VNFD TOSCA Template.
The Import VNFD TOSCA Template dialog box appears.
Click Browse and select the TOSCA VNF descriptor file or the TOSCA network service descriptor file in YAML format.
Design Studio creates the VNF cartridge project or the network service cartridge project with the required specifications.
After the VNF cartridge project is generated, to use this cartridge with a network service, make appropriate changes in your network service cartridge project. For more information about working with network service cartridges, see "Designing Custom Network Services".
After the network service cartridge project is generated, before you deploy the network service, you must import or create any dependent VNF cartridge projects, and then make appropriate changes in your network service cartridge project. For more information about working with network service cartridges, see "Designing Custom Network Services".
UIM uses tags to differentiate between inventory entities and entities used by Network Service Orchestration. You apply these tags to Network Service Orchestration specifications in Design Studio.
When you tag specifications with Network Service Orchestration tags, UIM filters the entities based on the tags and displays only the relevant entities in Network Service Orchestration pages.
The tags for Network Service Orchestration specifications are included in the OracleComms_NSO_BaseTags cartridge. See the section on ”NSO Base Tags Cartridge” in the chapter, ”Network Service Orchestration Base Cartridges” in UIM Cartridge Guide for more information.
For instructions about tagging specifications, see Design Studio Help.
Table 3-18 lists and describes the tags for the Network Service Orchestration specifications.
Table 3-18 Network Service Orchestration Specifications and Tags
Tag | Specification Type | Description |
---|---|---|
EMS |
Custom Object |
Tags a Custom Object specification as an EMS specification. |
Endpoint |
Custom Object |
Tags a Custom Object specification as an Endpoint specification. |
Network Service |
Service |
Tags a Service specification as a Network Service Orchestration Network Service specification. |
Orchestration Request |
Business Interaction |
Tags a Business Interaction specification as an Orchestration Request specification. |
PNF |
|
Tags a Service specification as a PNF Service specification. Tags a Logical Device specification as a PNF specification. |
VNF |
|
Tags a Service specification as a VNF Service specification. Tags a Logical Device specification as a VNF device specification. |
VDU |
Logical Device |
Tags a Logical Device specification as a VDU device specification. |
You can use Design Studio to design and implement custom network services based on your business requirements. Designing a network service requires designing the service itself as well as the VNFs and PNFs it uses.
In Design Studio, you create a cartridge project for each network service, VNF, and PNF that you design. These cartridge projects include specifications and other artifacts. You compile the cartridge projects into cartridges for deployment into UIM.
To work properly with Network Service Orchestration, the specifications must include certain characteristics, relationships, and rulesets. See the following sections for more information:
For each VNF that you want to use with a network service, create a cartridge project in Design Studio. In each VNF cartridge project, do the following:
Create the following UIM entity specifications:
A Logical Device specification that represents the VNF. Ensure that the name of the Logical Device Specification is same as the ID that you specified in the <vnfd> element of the VNF descriptor XML file. See "Logical Device Specification" for more information about the logical device specification for the VNF.
A Service specification that represents the VNF. See "Service Specification" for more information.
A Service Configuration specification for the VNF. See "Service Configuration Specification" for more information.
A Logical Device specification that represents the VDU. Ensure that the name of the Logical Device Specification is same as the ID that you specified in the <vdu> element of the VNF descriptor XML file. See "Logical Device Specification" for more information about the logical device specification for the VDU.
Create a technical actions file for the VNF Service specification. See "Creating a Technical Actions File" for more information.
Create a VNF descriptor file for the VNF Service specification. See "Creating a Descriptor File" for more information.
Create a configuration file for the VNF, if the VNF requires configuration. See "About VNF Configuration Files" for more information.
Create a post-configuration template configuration file for the VNF. See "About VNF Configuration Files" for more information.
Create a template file for the VNF. See "About VNF Configuration Files" for more information.
Create custom code for extension. See "Extending Network Service Orchestration" for more information.
Create a Logical Device specification to represent the VNF. This specification must include the characteristics listed in Table 3-19. These characteristics are provided in the OracleComms_NSO_BaseCartridge cartridge. You can optionally define and include additional characteristics.
Table 3-19 VNF Logical Device Specification Characteristics
Characteristic | Type | Description |
---|---|---|
externalID |
String |
The external ID of the VNF. |
flavorName |
String |
The deployment flavor used to create the VNF. |
version |
String |
The version of the VNF. |
vimId |
String |
The ID of the VIM. |
Create a Logical Device specification to represent the VDU. This specification must include the characteristics listed in Table 3-20. These characteristics are provided in the OracleComms_NSO_BaseCartridge cartridge. You can optionally define and include additional characteristics.
Table 3-20 VDU Logical Device Specification Characteristics
Characteristic | Type | Description |
---|---|---|
availabilityZoneName |
String |
The name of the availability zone where the VDU gets instantiated. |
externalID |
String |
The external ID of the VDU. |
flavorName |
String |
The deployment flavor used to create the VDU. |
host |
String |
The host ID where VDU is instantiated. |
imageId |
String |
The ID of the VDU Image. |
imageName |
String |
The name of the VDU image. |
imageVersion |
String |
The software version of the VDU image. |
securityGroups |
String |
The security groups for the VDU. |
See the Design Studio Help and the section on ”Working with Characteristics” in the chapter, ”Design Studio Overview” in UIM Concepts for more information about characteristics.
There are no rulesets required for the VNF and VDU Logical Device specifications. You can create custom rulesets to extend the default capabilities, however.
A VNF Logical Device specification must include the specification relationships listed in Table 3-21.
Table 3-21 Logical Device Specification Relationships
Specification | Name | Description |
---|---|---|
DeviceInterface |
CPD |
Multiplicity is from 0 to 100. This specification is available in the OracleComms_NSO_BaseCartridge cartridge. |
ServiceSpecification |
user created |
Set this to the name of the VNF Service specification that you design. |
Associate the VNF tag to the VNF Logical Device specification to ensure that UIM correctly handles entities based on this specification. The VNF tag is provided in the OracleComms_NSO_BaseTags cartridge. See "Tagging Network Service Orchestration Specifications" for more information.
Associate the VDU tag to the VDU Logical Device specification to ensure that UIM correctly handles entities based on this specification. The VDU tag is provided in the OracleComms_NSO_BaseTags cartridge. See "Tagging Network Service Orchestration Specifications" for more information.
Create a Service specification to represent the VNF service. No characteristics or rulesets are required, but you can optionally add them to extend the default capabilities.
Figure 3-2 illustrates the VNF service model.
A VNF Service specification must include the specification relationships listed in Table 3-22.
Table 3-22 VNF Service Specification Relationships
Specification | Name | Description |
---|---|---|
ServiceSpecification |
user created |
The associated capability service specification, used to configure capabilities. |
ServiceConfigurationSpecification |
user created |
The associated service configuration specification. |
Apply the VNF tag to the VNF Service specification to ensure that UIM correctly handles entities based on this specification. The VNF tag is provided in the OracleComms_NSO_BaseTags cartridge. See "Tagging Network Service Orchestration Specifications" for more information.
Create a Service Configuration specification to accompany the VNF Service specification. The Service Configuration specification must include the configuration items listed in Table 3-23.
Table 3-23 VNF Service Configuration Items
Name | Parent Item | Multiplicity | Characteristics |
---|---|---|---|
vnf |
null |
Required |
None |
connectionPoints |
vnf |
Required |
None |
connectionPoint |
connectionPoints |
0 to unbounded |
|
vdus |
vnf |
Required |
None |
vdu |
vdus |
0 to unbounded |
None |
vnfcs |
vdu |
Required |
None |
vnfc |
vnfcs |
0 to unbounded |
None |
connectionPoints |
vnfc |
Required |
None |
connectionPoint |
connectionPoints |
0 to unbounded |
|
port |
connectionPoint |
Required |
None |
network |
connectionPoint |
Required |
isDhcpEnabled |
Define the specification options for the configuration items as shown in Table 3-24.
Table 3-24 VNF Service Configuration Specification Options
Item | Item Option Type | Specification | Specification Type |
---|---|---|---|
vnf |
Assignment |
VNF |
Logical Device specification |
connectionPoint |
Reference |
CPD |
Device Interface specification |
vdu |
Assignment |
VDU |
Logical Device specification |
vnfc |
None |
None |
None |
port |
Reference |
IPv4Address |
IPv4Address specification |
network |
Reference |
IPv4Subnet |
IPv4Subnet specification |
Associate the following rulesets with the Service Configuration specification. These rulesets are included in the OracleComms_NSO_BaseCartridge cartridge:
IssueVNFServiceConfig_NSOBaseRulesetExtPt
AutomateVNFServiceConfig_NSOBaseRulesetExtPt
Cancel_VNFServiceConfigRulesetExtPt
CompleteVNFServiceConfig_NSOBaseRulesetExtPt
For each PNF that you want to use with a network service, create a cartridge project in Design Studio. In each PNF cartridge project, do the following:
Create the following UIM entity specifications:
A Logical Device specification that represents the PNF. See "Logical Device Specification".
A Service specification that represents the PNF service. See "Service Specification".
A Service Configuration specification for the PNF service. See "Service Configuration Specification".
Create a technical actions file for the PNF Service specification. See "Creating a Technical Actions File" for more information.
Create a network service descriptor file for the Network Service specification. See "Creating a Descriptor File" for more information.
Create custom code for extension. See "Extending Network Service Orchestration" for more information.
Create a Logical Device specification to represent the PNF. This specification must include the characteristics listed in Table 3-25. These characteristics are provided in the OracleComms_NSO_BaseCartridge cartridge. You can optionally define and include additional characteristics. See the Design Studio Help and the section on ”Working with Characteristics” in the chapter, ”Design Studio Overview” in UIM Concepts for more information about characteristics.
Table 3-25 PNF Logical Device Specification Characteristics
Characteristic | Type | Description |
---|---|---|
ipAddress |
String |
The IP address of the PNF. |
password |
String |
The password of the PNF. |
username |
String |
The username of the PNF. |
sshkey |
String |
The ssh key for the PNF. This characteristic is available in the PNF sample cartridge. |
sslEnabled |
Boolean |
Indicates whether SSL is enabled for the PNF or not. |
Associate the following rulesets with the PNF Logical Device specification. These rulesets are included in the OracleComms_NSO_BaseCartridge cartridge.
CreatePNF_Ruleset. This ruleset validates the create PNF request.
UpdatePNF_Ruleset. This ruleset validates the update PNF request.
CreateEMS_Ruleset . This ruleset validates the create EMS request.
UpdateEMS_Ruleset . This ruleset validates the update EMS request.
A PNF Logical Device specification must include the specification relationships listed in Table 3-26.
Table 3-26 PNF Logical Device Specification Relationships
Specification | Name | Description |
---|---|---|
DeviceInterfaceSpecification |
CPD |
Multiplicity is from 0 to 100. This specification is available in the OracleComms_NSO_BaseCartridge cartridge. |
ServiceSpecification |
user created |
Set this to the name of the PNF Service specification that you design. |
Apply the following tags to the PNF Logical Device specification to ensure that UIM correctly handles entities based on this specification. These tags are provided in the OracleComms_NSO_BaseTags cartridge.
PNF
EMS
See "Tagging Network Service Orchestration Specifications" for more information.
Create a Service specification to represent the PNF service. No characteristics or rulesets are required, but you can optionally add them to extend the default capabilities.
Figure 3-3 shows how a PNF service is modeled.
A PNF Service specification must include the specification relationships listed in Table 3-27.
Table 3-27 PNF Service Specification Relationships
Specification | Name | Description |
---|---|---|
ServiceConfigurationSpecification |
Cisco_xRV_Service_Config |
The associated service configuration specification. |
Apply the PNF tag to the PNF Service specification to ensure that UIM correctly handles entities based on this specification. The PNF tag is provided in the OracleComms_NSO_BaseTags cartridge. See "Tagging Network Service Orchestration Specifications" for more information.
Create a Service Configuration specification to accompany the PNF Service specification. The Service Configuration specification must include the configuration items listed in Table 3-28.
Table 3-28 PNF Service Configuration Items
Item | Parent Item | Multiplicity | Characteristics |
---|---|---|---|
pnf |
null |
Required |
None |
ConnectionPoint |
pnf |
1 to 100 |
None |
port |
ConnectionPoint |
Required |
None |
Define the specification options for the configuration items as shown in Table 3-29.
Table 3-29 PNF Service Configuration Specification Options
Item | Item Option Type | Specification |
---|---|---|
pnf |
Assignment |
Logical Device |
ConnectionPoint |
Reference |
DeviceInterface |
port |
Reference |
IPv4Address |
Associate the following rulesets with the Service Configuration Version specification. These rulesets are included in the OracleComms_NSO_BaseCartridge cartridge.
IssuePNFServiceConfig_NSOBaseRulesetExtPt
AutomatePNFServiceConfig_NSOBaseRulesetExtPt
Cancel_PNFServiceConfigRulesetExtPt
CompletePNFServiceConfig_NSOBaseRulesetExtPt
For each network service, create a cartridge project in Design Studio. In the cartridge project for the network service, do the following:
Create the following UIM entity specifications:
A Service specification to represent the network service. Ensure that the name of the Service Specification is same as the ID that you specified in the <nsd> element of the network service descriptor XML file. See "Network Service Specification".
A Service Configuration specification to accompany the network service specification. See "Network Service Configuration Specification".
Create a technical actions file for the Network Service specification. See "Creating a Technical Actions File" for more information.
Create a network service descriptor file for the Network Service specification. See "Creating a Descriptor File" for more information.
Create a custom properties file for the Network Service specification. See "Setting Network Service Descriptor Properties" for more information.
Create custom code for extension. See "Extending Network Service Orchestration" for more information.
Create a Network Service specification to represent the network service.
Figure 3-4 illustrates the network service model.
The Network Service specification must include the characteristics listed in Table 3-30. These characteristics are provided in the OracleComms_NSO_BaseCartridge cartridge.
Table 3-30 Network Service Specification Characteristics
Characteristic | Type | Description |
---|---|---|
dataCenterName |
String |
The name of the data center. |
flavorName |
String |
The name of the service flavor. |
serverGroup |
String |
The name of the server group. |
vimId |
String |
The unique identifier of VIM. |
The Network Service specification does not require any rulesets, but you can create custom rulesets to extend the default capabilities.
The Network Service specification must include the specification relationships listed in Table 3-31.
Table 3-31 Network Service Specification Relationships
Specification | Name | Description |
---|---|---|
ServiceConfigurationSpecification |
user created |
This is the associated service configuration specification. |
Apply the NetworkService tag to the Network Service specification to ensure that UIM correctly handles entities based on this specification. This tag is provided in the OracleComms_NSO_BaseTags cartridge. See "Tagging Network Service Orchestration Specifications" for more information.
Create a Service Configuration specification to accompany the Network Service specification.
The Service Configuration specification must include the configuration items listed in Table 3-32.
Table 3-32 Network Service Configuration Items
Item | Parent Item | Multiplicity | Characteristics |
---|---|---|---|
virtualLinks |
null |
Required |
None |
virtualLink |
virtualLinks |
0-unbounded |
isReferedByNSO |
vnfs |
null |
Required |
None |
vnf |
vnfs |
0 to unbounded |
None |
vnfService |
vnf |
Required |
action |
pnfs |
null |
Optional |
None |
pnf |
pnfs |
0 to unbounded |
None |
pnfService |
pnf |
Required |
None |
endPoints |
null |
Required |
None |
endPoint |
endPoints |
1 to unbounded |
None |
vnffgs |
null |
Required |
None |
vnffg |
vnffgs |
0 to unbounded |
name |
nfp |
vnffg |
0 to unbounded |
|
sourceEndPoint |
nfp |
Optional. 0 to 1. |
None |
targetEndPoint |
nfp |
Optional. 0 to 1. |
None |
Define the specification options for the configuration items as shown in Table 3-33.
Table 3-33 Network Service Configuration Specification Options
Item | Item Option Type | Specification | Specification Type |
---|---|---|---|
virtualLinks |
None |
None |
None |
virtualLink |
Reference |
IPv4Subnet |
IPv4Subnet specification |
vnfs |
None |
None |
None |
vnf |
Reference |
VNF Logical Device |
Logical Device specification |
vnfService |
Assignment |
VNF Service |
Service specification |
pnfs |
None |
None |
None |
pnf |
Reference |
PNF Logical Device |
Logical Device specification |
pnfService |
Assignment |
PNF Service |
Service specification |
endPoints |
None |
None |
None |
endPoint |
Reference |
NetworkServiceEndPoint |
Custom Object specification |
vnffgs |
None |
None |
None |
vnffg |
None |
None |
None |
nfp |
None |
None |
None |
sourceEndPoint |
Reference |
NetworkServiceEndPoint |
Custom Object specification |
targetEndPoint |
Reference |
NetworkServiceEndPoint |
Custom Object specification |
Associate the following rulesets with the Service Configuration Version specification. These rulesets are provided in the OracleComms_NSO_BaseCartridge cartridge.
AutomateNetworkServiceConfig_NSOBaseRulesetExtPt
IssueNetworkServiceConfig_NSOBaseRulesetExtPt
CompleteNetworkServiceConfig_NSOBaseRulesetExtPt
CancelNetworkServiceConfig_NSOBaseRulesetExtPt