yaohelan c58a9ae41c Improved the doc by following latest comments
Change-Id: I1e88d3602614397a53438f20bfc4d284fe049df8
Signed-off-by: yaohelan <yaohelan@huawei.com>
2017-04-21 15:46:58 +08:00

4.6 KiB

This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode

Run vIMS on OpenStack with OPEN-O

Making a voice call is a typical scenario in telecommunication industry. To make the voice calling as a NFV workload running atop OpenStack Infrastructure, such workload consists of VNF and MANO functionality, Telco needs to leverage a MANO to deploy corresponding network services along with underlying infrastructure. In this blueprint, we deploy the voice calling workload (vIMS and Open-O, which serves as VNF and MANO respectively) on an OpenStack infrastructure.

Network Function Virtualization(NFV) is a network architecture concept that uses virtualization technology in Telco industry. Virtual Network Function (VNF) is a software implementation of network functions that can be deployed on a Network Virtualization Infrastructure(NFVI). Virtualized Infrastructure Manager(VIM) is responsible for controlling and managing the NFVI resources. OpenStack is a VIM.

Running a VNF on a NFVI with the help of VIM is a normal way to demonstrate the ability that OpenStack supports NFV. To fulfill the goal, a MANO is needed to manage the life-cycle of VNF and orchestrate the services. OPEN-O is an open source MANO project. https://www.open-o.org/

vIMS network is a core component of deploying VoLTE services in an LTE network and it a good candidate for showing the OpenStack deployment ability. Clearwater is an open source implementation of vIMS.

Problem description

There is no existing NFV workload running on OpenStack to test interoperability.

Proposed change

The primary changes that need to be done are as follows:

  • Deployment scripts to deploy the workload
    • Shell script to deploy OPEN-O
    • Python script to call OPEN-O to deploy vIMS
  • Test scripts to verify the workload
    • Python script to confirm OPEN-O is working
    • Python script to confirm vIMS is working

Implementation

Assignee(s)

Primary assignee:

Helan Yao <yaohelan@huawei.com>

Other contributors:

Zhipeng Huang <huangzhipeng@huawei.com>

Milestones

Target Milestone for completion:

Pike-1

Work Items

Prerequisites

1. VM to host OPEN-O containers
  • at least 4 CPUs, 64G RAM, 100G Disk
  • Ubuntu 14.04
2. vIMS VM * 7 nodes
  • 1 CPU, 2G RAM, 2G RAM, 20G Disk
  • Ubuntu 12.04
  1. SIP client to make the call

Details

  1. Deployment scripts development to fulfill the workload

The workload of running vIMS on OpenStack with OPEN-O

  1. Deploy OPEN-O docker containers on the host
  • refer to the prerequisite for the VM requirement
  1. Create security group and add security rules to allow icmp, tcp and ucp ports
  2. Deploy a VM on OpenStack and install Juju
  3. Connect Juju to OPEN-O
  • set up the Juju VNFM web service developed by OPEN-O
  • enable the VNFM service in OPEN-O via OPEN-O Restful API
  1. Connect OPEN-O with OpenStack

* configure OPEN-O to use OpenStack as its VIM. This can be done by providing the OpenStack authentication information to the orchestrator.

  1. Deploy the vIMS by OPEN-O

* define the Network Service Descriptor(NSD) and VNF Descriptor(VNFD) to give the overall definition for the topology

  1. Create user on vIMS and get specific calling number for each OpenStack vendor

* call vIMS API to generate authentication and calling number for each OpenStack vendor

  1. Test scripts to verify the deployment

OPNFV Functest project has test cases to verify OpenStack, OPEN-O and vIMS deployment.

  • test cases to confirm OpenStack is working
    • healthcheck test cases are run to make sure OpenStack is working
  • test cases to confirm OPEN-O is working
    • to call OPEN-O services to confirm core services are working
  • test cases to confirm vIMS is working
    • to call vIMS services to confirm main functions are working

Dependencies

  • Include specific references to specs and/or blueprints in interop-workloads-specs, or in other projects, that this one either depends on or is related to.

    None

  • Does this feature require any new library dependencies or code otherwise not included in OpenStack? Or does it depend on a specific version of library?

    OPEN-O, Clearwater vIMS, SIP client