This chapter describes the software requirements and instructions for installing and integrating Oracle Communications Network Service Orchestration Solution components.
Before you implement the Network Service Orchestration solution, you must identify the required software, ensure that the required network infrastructure is available and ready, and identify the third-party software that you want to use with the solution. Your choices are based on the network services you want to deliver on your network.
Use the following list of tasks as a checklist to ensure that you have all the required components for a successful implementation of the solution:
Install and configure the required software. See "Configuring UIM for the Network Service Orchestration Solution".
Integrate the Virtual Infrastructure Manager (VIM). See "Integrating the VIM with the Solution".
Integrate the SDN controller if your network service requires configuration of network flows. See "Registering the SDN Controller".
Onboard Network Services and VNFs. See "Designing and Onboarding Network Services and VNFs".
Write extensions for extending the core functionality and integrate third-party software with the solution. See "Using Extension Points and Java Interface Extensions to Extend the Solution".
Integrate client applications with the solution for using the RESTful APIs. For details about the solution's RESTful APIs, see "Network Service Orchestration RESTful API Reference".
To implement the Network Service Orchestration solution, you require the following software:
Oracle Communications Unified Inventory Management 7.3.3.
See UIM 7.3.3 Installation Guide for installation instructions.
Oracle Communications Design Studio 7.3.2.
See Design Studio 7.3.2 Installation Guide for installation instructions.
To configure UIM for the Network Service Orchestration solution:
Install UIM on a WebLogic server. See UIM 7.3.3 Installation Guide for installation instructions.
Note:
If you are upgrading to UIM 7.3.3 from UIM 7.3.1 or UIM 7.3.2, follow the steps for upgrading from UIM 7.3.x to UIM 7.3.2 in the UIM 7.3.3 Installation Guide.If you are upgrading the solution from 1.1 to 1.1.1, see "Upgrading the Network Service Orchestration Solution".
Download and set up the gson library:
Download the gson-2.2.4.jar file from the following website and copy it to the UIM_Home/lib folder, where UIM_Home is the directory into which UIM is installed:
http://repo1.maven.org/maven2/com/google/code/gson/gson/2.2.4/
Open the Domain_Home/bin/setUIMEnv.sh file and add the following entry, where Domain_Home is the directory that contains the configuration for the domain into which UIM is typically installed:
CLASSPATH="${CLASSPATH}:${UIM_HOME}/lib/gson-2.2.4.jar" export CLASSPATH
In the WebLogic server on which UIM is installed, deploy the WL_HOME/common/deployable-libraries/jersey-bundle-1.9.war file as a library and specify the target as the server on which UIM is installed.
Set up queues in the WebLogic server. See "Setting Up Queues in WebLogic Server" for detailed instructions.
Restart the server on which UIM is installed.
Navigate to the UIM_Home/cartridges directory and deploy the following base UIM cartridges into UIM in the order they are listed:
ora_uim_baseextpts
ora_uim_basemeasurements
ora_uim_basetechnologies
ora_uim_basespecifications
(Optional) ora_uim_common. Deploy this cartridge if you want to implement a network protection service by using the sample cartridges.
See UIM Cartridge Guide for instructions about deploying cartridges into UIM.
Create a local directory (NSO_Software_Home).
In the UIM software pack, locate the OracleComms_NSO_1.1.1.0.0.build_number.zip file and extract it into the NSO_Software_Home directory.
Navigate to the NSO_Software_Home/deploy/individualJarsForSuperJar directory and deploy the following Network Service Orchestration solution cartridges into UIM in the order they are listed:
OracleComms_NSO_NFVIAdapter
OracleComms_NSO_Common
OracleComms_NSO_BaseCartridge
(Optional) If you want to use the sample cartridges that are provided with the solution, navigate to the NSO_Software_Home/designStudio/cartridgeZips directory and deploy the following sample cartridges into UIM in the order they are listed:
NPaaS_NetworkService
This sample cartridge contains the functionality to implement Network Protection as a network service.
Checkpoint_NG_FW_VNF
This sample cartridge contains the Checkpoint firewall VNF to use with the Network Protection service.
Juniper_vSRX_VNF
This sample cartridge contains the Juniper vSRX firewall VNF to use with the Network Protection service.
(Optional) By default, in the UIM user interface, your entities are labeled using the standard UIM names that are based on the Oracle Communications Information Model. To label your entities using the standard NFV terminology, extract and deploy the NSO_Software_Home/designStudio/cartridgeZips/NSOBranding sample cartridge into UIM.
Note:
After you deploy the branding cartridge into UIM, you cannot undeploy it or return UIM to its previous state.In the WebLogic server on which UIM is installed, deploy the NSO_Software_Home/deploy/applications/OracleComms_NSO_WebServices.war file as a web application.
To deploy the .war file into WebLogic server:
Copy the custom.ear file from Domain_Home/UIM/app/7_3_3/ to a temporary directory.
Navigate to the temporary directory and expand the custom.ear archive file by running the following command:
jar xvf custom.ear
Delete the custom.ear file and copy the deploy/applications/OracleComms_NSO_WebServices.war file to the temporary directory.
Open the META_INF/application.xml file in a text editor and add the following text:
<module> <web> <web-uri>OracleComms_NSO_WebServices.war</web-uri> <context-root>/ocnso/1.1</context-root> </web> </module>
Rebuild the custom.ear file by running the following command:
jar cvf custom.ear *
Log in to Oracle WebLogic Server Console.
Click Lock and Edit.
Click Deployments.
In the Summary of Deployments section, select custom and click Update.
Select Redeploy this application using the following deployment files and click Change Path.
Browse and select the custom.ear file, which is created in the temporary directory.
Click Next.
Click Finish.
Click Activate Changes.
(Optional) If you want to use an SDN controller to control data flows for your network service, register the SDN controller with the solution. See "Registering the SDN Controller" for instructions.
(Optional) Integrate the solution with northbound applications for asynchronous communication. See "Integrating the Solution With Northbound Applications for Asynchronous Communication".
After you install the required software and configure UIM, integrate the VIM with the solution. See "Integrating the VIM with the Solution" for more information.
You set up queues in the WebLogic server to maintain fault tolerance when there is an issue in the activation of resources after a lifecycle action is performed.
To set up queues in WebLogic server, do any one of the following:
Run the scripts to set up queues in the WebLogic server automatically. See "Running Scripts to Set Up Queues in WebLogic Server" for instructions.
Configure the WebLogic server manually. See "Setting Up Queues in WebLogic Server Manually" for instructions.
The Network Service Orchestration solution includes scripts that you can run to set up queues in the WebLogic server.
Before you run the scripts, do the following:
Specify the WebLogic server details in the following files:
For standalone server, specify the server details in the NSO_Software_Home/tools/jmsWlstScripts/nso_jms_configuration_standalone.properties file.
For cluster setup, specify the server details in the NSO_Software_Home/tools/jmsWlstScripts/nso_jms_configuration_cluster.properties file.
If SSL is enabled for secure communication, open all the script files and change the protocol from t3 to t3s:
For example, change:
URL="t3://"+AdminServerListenAddress+":"+AdminServerListenPort
to
URL="t3s://"+AdminServerListenAddress+":"+AdminServerListenPort.
To set up queues in the WebLogic server:
If SSL is not enabled, do the following:
For standalone server, run the following script:
WebLogic_Home/oracle_common/common/bin/wlst.cmd nso_jms_queue_standalone.py
For cluster setup, run the following script:
WebLogic_Home/oracle_common/common/bin/wlst.cmd nso_jms_queue_cluster.py
If SSL is enabled, do the following:
Set the WebLogic server environment by running the following command:
WebLogic_Home/wlserver/server/bin/setWLSEnv.sh
For standalone server, run the following script:
java -Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.CustomTrustKeyStoreType="JKS"
-Dweblogic.security.TrustKeyStore=DemoTrust
-Dweblogic.security.CustomTrustKeyStoreFileName="Weblogic_Home/wlserver/server/
lib/DemoTrust.jks" weblogic.WLST nso_jms_queue_standalone.py
For cluster setup, run the following script:
java -Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.CustomTrustKeyStoreType="JKS"
-Dweblogic.security.TrustKeyStore=DemoTrust
-Dweblogic.security.CustomTrustKeyStoreFileName="Weblogic_Home/wlserver/server/
lib/DemoTrust.jks" weblogic.WLST nso_jms_queue_cluster.py
To set up queues in WebLogic server manually:
In the WebLogic server on which UIM is installed, create a JDBC Store with the following parameters:
Name: inventoryNSOStore
Target: Specify AdminServer or the managed server on which UIM is installed.
Datasource: InventoryDatSource
If you use cluster setup, create a JDBC Store for each managed server and specify a unique prefix name. For example, if you use managed server 1 (MS1) and managed server 2 (MS2), create a JDBC Store with the name inventoryNSOStore-0 targeting MS1 and another JDBC Store with the name inventoryNSOStore-1 targeting MS2 with unique prefix names.
Create a JMS Server with the following parameters:
Name: NSOJMSServer
Persistent Server: Specify the persistent store that you created earlier.
Target: Specify AdminServer or the managed server on which UIM is installed.
If you use cluster setup, create a JMS Server for each managed server and associate the JMS servers to the JDBC stores that you created earlier. For example, if you use managed server 1 (MS1) and managed server 2 (MS2), create a JMS Server with the name NSOJMSServer-0 targeting MS1 and associate it to the inventoryNSOStore-0 JDBC Store. Create another JMS Server with the name NSOJMSServer-1 targeting MS2 and associate it to the inventoryNSOStore-1 JDBC Store.
Activate the changes.
Create a JMS Module with the following parameters:
Name: NSOModule
Target: Specify the AdminServer or select all the servers if you use cluster setup.
For the NSOModule that you created, create a Connection Factory with the following parameters:
Name: NSORequestQueueConnFactory
JNDI Name: NSORequestQueueConnFactory
Select Advanced Targeting
Create a new sub-deployment with the name NSOJMSServer
For the sub-deployment that you created, specify NSOJMServer as the target. If you use cluster setup, specify all the JMS servers that you created.
For the NSOModule, create a JMS Queue for a standalone server setup or create a Distributed JMS Queue for a cluster setup with the following parameters:
Name: NSORequestQueue
JNDI Name: NSORequestQueue
Select Advanced Targeting.
Select NSOJMSServer as the sub-deployment.
Select NSOJMSServer as target. If you use cluster setup, specify all the JMS servers.
Activate the changes.
If your network service requires implementation of network flows, then you can set up the solution to use an SDN controller. SDN controllers are based on protocols, such as OpenFlow, that enable servers to instruct switches where to send network traffic. You should register the SDN controller with the solution to manage flow control in the network. The Network Service Orchestration solution supports OpenDaylight and provides integration points for integrating other third-party SDN controllers. See "Implementing a Custom SDN Controller" for more information about implementing a custom SDN controller.
To register your SDN controller with the solution:
In UIM, create a custom object based on the SDN specification and specify the following details about the SDN controller that you want to use:
Host
Port number
Username of the SDN controller
Password of the SDN controller
Type of the SDN controller
Associate the VIM custom object as a parent custom object to the SDN controller custom object.
Some VNF and network service lifecycle operations perform long-running processes. The Network Service Orchestration solution supports integration with northbound applications in asynchronous communication for such lifecycle operations.
With this integration, the solution provides the final and actual status of the following network service life-cycle actions so that northbound systems can perform and complete service fulfillment:
Instantiate a network service
Terminate a network service
Add one or more VNFs to network service
Delete one or more VNFs from a network service
Scale a VNF
Configure a VNF
Upgrade the software version of a VNF
To integrate the solution with northbound systems for asynchronous communication, you must set up a topic in the WebLogic server. After you set up the topic in the WebLogic server, you can configure your client applications to subscribe to the topic.
Note:
You can also customize the solution's asynchronous communication functionality. For information about writing your own implementation for asynchronous communication, see "Implementing a Custom Response Manager".To set up topics in the WebLogic server, do any one of the following:
Run the scripts to set up topics in the WebLogic server automatically. See "Running Scripts to Set Up Topics in WebLogic Server" for instructions.
Configure the WebLogic server manually. See "Setting Up Topics in WebLogic Server Manually" for instructions.
The Network Service Orchestration solution includes scripts that you can run to configure the WebLogic server for asynchronous communication with northbound applications.
Before you run the scripts, do the following:
Specify the WebLogic server details in the following files:
For the standalone server, specify the server details in the NSO_Software_Home/tools/jmsWlstScripts/nso_jms_configuration_standalone.properties file.
For cluster setup, specify the server details in the NSO_Software_Home/tools/jmsWlstScripts/nso_jms_configuration_cluster.properties file.
If SSL is enabled for secure communication, open all the script files and change the protocol from t3 to t3s:
For example, change
URL="t3://"+AdminServerListenAddress+":"+AdminServerListenPort
to
URL="t3s://"+AdminServerListenAddress+":"+AdminServerListenPort.
To set up topics in the WebLogic server:
If SSL is not enabled, do the following:
For a standalone server, run the following script:
WebLogic_Home/oracle_common/common/bin/wlst.cmd nso_jms_topic_standalone.py
For a cluster setup, run the following script:
WebLogic_Home/oracle_common/common/bin/wlst.cmd nso_jms_topic_cluster.py
If SSL is enabled, do the following:
Set the WebLogic server environment by running the following command:
WebLogic_Home/wlserver/server/bin/setWLSEnv.sh
For standalone server, run the following script:
java -Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.CustomTrustKeyStoreType="JKS"
-Dweblogic.security.TrustKeyStore=DemoTrust
-Dweblogic.security.CustomTrustKeyStoreFileName="Weblogic_Home/wlserver/server/
lib/DemoTrust.jks" weblogic.WLST nso_jms_topic_standalone.py
For cluster setup, run the following script:
java -Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.CustomTrustKeyStoreType="JKS"
-Dweblogic.security.TrustKeyStore=DemoTrust
-Dweblogic.security.CustomTrustKeyStoreFileName="Weblogic_Home/wlserver/server/
lib/DemoTrust.jks" weblogic.WLST nso_jms_topic_cluster.py
To set up topics in the WebLogic server:
In the WebLogic server on which UIM is installed, for the NSOModule, create a Connection Factory with the following parameters:
Name: NSOResponseTopicConnFactory
JNDI Name: NSOResponseTopicConnFactory
Select Advanced Targeting
For the sub-deployment that you created, specify NSOJMSServer as the target. If you use cluster setup, specify all the JMS servers that you created.
Create a JMS topic for a standalone server setup or create a Distributed JMS topic for a cluster setup with the following parameters:
Name: NSOResponseTopic
JNDI Name: NSOResponseTopic
Select NSOJMSServer as the sub-deployment.
Select NSOJMSServer as target. If you use cluster setup, specify all the JMS servers that you created.
Activate the changes.
The Network Service Orchestration solution supports OpenStack and provides integration points for integrating other third-party VIMs. See "Implementing a Custom VIM" for more information about implementing a custom VIM.
Before you integrate the VIM with the solution, ensure that you set up and configure the VIM to use with the solution. After your VIM infrastructure is set up, you register the VIM and discover the VIM resources into the solution.
Integrating the VIM with the solution involves the following tasks:
To register a VIM with the solution:
Ensure that UIM is started and running.
Ensure that the Network Service Orchestration solution cartridges are deployed into UIM.
Start the VIM and ensure that you have the IP address, username, and password of the VIM instance.
In a RESTful API client, call the following RESTful API using the POST method:
POST http://nso_host:port/ocnso/1.1/vim
where:
nso_host is the IP address of the machine on which UIM is installed
port is the port number of the machine on which UIM is installed
Specify the VIM details in the request. For details about the request parameters, see "Register a VIM" in the "Network Service Orchestration RESTful API Reference" chapter.
The RESTful API client returns a response.
In UIM, verify that a custom object with the details of the VIM is created.
You discover VIM resources into UIM so that the solution contains information about the current status and availability of all the required virtual resources on the network. In UIM, the VIM is represented as a custom object.
When you discover a VIM, the details of the following resources are populated into UIM:
Availability zone (OpenStack)
Flavor
Host
VDC
To discover VIM resources into UIM:
In a RESTful API client, call the following RESTful API using the POST method:
POST http://nso_host:port/ocnso/1.1/vim/vimId/discovery?infoLevel=vim_information
where:
nso_host is the IP address or the domain name of the machine on which UIM is installed
port is the port number of the machine on which UIM is installed
vimId is the Id of the VIM that you registered with the solution and whose resources you want to discover
vim_information is the level of information about the VIM that you want to retrieve and view in the response. The available values are:
summary. Retrieves and displays a summary of the VIM resources.
details. Retrieves and displays complete details about all the VIM resources.
For more details about the request parameters, see "Discover VIM Resources" in the "Network Service Orchestration RESTful API Reference" chapter.
The RESTful API client returns a response.
In UIM, verify that the following entities are created as Custom Objects:
Availability zone
Flavor
Host
VDC
Note:
Whenever you add, upgrade, modify, or delete the compute, memory, and network resources in your NFV Infrastructure (NFVI), run the VIM discovery RESTful API to ensure that details about the currently available resources on your NFVI are reflected correctly in the solution.You enable logging for the solution to log debug messages.
For more information about logging, see the chapter about improving UIM performance in UIM System Administrator's Guide.
To enable logging for the Network Service Orchestration solution:
Open the UIM_Home/config/loggingconfig.xml file in a text editor.
Add the following text:
<logger name="oracle.communications.inventory.nso" additivity="false"> <level value="debug" /> <appender-ref ref="stdout"/> <appender-ref ref="rollingFile"/> </logger>
Save and close the file.
If you are using Network Service Orchestration Solution 1.1, you can upgrade to Network Service Orchestration Solution 1.1.1.
To upgrade to Network Service Orchestration Solution 1.1.1:
Upgrade UIM to UIM 7.3.3. See UIM 7.3.3 Installation Guide for instructions.
Follow steps from 4 to 12 in the "Configuring UIM for the Network Service Orchestration Solution" section.
In your network service properties file, add or update the following parameters and specify values for the parameters:
NSD_Name.default.serviceArea.default_service_area
where:
NSD_Name is the name of your network service descriptor file.
default_service_area is the name of the default service area
NSD_Name.default.dataCenter.default_data_center
where default_data_center is the name of the default data center
sdnController.NSD_Name
Update your VIM by running the following RESTful API:
PUT http://nso_host:port/ocnso/vim/vimId
where vimId is the Id of the VIM that you want to update
For more details about the request parameters, see "Update a VIM" in the "Network Service Orchestration RESTful API Reference" chapter.
Specify values for the following parameters:
version. For OpenStack Keystone version 2.0, specify 2. For OpenStack Keystone version 3.0, specify 3.
cpuOvercommitRatio. Specify the ratio of overcommitted vCPU.
memoryOverCommitRatio. Specify the ratio of overcommitted memory.
diskOverCommitRatio. Specify the ratio of overcommitted disk.
Discover the VIM resources by running the following RESTful API:
POST http://nso_host:port/ocnso/vim/discover/vimId?infoLevel=vim_information
where:
vimId is the Id of the VIM whose resources you want to discover
vim_information is the level of information about the VIM that you want to retrieve and view in the response. The values are:
summary. Retrieves and displays a summary of the VIM resources.
details. Retrieves and displays complete details about all the VIM resources.
For more details about the request parameters, see "Discover VIM Resources" in the "Network Service Orchestration RESTful API Reference" chapter.
The Network Service Orchestration solution supports the following southbound integrations:
For VNF management:
VNF Manager, with the ability to manage VNFs through direct integration or by integration with an Element Management System (EMS)
Integration with external VNF Managers
For virtual infrastructure management:
Integration to OpenStack Kilo with Keystone version 2 and version 3, and Oracle OpenStack for Oracle Linux Release 2
Sample integration to VMware vCloud Director
Integration with other Virtual Infrastructure Managers
For network and SDN controllers:
Integration to OpenStack Neutron (Kilo release)
Sample integration to OpenDaylight