3 Designing and Onboarding Network Services, VNFs, and PNFs

This chapter provides information about designing and onboarding network services, Virtual Network Functions (VNFs), and Physical Network Functions (PNFs).

About Design Components

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.

About Descriptor Files

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.

About Network Service Descriptor Files

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:

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"/>

Describing Networks

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>

Describing Service Flavors

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>

Describing Endpoints

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.

Table 3-4 Endpoint Parameters

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>

Describing Rules

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.

Table 3-5 Rule Parameters

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>

Describing Policies

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.

Table 3-6 Policy Parameters

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>

About VNF Descriptor Files

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:

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>

Describing VDU Images

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>

About PNF Descriptor Files

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>

Creating a Descriptor File

In Design Studio, you create a descriptor file for each Network Service specification and VNF Service specification.

To create a descriptor file:

  1. 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.

  2. Switch to the Navigator view.

  3. In the root directory of the cartridge project, create the following folder structure:

    model/content/product_home/config

  4. 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.

  5. Copy the sample content from the sample cartridge project to the XML file and modify it according to your service requirements.

About Technical Actions Files

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>

Creating a Technical Actions File

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:

  1. In Design Studio, switch to the Navigator view.

  2. In the root directory of the cartridge project, create the following folder structure:

    model/content/product_home/config

  3. 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.

  4. Copy the sample content from the sample cartridge project to the XML file and modify it according to your service requirements.

About VNF Configuration Files

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>

Setting Network Service Descriptor Properties

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

Onboarding Network Services and VNFs Using TOSCA Descriptor Templates

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:

  1. Install Python 3.5.2. See "Installing Python" for instructions.

  2. 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.

  3. Download the UIM_SDK.zip file and extract its contents.

  4. The UIM_SDK\NSO tools\ToscaTranslator\ directory contains the following files:

    • OracleCommsToscaTranslator.zip

    • OracleCommsToscaTranslatorEnvSetup.zip

  5. 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.
  6. If your Design Studio workspace is already open, close and reopen the workspace.

  7. 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.

Sample TOSCA VNF Descriptor Template

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.

Figure 3-1 TOSCA VNF Template to VNF Virtual Machine Mapping

Surrounding text describes Figure 3-1 .

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.

Sample TOSCA Network Service Descriptor Template

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.

Installing Python

To install python:

  1. Download and extract the UIM_SDK.zip file.

  2. 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.

  3. 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.

    Table 3-17 Command Line Arguments

    For Windows For Linux Usage

    -proxy

    -p or --proxy

    To connect to the internet through proxy.

    -targetdir

    Not Applicable

    Specify the Python installation directory (on Windows only).

    -internet

    -i or --internet

    Set Y if you have a working internet connection.


Importing the TOSCA VNFD Template into Design Studio

To import the TOSCA VNF template into Design Studio:

  1. In Design Studio, from the Studio menu, select Show Design Perspective.

  2. Click the Studio Projects tab.

    The Studio Projects view appears.

  3. Right-click in the Studio Projects view, select Import, and then select Import VNFD TOSCA Template.

    The Import VNFD TOSCA Template dialog box appears.

  4. 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".

Tagging Network Service Orchestration Specifications

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

  • Service

  • Logical Device

Tags a Service specification as a PNF Service specification.

Tags a Logical Device specification as a PNF specification.

VNF

  • Service

  • Logical Device

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.


Designing Custom Network Services

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:

Creating Cartridges for VNFs

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.

Logical Device Specification

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.

Service Specification

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.

Figure 3-2 VNF Service Model

Surrounding text describes Figure 3-2 .

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.

Service Configuration Specification

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

  • isPortSecurityEnabled

  • securityGroups

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

  • isPortSecurityEnabled

  • securityGroups

  • order

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

Creating Cartridges for PNFs

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:

Logical Device Specification

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.

Service Specification

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.

Figure 3-3 PNF Service Model

Surrounding text describes Figure 3-3 .

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.

Service Configuration Specification

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

Creating Cartridges for Network Services

For each network service, create a cartridge project in Design Studio. In the cartridge project for the network service, do the following:

Network Service Specification

Create a Network Service specification to represent the network service.

Figure 3-4 illustrates the network service model.

Figure 3-4 Network Service Model

Surrounding text describes Figure 3-4 .

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.

Network Service Configuration Specification

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

  • name

  • externalID

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