Page tree
Skip to end of metadata
Go to start of metadata

This page is intended to provide installation instructions related to OPEN-O Mercury Release.

The installation instructions are provided assuming you perform the installation directly from the Tarball.
In case you wish to use OPEN-O Docker images use these instructions.

These instructions cover the following:

  • Identify the proper sequence to install OPEN-O packages
  • Identify the parameters to configure all micro services
  • Identify parameters to connect to MSB (Micro Services Bus)
  • Identify the parameters to start/stop/restart all micro services
  • Identify dependency and their version required to get the services started (sql,JRE,...)
  • Identify all options

Note

This page was developed as a way to convey within the OPEN-O Mercury Release community the procedures to get intermediate builds installed and configured.
As such, all the links provided below point to build artifacts (Nexus SNAPSHOT) that were valid while the community was developing OPEN-O Mercury Release
and are not the most up-to-date build artifacts.
The OPEN-O Mercury Release (Sign-Off on April 27, 2017) build artifacts can be downloaded and unpacked from this Nexus location.
In case you are interested to download the latest SNAPSHOT of the current development, use this link.

CLI

Pre-requisites

  1. JDK  : Install 1.8 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Install MSB and Auth service

Install CLI

    1. Extract to a folder say /opt/client-cli
    2. Set the following environment variables
      1. OPENO_CLI_HOME to above extracted folder say /opt/client-cli.
      2. OPENO_USERNAME to username of Open-O.
      3. OPENO_PASSWORD to password of the user provided in OPENO_USERNAME.
      4. OPENO_MSB_URL to MSB url (say http://localhost)
  1. Run the command under $OPENO_CLI_HOME/bin/openo.sh

GUI

Service Gateway

  • Preparation for install Service Gateway
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Tomcat: Install Tomcat. Tomcat must be installed before any service start, we use version 7.0 for now,you can download Tomcat in https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.68/bin
  3. Zip  : Install zip tool.We need zip tool for Linux before you start any service.
  4. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.Export CATALINA_HOME= "$TOMCAT_INSTALLATION_PATH", please replace $TOMCAT_INSTALLATION_PATH with the Tomcat installation directory on your host
  • Notice
  1. At first you should know Service Gateway use Microservice Service Bus service, this services provide basic inventory service.
  2. Make sure this services is ready before you run other services or you will find the response of your request is always not ok.
  3. Make sure that the /etc/hosts file in the server who has a item likes "IPAddress HostName".
  • Install Service Gateway
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/gso/gui/service-gateway-deployment/1.1.0-SNAPSHOT/
  2. Unzip the zip package
unzip service-gateway-deployment-1.0.0.zip -d {$PATH}/ServiceGateway
  1. Add execution permissions
chmod 777 -R {$PATH}/ServiceGateway
  1. Configure IP address /port of the MSB
vim {$PATH}/Service Gateway/etc/conf/restclient.json
Modify the host and port field with the real IP address /port of the MSB.
  1. Start ServiceGateway microserver
cd {$PATH}/ServiceGateway/bin
./start.sh

GS-O

  • Preparation for install GSO
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. MySQL : Install Mysql. Mysql must be installed before any service start, we use version 5.7 for now,you can download Mysql in http://dev.mysql.com/downloads/mysql. After installed mysql, you need to use sql file initialization the mysql.
  3. Tomcat: Install Tomcat. Tomcat must be installed before any service start, we use version 7.0 for now,you can download Tomcat in https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.68/bin
  4. Zip  : Install zip tool.We need zip tool for Linux before you start any service.
  5. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.Export CATALINA_HOME= "$TOMCAT_INSTALLATION_PATH", please replace $TOMCAT_INSTALLATION_PATH with the Tomcat installation directory on your host
  • Notice
  1. At first you should know GSO use Micro Service Bus service, this services provide basic inventory service.
  2. Make sure this services is ready before you run other services or you will find the response of your request is always not ok.
  • Install GS-O
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/gso/servicemanagerservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip the zip package
    unzip xxxxxxx.zip -d {$PATH}/GSO
  3. Initial Database Table
    cd {$PATH}/GSO/init
    mysql -uroot -p**** <servicemanagerservice_tables_mysql.sql
  4. Add execution permissions
    chmod 777 -R {$PATH}/GSO
  5. Configure IP address /port of the MSB
    vim {$PATH}/GSO/etc/conf/restclient.json
    Modify the host and port field with the real IP address /port of the MSB.
  6. Modify mysql password that is configured in service.xml
    {$path}/GSO/webapps/ROOT/WEB-INF/classes/spring/service.xml
  7. Start GSO
    cd {$PATH}/GSO/bin
    ./start.sh

NFV-O

Preparation

Download inventory and run DB init script, see Inventory

Preparation for install NFV-O

  • JDK Install 1.7 or higher version of JDK
  • Python 2.7.5 
  • MySQL 5.x
  • redis-server 3.2.1
  • Tomcat Apache Tomcat Server 8.0 or latest
  • ZIP Any version that you can unzip our package
  • Dependencies for Python
Package NameVersion
epel-release7-6.noarch
openssl-devel1.0.1
mysql-devel5.6.34
gcc4.8.5
python-devel2.7.5
libffi-devel3.0.13
setuptools0.9.8
tox2.3.1
virtualenv15.0.3
pip1.4.1
pluggy0.3.1
py1.4.31

To install those dependencies, you can use the following command.

yum -y install epel-release && yum -y install python-{devel,virtualenv,setuptools,pip} openssl-devel mysql-devel gcc libffi-devel redis

Environment Variables

Export JAVA_HOME= "$JAVA_INSTALLATION_PATH"  

replace $JAVA_INSTALLATION_PATH with the JDK installation directory

Export CATALINA_HOME= "$TOMCAT_INSTALLATION_PATH" 

replace $TOMCAT_INSTALLATION_PATH with the Tomcat installation directory

Export CATALINA_BASE= "$SERVICE_INSTALLER_LOCATION" 

VIM Driver Installation guide

  1. Download .zip installer package
  2. Unzip this installer to the installation directory (ex: /opt/openo/nfvo/)
  3. Refer the README.txt from the installation directory, to install and configure this service. Please refer the same README document below for easy reference:
Introduction:
=============
    This document provides the required steps for installation
    and configuration this service.

Installation steps:
====================
    Install following software:
        - Java 1.8 or lattest
        - Apache Tomcat Server 8.0 or lattest

    Set the following environment variables:
        - JAVA_HOME: Set to JAVA JDK installed location
        - CATALINIA_HOME: Set to Tomcat installed location
        - CATALINIA_BASE: Set to the location, where this
          service installer is unzipped, its optional

Configuration steps:
====================
    - Update the MSB address in $PATH/etc/conf/restclient.json
    - Update the service ip address in $PATH/etc/adapterInfo/vimadapterinfo.json

How to run?
===========
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./start.sh
          NOTE: It starts the tomcat at predefined http port. To change
          default port, update the port in tomcat configuration file
          'conf/server.xml'
          - Verify that 'Tomcat started.' is reported on the console.
    - Once service is started, please verify below details:
        - from MSB service, verify that "vimdriver"  is reported from GET request on "/openoapi/microservices/v1/services"
        - from this service, run one of the supported REST API mentioned in open-o NFVO wiki and verify that the
          expected response is returned.

How to stop?
=============
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./stop.sh

Resource Manager Installation guide

  1. Download .zip installer package
  2. Unzip this installer to the installation directory (ex: /opt/openo/nfvo/)
  3. Refer the README.txt from the installation directory, to install and configure this service. Please refer the same README document below for easy reference:
Introduction:
=============
    This document provides the required steps for installation
    and configuration this service.

Installation steps:
====================
    Install following software:
        - Java 1.8 or lattest
        - MySql Server 5.7 or lattest.
        - Apache Tomcat Server 8.0 or lattest

    Set the following environment variables:
        - JAVA_HOME: Set to JAVA JDK installed location
        - CATALINIA_HOME: Set to Tomcat installed location
        - CATALINIA_BASE: Set to the location, where this
          service installer is unzipped, its optional
        - PATH: Update it with the location of command 'mysql'

    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./init_db.sh <db user> <db password> <db server ip> <db port>
        CAUTION: Existing resmanagementdb will be cleaned before
        initialising the schema, so please take a back-up of it
        before executing it next time.

Configuration steps:
====================
    - Update the db credentials in bean with id="source"  in 'services.xml'
      under webapps spring directory.
    - Update the MSB address in $PATH/etc/conf/restclient.json
    - Update the service ip address in $PATH/etc/adapterInfo/resmgradapterinfo.json

How to run?
===========
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./start.sh
          NOTE: It starts the tomcat at predefined http port. To change
          default port, update the port in tomcat configuration file
          'conf/server.xml'
          - Verify that 'Tomcat started.' is reported on the console.
    - Once service is started, please verify below details:
        - from MSB service, verify that "resmgr"  is reported from GET request on "/openoapi/microservices/v1/services"
        - from this service, run one of the supported REST API mentioned in open-o NFVO wiki and verify that the
          expected response is returned.

How to stop?
=============
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./stop.sh



Juju VNFM Driver Installation guide

  1. Download .zip installer package
  2. Unzip this installer to the installation directory (ex: /opt/openo/nfvo/)
  3. Refer the README.txt from the installation directory, to install and configure this service. Please refer the same README document below for easy reference:
Introduction:
=============
    This document provides the required steps for installation
    and configuration this service.

Installation steps:
====================
    Install following software:
        - Java 1.8 or lattest
        - MySql Server 5.7 or lattest.
        - Apache Tomcat Server 8.0 or lattest

    Set the following environment variables:
        - JAVA_HOME: Set to JAVA JDK installed location
        - CATALINIA_HOME: Set to Tomcat installed location
        - CATALINIA_BASE: Set to the location, where this
          service installer is unzipped, its optional
        - PATH: Update it with the location of command 'mysql'

    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./init_db.sh <db user> <db password> <db server ip> <db port>
        CAUTION: Existing jujuvnfmdb will be cleaned before
        initialising the schema, so please take a back-up of it
        before executing it next time.

Configuration steps:
====================
    - Update the db credentials in bean with id="source"  in 'services.xml'
      under webapps spring directory.
    - Update the MSB address in $PATH/etc/conf/restclient.json
    - Update the service ip address in $PATH/etc/adapterInfo/jujuadapterinfo.json

How to run?
===========
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./start.sh
          NOTE: It starts the tomcat at predefined http port. To change
          default port, update the port in tomcat configuration file
          'conf/server.xml'
          - Verify that 'Tomcat started.' is reported on the console.
    - Once service is started, please verify below details:
        - from MSB service, verify that "jujuvnfm"  is reported from GET request on "/openoapi/microservices/v1/services"
        - from this service, run one of the supported REST API mentioned in open-o NFVO wiki and verify that the
          expected response is returned.
How to stop?
=============
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./stop.sh

Huawei VNFM Driver Installation guide

  1. Download .zip installer package
  2. Unzip this installer to the installation directory (ex: /opt/openo/nfvo/)
  3. Refer the README.txt from the installation directory, to install and configure this service. Please refer the same README document below for easy reference:
Introduction:
=============
    This document provides the required steps for installation
    and configuration this service.

Installation steps:
====================
    Install following software:
        - Java 1.8 or lattest
        - MySql Server 5.7 or lattest.
        - Apache Tomcat Server 8.0 or lattest

    Set the following environment variables:
        - JAVA_HOME: Set to JAVA JDK installed location
        - CATALINIA_HOME: Set to Tomcat installed location
        - CATALINIA_BASE: Set to the location, where this
          service installer is unzipped, its optional
        - PATH: Update it with the location of command 'mysql'

    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./init_db.sh <db user> <db password> <db server ip> <db port>
        CAUTION: Existing vnfmdb will be cleaned before
        initialising the schema, so please take a back-up of it
        before executing it next time.

Configuration steps:
====================
    - Update the db credentials in bean with id="source"  in 'services.xml'
      under webapps spring directory.
    - Update the MSB address in $PATH/etc/conf/restclient.json
    - Update the service ip address in $PATH/etc/adapterInfo/vnfmadapterinfo.json


How to run?
===========
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./start.sh
          NOTE: It starts the tomcat at predefined http port. To change
          default port, update the port in tomcat configuration file
          'conf/server.xml'
          - Verify that 'Tomcat started.' is reported on the console.
    - Once service is started, please verify below details:
        - from MSB service, verify that "hwvnfm"  is reported from GET request on "/openoapi/microservices/v1/services"
        - from this service, run one of the supported REST API mentioned in open-o NFVO wiki and verify that the
          expected response is returned.
How to stop?
=============
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./stop.sh

Ericsson VNFM Driver Installation guide

  1. Download .zip installer package
  2. Unzip this installer to the installation directory (ex: /opt/openo/nfvo/)
  3. Refer the README.txt from the installation directory, to install and configure this service. Please refer the same README document below for easy reference:
Introduction:
=============
    This document provides the required steps for installation
    and configuration this service.

Installation steps:
====================
    Install following software:
        - Java 1.8 or latest
        - Apache Tomcat Server 8.0 or latest

    Set the following environment variables:
        - JAVA_HOME: Set to JAVA JDK installed location
        - CATALINIA_HOME: Set to Tomcat installed location
        - CATALINIA_BASE: Set to the location, where this
          service installer is unzipped, its optional

Configuration steps:
====================
    - Update the MSB address in $PATH/etc/conf/restclient.json
    - Update the vnfm driver service ip address in $PATH/etc/driverInfo/driver-info.json


How to run?
===========
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./start.sh
          NOTE: It starts the tomcat at predefined http port. To change
          default port, update the port in tomcat configuration file
          'conf/server.xml'
          - Verify that 'Tomcat started.' is reported on the console.
    - Once service is started, please verify below details:
        - from MSB service, verify that "ericsson-vnfm"  is reported from GET request on "/openoapi/microservices/v1/services"
        - from this service, run one of the supported REST API mentioned in open-o NFVO wiki and verify that the
          expected response is returned.
How to stop?
=============
    - In command console, cd to 'bin' directory under the location,
      where this service installer is unzipped and
      run ./stop.sh

nfvo-monitor

  • Monitor-umc
    1. Compile from source or download the latest snapshot from: https://nexus.open-o.org/content/repositories/snapshots/org/openo/nfvo/monitor/umc/umc-api/umc-standalone/1.1.0-SNAPSHOT/
    2. unzip umc-standalone-xx.zip -d umc
    3. chmod +x umc/*.sh
    4. Configuration umc, configuration file is umc/conf/umc.yml.
         umc.yml content is:
	 ......
	 #Microservice Service Bus server
	 msbAddress: {$server ip}:80
	 #this configuration no use,no need change
	 rocServerAddr: 127.0.0.1:80
	 #dac ip?no use
	 #dacIp: 127.0.0.1
	 #dac server port
         dacServerPort: 8206
	 ......
	 server:
		type: simple
		rootPath: '/openoapi/*'
		applicationContextPath: /
		adminContextPath: /admin
		connector:
			type: http
			#umc port
			port: 8205
        ......
	 database:
	 # the name of your JDBC driver
	 driverClass: com.mysql.jdbc.Driver
	 # the username
	 user: umc
	 # the password
	 password: umc
	 # the JDBC URL
	 url: jdbc:mysql://{$mysql server ip}:{$mysql server port}/umc}/umc?useUnicode=true&characterEncoding=UTF-8  
    5.Run initDB.sh root $PASSWORD $MYSQLPORT $MYSQLIP
    6.Run run.sh/stop.sh to start/stop the service
    7.Verify microservice is working correctly
      curl -X GET -H "content-type:application/json;charset=utf-8" http://{$umc server ip}:8205/openoapi/umc/v1/monitor/dacs
    8.Verify microservice is communicating with the MSB correctly 
      curl -X GET -H "content-type:application/json;charset=utf-8" http://{$MSB server ip}:{$MSB server port}/openoapi/microservices/v1/services/umc/version/v1

  • Monitor-dac
    1. Compile from source or download the latest snapshot from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/nfvo/monitor/dac/dac-api/dac-standalone/1.0.0-SNAPSHOT/
    2. unzip dac-standalone-xx.zip -d dac
    3. chmod +x dac/*.sh
    4. Configuration dac, configuration file is dac/conf/dac.yml.
         dac.yml content is:
	 ......
	 #Microservice Service Bus server
	 msbAddress:{$server ip}:80
         #umc server port
         umcServerPort: 8205
	 ......
	 server:
		type: simple
                rootPath: '/openoapi/dac/v1/*'
                applicationContextPath: /
                adminContextPath: /admin
                connector:
		connector:
			type: http
		        #dac port
                        port: 8206
        ......
    5.Run run.sh/stop.sh to start/stop the service
    6.Verify microservice is working correctly
      curl --data '{}' -H "content-type:application/json;charset=utf-8" http://{$dac server ip}:8206/openoapi/dac/v1/dacs
    7.Verify microservice is communicating with the MSB correctly 
      curl -X GET -H "content-type:application/json;charset=utf-8" http://{$MSB server ip}:{$MSB server port}/openoapi/microservices/v1/services/dac/version/v1

nfvo-lcm

Preparation for install nfvo-lcm

  • Common-TOSCA-Inventory should be install

1. Download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/nfvo/nfvo-lcm/1.1.0-SNAPSHOT/

2. Unzip the zip package

  unzip xxxxx.zip -d {$PATH}

3. Add execution permissions

  chmod +x {$PATH}/nfvo/lcm/*.sh

4. Configure IP address/port of the nfvo-lcm micro-service

  vi {$PATH}/nfvo/lcm/run.sh
  vi {$PATH}/nfvo/lcm/stop.sh
  Modify the host and port field with the real IP address/port of nfvo-lcm micro-service.

5. Configure IP address/port of the MSB

  vi {$PATH}/nfvo/lcm/pub/config/config.py
  Modify the following fields with the real IP address/port of the MSB.
  # [MSB]
  MSB_SERVICE_IP = '127.0.0.1'
  MSB_SERVICE_PORT = '10080'

6. Configure IP/port/name/username/password of MySQL

  vi {$PATH}/nfvo/lcm/pub/config/config.py
  Modify the following fields with the real IP/port/name/username/password of MySQL
 By default DB_NAME=inventory DB_USER=inventory  DB_PASSWD=inventory
  # [mysql]
  DB_IP = "127.0.0.1"
  DB_PORT = 3306
  DB_NAME = "nfvo"
  DB_USER = "root"
  DB_PASSWD = "password" 

7. Configure IP address/port/password of the REDIS

  vi {$PATH}/nfvo/lcm/pub/config/config.py
  Modify the following fields with the real IP address/port/password of the REDIS.
  # [REDIS]
  REDIS_HOST = "127.0.0.1"
  REDIS_PORT = "6379"
  REDIS_PASSWD = ""

8. Initialize nfvo-lcm(to be run only once)

  {$PATH}/nfvo/lcm/initialize.sh

9. Start nfvo-lcm

  {$PATH}/nfvo/lcm/run.sh 

10. Stop nfvo-lcm

  {$PATH}/nfvo/lcm/stop.sh

11. Parameter for registration with MSB

   Modify the host and port field with the real IP address/port of nfvo-lcm micro-service.
   {
     "serviceName": "nslcm",
     "version": "v1",
     "url": "/openoapi/nslcm/v1",
     "protocol": "REST",
     "visualRange": "1",
     "nodes": [
       {
         "ip": "127.0.0.1",
         "port": "8403",
         "ttl": 0
       }
     ]
   }

12. Config auto registration with MSB when startup

   vi {$PATH}/nfvo/lcm/pub/config/config.py
   Modify field REG_TO_MSB_WHEN_START to True.
   Modify the host and port field with the real IP address/port of nfvo-lcm micro-service.
   # [register]
   REG_TO_MSB_WHEN_START = False
   REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
   REG_TO_MSB_REG_PARAM = {
       "serviceName": "nslcm",
       "version": "v1",
       "url": "/openoapi/nslcm/v1",
       "protocol": "REST",
       "visualRange": "1",
       "nodes": [{
           "ip": "127.0.0.1",
           "port": "8403",
           "ttl": 0
       }]
   }

13. Verify microservice is working correctly

   curl http: //{ip of nslcm micro-service}:{port of nslcm micro-service}/samples/

14. Verify microservice is communicating with the MSB correctly

   curl http: //{ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/nslcm/version/v1

nfvo-drivers-vnfm-svnfm-zte-vmanager

1. Download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/nfvo/drivers-vnfm-svnfm-zte-vmanager/1.1.0-SNAPSHOT/

2. Unzip the zip package

  unzip xxxxx.zip -d {$PATH}

3. Add execution permissions

  chmod +x {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/*.sh 

4. Configure IP address/port of the nfvo-drivers-vnfm-svnfm-zte-vmanager micro-service

  vi {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/run.sh
  vi {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/stop.sh
  Modify the host and port field with the real IP address/port of the nfvo-drivers-vnfm-svnfm-zte-vmanager micro-service.

5. Configure IP address/port of the MSB

 vi {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/driver/pub/config/config.py
 Modify the following fields with the real IP address/port of the MSB.
 # [MSB]
 MSB_SERVICE_IP = '127.0.0.1'
 MSB_SERVICE_PORT = '10080'

6. Initialize drivers-vnfm-svnfm-zte-vmanager(to be run only once)

  {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/initialize.sh

7. Start drivers-vnfm-svnfm-zte-vmanager

  {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/run.sh

8. Stop drivers-vnfm-svnfm-zte-vmanager

  {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/stop.sh

9. Parameter for registration with MSB

   Modify the host and port field with the real IP address/port of nfvo-drivers-vnfm-svnfm-zte-vmanager micro-service.
   {
     "serviceName": "ztevmanagerdriver",
     "version": "v1",
     "url": "/openoapi/ztevmanagerdriver/v1",
     "protocol": "REST",
     "visualRange": "1",
     "nodes": [
       {
         "ip": "127.0.0.1",
         "port": "8410",
         "ttl": 0
       }
     ]
   }

10. Config auto registration with MSB when startup

   vi {$PATH}/nfvo/drivers/vnfm/svnfm/zte/vmanager/driver/pub/config/config.py
   Modify field REG_TO_MSB_WHEN_START to True.
   Modify the host and port field with the real IP address/port of nfvo-drivers-vnfm-svnfm-zte-vmanager micro-service.
   # [register]
   REG_TO_MSB_WHEN_START = False
   REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
   REG_TO_MSB_REG_PARAM = {
       "serviceName": "ztevmanagerdriver",
       "version": "v1",
       "url": "/openoapi/ztevmanagerdriver/v1",
       "protocol": "REST",
       "visualRange": "1",
       "nodes": [{
           "ip": "127.0.0.1",
           "port": "8410",
           "ttl": 0
       }]
   }

11. Verify microservice is working correctly

   curl http:// {ip of ztevnfm micro-service}:{port of ztevnfm micro-service}/samples/

12. Verify microservice is communicating with the MSB correctly

   curl http:// {ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/ztevnfm/version/v1

nfvo-drivers-sdnc-zte-sfc-driver

  • Preparation for install nfvo-drivers-sdnc-zte-sfc-driver
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
  • Install nfvo-drivers-sdnc-zte-sfc-driver
 Compile from source or download the latest snapshot from 
 https://nexus.open-o.org/content/repositories/snapshots/org/openo/nfvo/sfc-driver-standalone/nfvo-drivers-sdnc-zte-sfc-driver/1.1.0-SNAPSHOT/
  • Configure port of nfvo-drivers-sdnc-zte-sfc-driver
 vim {$PATH}/conf/console.yml
 Modify the port field with the real port of the nfvo-drivers-sdnc-zte-sfc-driver, default 8411.
  • Start nfvo-drivers-sdnc-zte-sfc-driver
 sudo -E ./run.sh
  • Stop nfvo-drivers-sdnc-zte-sfc-driver
 sudo -E ./stop.sh
  • Parameter for registration with MSB
   Modify the host and port field with the real IP address/port ofnfvo-drivers-sdnc-zte-sfc-driver micro-service.
   {
     "serviceName": "sdncdriver",
     "version": "v1",
     "url": "/openoapi/sdncdriver/v1",
     "protocol": "REST",
     "visualRange": "1",
     "nodes": [
       {
         "ip": "127.0.0.1",
         "port": "8411",
         "ttl": 0
       }
     ]
   }
  • Verify microservice is working correctly
   curl http:// {ip of nfvo-drivers-sdnc-zte-sfc-driver}:{port of nfvo-drivers-sdnc-zte-sfc-driver}/openoapi/sdncdriver/v1.0/swagger
  • Verify microservice is communicating with the MSB correctly
   curl http:// {ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/sdncdriver/version/v1

SDN-O

Please follow bellow instructions for installation of SDNO services.


Preparation

  • Hosts Configuration  : First of all, you have to add hosts in file "/etc/hosts". Here is the template below.
   127.0.0.1 localhost          
   "$DEVICE_IP" "DEVICE_NAME"                      Please replace "$DEVICE_IP" and "DEVICE_NAME" with the ip and name where service deployed.
   "$MSB_SERVICE_IP" msb.openo.org                 Please replace "$MSB_SERVICE_IP" with the ip of where msb service deployed.
   Here is a demo of real environment.
   127.0.0.1 localhost
   172.19.44.31 sdn-o08
   172.19.44.9 msb.openo.org

   Database initialization script is packaged in mss service zip published here
   Unzip this package and run bin/initdb.sh script to init database
  • Introduction to deployment zip
   Now you have prepared all the third party software we need and the DB is ready for use. 
   You can download and deploy any micro service you need. Service deployment has no particular order. 
  1. For each SDNO service, zip package is provided. Once you unzip, you will find at least four directories such as bin, conf, webapps and logs in it.
  2. The /bin folder is where we keep start/stop scripts for each service. before you call start/stop scripts, please ensure
    1. environment variables $JAVA_HOME, $CATALINA_HOME set
    2. $CATALINA_BASE to the root path of current service,
    3. java and catalina.sh can be found from $PATH
    4. call script from bin/ directory
    5. chmod +x *.sh at first run
  3. /conf directory contains tomcat config file. Tomcat service port configuration is defined in server.xml, as identified in service list.
  4. /webapps directory contains service webapp and other resource files.
  5. /logs directory records all the logs generated by service. It can reset it to any folder as you wish in /conf/logging.properties.

sdno-mss

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/brs/mss-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run initdb.sh to install database
  4. Run start.sh/stop.sh to start/stop the service

sdno-brs

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/brs/brs-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-site

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/site/localsiteservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-route

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/route/routeservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-ipsec

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/ipsec/ipsecservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-l2vpn

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/l2vpn/l2vpnservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-l3vpn

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/l3vpn/l3vpnservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-nslcm

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/nslcm/nslcm-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-overlay

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/overlay/overlayvpnservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-servicechain

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/servicechain/servicechainservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-vpc

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/vpc/vpcservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-vxlan

  1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/vxlan/vxlanservice-deployment/1.1.0-SNAPSHOT/
  2. Unzip package
  3. Run start.sh/stop.sh to start/stop the service

sdno-monitoring

  1. Download deployment zip package from https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/monitoring/ct_monitoring/1.1.0-SNAPSHOT/
  2. Unzip package.
  3. Run initialize.sh to setup the environment.
  4. Run start.sh/stop.sh to start/stop the service.

sdno-optimize

  1. Download deployment zip package from https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/optimize/ct_optimizer/1.1.0-SNAPSHOT/

  2. Unzip package.

  3. Run initialize.sh to setup the environment.

  4. Run start.sh/stop.sh to start/stop the service.

sdno-vsitemgr

  1. Download deployment zip package from https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/vsitemgr/ct_vsitemgr/1.1.0-SNAPSHOT/

  2. Unzip package.

  3. Run initialize.sh to setup the environment.

  4. Run start.sh/stop.sh to start/stop the service.

SDNHUB Drivers

Run time dependencies

Following are the run time dependency for the SDNHUB Drivers to function:

1. MSB service, Installation instructions for MSB : Required for all drivers.

2. Driver Manager, Installation instruction for Driver Manager : Required for all drivers.

3. ESR, Installations instructions for ESR : Required for all drivers, except sdnhub-driver-huawei-servicechain.

4. BRS, Installation instructions for BRS : For sdnhub-driver-huawei-openstack and sdnhub-driver-huawei-servicechain. These drivers access DB using BRS/MSS service. SPTN driver too requires DB, please check sdnhub-driver-zte-sptn for more details about its dependency.

sdnhub-driver-huawei-l3vpn

Installation
  1. Download latest deployment package from nexus.
  2. Unzip package.
Adding ACWAN controller to ESR

1. Add the contoller to ESR using the Adding ACWAN controller.

2. Use that ID in all HTTP request with the header "X-Driver-Parameter": "extSysID=<controller id>"

Start/Stop services
  1. From the deployment folder, Run start.sh/stop.sh to start/stop the service.
  2. Verify the driver register/unregister using Driver Manager APIs.
Configure MSB
  1. By default, MSB is configured to name "msb.openo.org:80". Please change the 'localhost' and 'restPort' appropriately otherwise in "etc/conf/restclient.json".
{
   "defaultServer":
   {
       "host":"msb.openo.org",
       "port":"80"
   },
   "ConnectTimeout":"300000",
   "thread":"10",
   "idletimeout":"500000",
   "timeout":"300000"
}
Configuration of the Mocked AC-WAN Controller environment

1. Please find the README.txt here on testing the driver with mocked/simulated AC-WAN Controller interfaces.

Running the docker image
$ docker pull openoint/sdnhub-driver-huawei-l3vpn
$ docker run -it -e MSB_ADDR=<MSB_IP>:<MSB_PORT> -p <Driver port> openoint/sdnhub-driver-huawei-l3vpn

Driver port is to ensure public facing port is NATed.

sdnhub-driver-huawei-openstack

Installation
  1. Download deployment zip
  2. Unzip package
Adding Openstack controller to OPEN-O

Using ESR

  1. Make sure ESR support is enabled by setting the flag 'esr.enabled' in 'osdriver.properties' file in the webapp.
  2. Add the OpenStack admin credentials into ESR using registration api and get the ID of this controller
  3. use that ID in all HTTP request with the header "X-Driver-Parameter": "extSysID=<controller id>"

NOTE: currently ESR does not support to register controller with OpenStack region as controller parameter, so its expected that user should use 'RegionOne' as region name by default for controller.

Configuration of the Mocked OpenStack environment
  1. please find the README.txt here on testing the driver with Mocked OpenStack environment.

Same README is provided here for easy reference

Introduction
============

This guide helps to setup the moco server for OpenStack to learn
the REST API supported by OpenStack driver service.

Prerequisites
=============
1. Install the moco standalone server by following the steps given
at https://github.com/dreamhead/moco/blob/master/moco-doc/usage.md#shell

2. Start the moco server for OpenStack as below:
moco http -p 12306 -c mock_openstack.json

NOTE: On MS Windows server, moco does not work. So please use below command
to start the moco server.
java -jar ~/.moco/moco-runner-0.11.0-standalone.jar http -p 12306 -c openstack.json

Please note down the shutdown port reported in console when moco server started.
And use that port to shutdown the server as below:

moco shutdown -p <shutdown port number>

3. Add OpenStack to ESR service by using below sample json

{
    "name":"OpenStack Moco Server",
    "vendor": "OpenO",
    "version": "v1.0",
    "description": "OpenStack moco server",
    "type": "openstack",
    "url": "http://127.0.0.1:12306/v3",
    "userName": "admin",
    "password": "password",
    "domain": "domain",
    "tenant": "admin"
}

NOTE 1: In the above json, "type" and "version" must use the same values used when registering the corresponding driver to Driver Manager.
 
NOTE 2: Please note down the ID generated by ESR, which will be used later in
tutorials given below.

4. Start the OpenStack driver services.

Tutorials
=========

For each REST API supported by OpenStack services, corresponding samples
request and response details are provided under the folder 'sample-api-usage'

To test the REST API, either postman or curl command could be used. Before testing,
update the header "X-Driver-Parameter": "extSysID=<VIM ID generated by ESR>" and
use the JSON body as it is.

Using BRS controller MO

  1. To use the BRS controller MO, more of experimental support, disable the flag 'esr.enabled' in 'osdriver.properties' file in the webapp.
  2. Add the controller details in controller db. (TBD: add automated script location)
Start/Stop Service
  1. From the deployment folder, Run start.sh/stop.sh to start/stop the service
  2. please verify from the Driver Manager that OpenStack service registers with following URI,
    1. /openoapi/sbi-vpc/v1
    2. /openoapi/sbi-ipsec/v1

NOTE: to change the port please change the http port in in conf/server.xml under deployment folder).

Configure MSB

By default, MSB is configured to 127.0.0.1:80 and please change the 'host' and 'port' appropriately in etc/conf/restclient.conf.

Sanity Check

Please verify from the 'osdriverservice.log' from logs folder, that the service is started successfully and is registered with driver manager as well.

sdnhub-driver-huawei-overlay

Installation
  1. Download latest deployment package from nexus.
  2. Unzip package.
Start/Stop services
  1. From the deployment folder, Run start.sh/stop.sh to start/stop the service.
  2. Verify the driver register/unregister using Driver Manager APIs.
Configure MSB
  1. By default, MSB is configured to name "msb.openo.org:80". Please change the 'localhost' and 'restPort' appropriately otherwise in "etc/conf/restclient.json".
{
   "defaultServer":
   {
       "host":"msb.openo.org",
       "port":"80"
   },
   "ConnectTimeout":"300000",
   "thread":"10",
   "idletimeout":"500000",
   "timeout":"300000"
}
Configuration of the Mocked AC-B Controller environment

1. Please find the README.txt here on testing the driver with mocked/simulated AC-B Controller interfaces.

NBI for the this service can be referred here.

 

2. In Enterprise use-case if deployment requires to access vCPE using CLI then following points should be ensured:

  • Make sure that requested element’s native Id is present in database table brsdb.tbl_inv_mangaedelement.
  • IP address of the network element mapped to the native Id should be present in device/deviceparam.json.
Running the docker image
$ docker pull openoint/sdnhub-driver-huawei-l3vpn
$ docker run -it -e MSB_ADDR=<MSB_IP>:<MSB_PORT> -p <Driver port> openoint/sdno-driver-huawei-overlay

Driver port is to ensure public facing port is NATed.

sdnhub-driver-huawei-servicechain

   1. Download deployment zip package from : https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdnhub/driver-huawei-servicechain/servicechaindriverservice-deployment/1.1.0-SNAPSHOT/
   2. Unzip package
   3. Run start.sh/stop.sh to start/stop the service

sdnhub-driver-zte-sptn

Install driver

  1. Preparation: JRE 1.8, MySQL installed (5.7.13).
  2. Start MSB service.Install MSB
  3. Start Driver Mgr. Install Driver Mgr
  4. Install and start ESR, and register SPTN controller to ESR(as described in ESR SDN-O Driver Register API, make sure "url", "version" and "type" is right, note "url" is like "url":"http://10.74.151.13:21180").
  5. Download zip from https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdnhub/driver-zte-sptn/standalone/.
  6. Change msb address in conf/config.yaml in the downloaded zip. Edit conf/driver.json, make sure the "version" and "type" is the same to "version" and "type" in step 4 and change driverInfo.ip to the ip address of driver.
  7. Init database: sudo -E ./initDB.sh ${dbuser} ${dbpassword}.
  8. Run start.sh/start.bat to start the service.?If meet the time zone error when connecting to the db, run "SET GLOBAL time_zone = '+8:00';" by MySQL client.? 9. Run stop.sh/stop.bat to stop the service.

Prove the service is running:

  1. Verify register is OK: curl -X GET -H "X-Driver-Parameter: ${Controller id}" -H "service_url: /openoapi/sbi-l2vpn-vpws/v1" "http://${MSB_IP_address}:${MSB_IP_port}/openoapi/drivermgr/v1/drivers"

Install simulator:

  1. Preparation: JRE 1.8.
  2. Download position: https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdnhub/driver-zte-sptn/simulator-standalone/
  3. Unzip the downloaded zip. 4. Run start.sh/start.bat to start the service. 5. Run stop.sh/stop.bat to stop the service.

sdnhub-driver-ct-te

  1. Download deployment zip package from https://nexus.open-o.org/content/repositories/snapshots/org/openo/sdno/driver-ct-te/ct_tedriver/1.1.0-SNAPSHOT/
  2. Unzip package.
  3. Run initialize.sh to setup the environment.
  4. Run start.sh/stop.sh to start/stop the service.


Common Services

Microservice Service Bus

  1. Install 1.7 or higer version of JDK
  2. export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host
  3. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-services/microservice-bus/msb-core-standalone/
  4. create nobody group if it's not in your OS
    sudo groupadd nobody
    sudo usermod -g nobody nobody
  5. tar -xzf msb-core-standalone-1.1.0-20170321.084614-13-linux64.tar.gz
  6. sudo chmod +x *.sh -Rf
  7. sudo -E ./startup.sh

The default ports:

  • Internal API gateway:80 All the Microservices should be registered to this port.
  • External API gateway:8080 Don not register microservices to this port.

Notice:When deployment the External API gateway should listen to an externally accessible IP other than the IP of internal API geteway. So you need a host with two NICs to deploy MSB. For test purpose, we could use one IP with different ports.


The IP and port could be modified here:

  • Internal API gateway:openresty\nginx\sites-enabled\openomsb.conf
  • External API gateway:eag\nginx\sites-enabled\openomsb.conf


How to check the if the MSB is already started?
Open http://$MSB_INSTALL_HOST_IP:PORT in your browser, you can see the page showing all the registered microservices.

WSO2-EXT

  • Preparation for install WSO2-EXT
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
  • Install WSO2-EXT
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-services/common-utilities/wso2bpel-ext/standalone/1.1.0-SNAPSHOT/
  2. tar -xzf openo-commonservice-commonutilities-wso2bpel-ext-1.0.0-SNAPSHOT-linux64.tar.gz
  3. sudo -E ./initDB.sh root $PASSWORD $MYSQLPORT $MYSQLIP
  4. sudo -E ./run.sh
  • Notice
  1. Replace the MSB info in wso2bps/wso2bps-ext.properties as "http://msbIp:port" with the property name "MSB_URL" before execute run.sh.
  2. Replace the MSB info in wso2bps/conf/wso2bpel.yml as "http://127.0.0.1:80" with the property name "msbServerAddr" before execute run.sh.

External System Register

  • Preparation for install External System Register
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. MySQL : Install Mysql. Mysql must be installed before any service start, we use version 5.7 for now,you can download Mysql in http://dev.mysql.com/downloads/mysql.
  3. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
  • Install External System Register
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-services/external-system-registration/standalone/1.1.0-SNAPSHOT/
  2. tar -xzf openo-commonservice-extsys-1.0.0-SNAPSHOT-linux64.tar.gz
  3. sudo -E ./initDB.sh root $PASSWORD $MYSQLPORT $MYSQLIP
  4. sudo -E ./run.sh

Driver Mgr

  • Preparation for install DriverMgr
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. MySQL : Install Mysql. Mysql must be installed before any service start, we use version 5.7 for now,you can download Mysql in http://dev.mysql.com/downloads/mysql.
  3. Tomcat: Install Tomcat. Tomcat must be installed before any service start, we use version 7.0 for now,you can download Tomcat in https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.68/bin
  4. Zip  : Install zip tool.We need zip tool for Linux before you start any service.
  5. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.Export CATALINA_HOME= "$TOMCAT_INSTALLATION_PATH", please replace $TOMCAT_INSTALLATION_PATH with the Tomcat installation directory on your host
  • Notice
  1. At first you should know DriverMgr use Bus service, this services provide basic inventory service.
  2. Make sure this services is ready before you run other services or you will find the response of your request is always not ok.
  3. And extsys must be installed and running,all drivers information must registered with extsys.
  4. After installed mysql, you need to use sql file ({$PATH}/DriverManagerService/init) for initialization the mysql database.
  5. Configure IP address/port where msb(Microservice Service Bus) is installed in the driver_manager.properties files.
    #cd {$PATH}/DriverManagerService/webapps/ROOT/WEB-INF/classes
    #vi driver_manager.properties
    
  • Install DriverMgr
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-services/driver-mgr/drivermanager-service-deployment/1.1.0-SNAPSHOT/
  2. Unzip the zip package
#unzip XXX.zip -d {$PATH}/DriverManagerService
  1. Initial Database Table
#cd {$PATH}/DriverManagerService/init
#mysql -uroot -p{$password} <drivermanagerservice_tables_mysql.sql
  1. Add execution permissions
#chmod +x {$PATH}/DriverManagerService/bin/*.sh
  1. Configure mysql Connection information (Contain mysql Installed IP/Port and username/password in configuration.xml file.)
#cd {$PATH}/drivermanager/webapps/ROOT/WEB-INF/classes/mybatis/configuration
#vi configuration.xml
  1. Configration Microservice Service Bus
#cd {$PATH}/DriverManagerService/etc/microservice
#vi driver_rest.json
{
  "serviceName": "drivermgr",
  "version": "v1",
  "url": "/openoapi/drivermgr/v1",
  "protocol": "REST",
  "visualRange": "0",
  "nodes": [
    {
      "ip": "{$server_IP}",
      "port": "8103",
      "ttl": 0
    }
  ]
}
#cd {$PATH}/DriverManagerService/etc
#vi microservice.ini
msb.address={$msb_IP}:{$msb_port}
  1. Start DriverMgr microserver
#cd {$PATH}/DriverManagerService
#./start.sh

Note:when started successfully?the DriverMgrService auto register to Microservice Service Bus.

Auth

  • Preparation for install AuthService
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
  2. keystone  : keystone must be installed before any service start, we use version 1.3.0 for now. You install keystone can refer to http://docs.openstack.org/liberty/install-guide-rdo/keystone-install.html.
  3. Tomcat  : Tomcat must be installed before any service start, we use version 7.0 for now. You can download Tomcat in https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.68/bin.
  4. Zip  : We will dispatch our package in .zip format,you may need zip for Linux before you start any service.you can use apt-get to get zip software easily if you are using Ubuntu OS as we are.
  5. Environment Variables  : Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.Export CATALINA_HOME= "$TOMCAT_INSTALLATION_PATH", please replace $TOMCAT_INSTALLATION_PATH with the Tomcat installation directory on your host.
  • Notice
  1. At first you should know AuthService use keystone and Bus service, these two services provide basic inventory service.
  2. Make sure these two services are ready before you run other services or you will find the response of your request is always not ok.
  3. And after keystone installation,you need to create admin user manually,you can refe to:http://docs.openstack.org/liberty/install-guide-rdo/keystone-install.html
  • Install AuthService
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-services/auth/auth-service-deployment/1.1.0-SNAPSHOT
  2. Unzip the zip package
#unzip XXX.zip -d {$PATH}/AuthService
  1. Add execution permissions
#chmod +x {$PATH}/AuthService/bin/*.sh
  1. Add keystone server information
#cd {$PATH}/AuthService/webapps/ROOT/WEB-INF/classes
#vi auth_service.properties
IP={$keystone_server_IP}
PORT={$port}
SERVICE=Keystone
  1. Assign permissions to admin user
#vi keystone_config.properties
domain_id=default
domain_name=Default
project_name=admin
admin_token={$ADMIN_TOKEN}
admin_name=admin

Please replace $ADMIN_TOKEN which you can get from the keystone configuration file /etc/keystone/keystone.conf on your keystone installed host.

  1. Configration Microservice Service Bus
#cd {$PATH}/AuthService/etc/microservice
#vi auth_rest.json
{
  "serviceName": "auth",
  "version": "v1",
  "url": "/openoapi/auth/v1",
  "protocol": "REST",
  "visualRange": "0",
  "nodes": [
    {
      "ip": "{$server_IP}",
      "port": "8102",
      "ttl": 0
    }
  ]
}
#cd {$PATH}/AuthService/etc
#vi microservice.ini
msb.address={$server_IP}:80
  1. Start AuthService

Note: When started successfully, the AuthService auto register's to MicroService Service Bus.

#cd {$PATH}/AuthService/bin
#./start.sh

Default Account: The default account is what you set when installing keystone. If you use the docker image to deploy, the default account is : admin/Changeme_123

Protocol Stack

  • Preparation for install AuthService
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
  2. Tomcat  : Tomcat must be installed before any service start, we use version 7.0 for now. You can download Tomcat in https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.68/bin.
  3. Zip  : We will dispatch our package in .zip format,you may need zip for Linux before you start any service.you can use apt-get to get zip software easily if you are using ubuntu OS as we are.
  4. Environment Variables  : 
   export JAVA_HOME="$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
export CATALINA_HOME="$TOMCAT_INSTALLATION_PATH", please replace $TOMCAT_INSTALLATION_PATH with the Tomcat installation directory on your host.
  • Install ProtocolStackService
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-services/protocol-stack/protocolstack-service/1.1.0-SNAPSHOT
  2. Unzip the zip package
#unzip protocolstack-service-1.0.0.zip -d {$PATH}/protocolstack

1. Add execution permissions

#chmod 777 -R {$PATH}/protocolstack

 

2. Start ProtocolStackService

#cd {$PATH}/protocolstack/bin

#./start.sh
  • Configure MSB for Docker Images

Change the "msb.openo.org" to "$MSB_ADDR" in the file service/etc/conf/restclient.json. Please replace $MSB_ADDR to actual MSB address.

Common TOSCA

Catalog

  • Preparation for install Catalog
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. MySQL : Install Mysql. Mysql must be installed before any service start, we use version 5.7 for now,you can download Mysql in http://dev.mysql.com/downloads/mysql.
  3. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
  • Install Catalog
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-tosca/catalog/catalog-all/1.1.0-SNAPSHOT/
  2. tar -xzf openo-commontosca-catalog-1.0.0-SNAPSHOT-linux64.tar.gz
  3. sudo -E ./initDB.sh root $PASSWORD $MYSQLPORT $MYSQLIP
  4. sudo -E ./startup.sh
  • Notice
  1. Replace the IP in "msbServerAddr" to actual MSB address in catalog/catalog/conf/catalog.yml before execute startup.sh.

Inventory

  • Preparation for install Inventory
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. MySQL : Install Mysql. Mysql must be installed before any service start, we use version 5.7 for now,you can download Mysql in http://dev.mysql.com/downloads/mysql.
  3. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
  • Install Inventory
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-tosca/inventory/standalone/1.1.0-SNAPSHOT/
  2. tar -xzf openo-commontosca-inventory-1.0.0-SNAPSHOT-linux64.tar.gz
  3. sudo -E ./initDB.sh root $PASSWORD $MYSQLPORT $MYSQLIP
  4. sudo -E ./run.sh

Model Designer

  • Preparation for install Model Designer
  1. JDK  : Install 1.7 or higher version of JDK .We use JDK 1.8 for now,You can download JDK in http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. Environment Variables: Export JAVA_HOME= "$JAVA_INSTALLATION_PATH", please replace $JAVA_INSTALLATION_PATH with the JDK installation directory on your host.
  • Install Model Designer
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/common-tosca/model-designer/modeldesigner/distribution/modeldesigner-standalone/1.1.0-SNAPSHOT/
  2. tar -xzf modeldesigner-standalone-1.1.0-SNAPSHOT-linux.gtk.x86_64.tar.gz
  3. sudo -E ./run.sh

How to verify? Open http://$INSTALL_HOST_IP:8202/winery in your browser, you can see the GUI of model designer.

ARIA

Requirements

  • Python 2.7
  • PIP

Installation

  1. Go to nexus and download the desired common-tosca-aria version. Recommended is to use the latest SNAPSHOT version.
    https://nexus.open-o.org/#nexus-search;quick~common-tosca-aria
    In this example we will use snapshot version 20170207.141525-6

    export SNAPSHOT=20170207.141525-6
  2. Extract the package

    unzip  aria-1.1.0-${SNAPSHOT}.zip -d aria-1.1.0-${SNAPSHOT}


  3. Install required modules using pip

    cd aria-1.1.0-${SNAPSHOT} && pip install -r requirements.txt
  4. Install common-tosca-aria

    pip install .


 

The above installs in the system, but it is recommended to use a virtual environment where possible:

virtualenv env
. env/bin/activate
pip install -r requirements.txt

pip install .

 

Usage

To start the service for the current user:

aria-openo --ip ${IP} --msb_ip ${MSB_IP} start 

To start the service for the current user:

aria-openo stop

The logs and pidfile will by default be put in the user's home directory. You can specify a different directory via the --rundir command line switch.

Holmes

Rule Management

  • Pre-requisites
    The microservice module must be installed and started. The IP and port of the MSB must be exposed. 
  • Preparation for the Installation of the Rule Management Module
  1. JDK: Install JDK 1.8 which can be download at http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
  2. MySQL: Install Mysql. Mysql must be installed before starting any service. We use version 5.7 for now. You can download Mysql from http://dev.mysql.com/downloads/mysql.
  3. Environment Variables: Export JAVA_HOME= ${java installation path}, please replace ${java installation path} with the JDK installation directory on your host.
  • Install the Rule Management Module
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/holmes/rule-management/holmes-rulemgt-standalone/1.1.0-SNAPSHOT/.
  2. unzip -d ${target path} holmes-rulemgt-standalone-${version}-linux64.zip
  3. Run vi ${target path}/conf/rulemgt.yml and modify the IP and port of mysql at line 53; 
  4. Run export MSB_ADDR=${msb service ip} to set the IP of the MSB as a environment variable. 
  5. Run export SERVICE_IP=${host ip} to set the IP of our own microservice.
  6. sudo -E ./initDB.sh ${user name} ${password} ${mysql port} ${mysql ip}
  7. sudo -E ./run.sh

Engine Management

  • Pre-requisites
    The microservice module must be installed and started. The IP and port of the MSB must be exposed. 
  • Preparation for the Installation of the Engine Management Module
  1. JDK: Install JDK 1.8 which can be download at http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
  2. MySQL: Install Mysql. Mysql must be installed before starting any service. We use version 5.7 for now. You can download Mysql from http://dev.mysql.com/downloads/mysql.
  3. Environment Variables: Export JAVA_HOME= ${java installation path}, please replace ${java installation path} with the JDK installation directory on your host.
  • Install the Engine Management Module
  1. Compile from source or download the latest snapshot from https://nexus.open-o.org/content/repositories/snapshots/org/openo/holmes/engine-management/holmes-engine-d-standalone/1.1.0-SNAPSHOT/
  2. unzip -d ${target path} holmes-engine-d-standalone-${version}-linux64.zip
  3. Run vi ${target path}/conf/rulemgt.yml and change the IP and port of mysql at Line 53; modify the MQ related configuration from Line 67 to Line 70; 
  4. Run export MSB_ADDR=${msb service ip} to set the IP of the MSB as a environment variable. 
  5. Run export SERVICE_IP=${host ip} to set the IP of our own microservice.
  6. sudo -E ./initDB.sh ${user name} ${password} ${mysql port} ${mysql ip}
  7. sudo -E ./run.sh

 

MultiVIM services

MultiVIM broker

1. Download the latest snapshot from 

https://nexus.open-o.org/content/repositories/snapshots/org/openo/multivimdriver/broker/multivimbroker/1.1.0-SNAPSHOT/

2. Unzip the zip package

  unzip xxxxx.zip -d {$PATH}

3. Add execution permissions

  chmod +x {$PATH}/multivimbroker/*.sh

4. Configure IP address/port of the multivim broker micro-service

  vi {$PATH}/multivimbroker/run.sh
  vi {$PATH}/multivimbroker/stop.sh
  Modify the host and port field with the real IP address/port of multivimbroker micro-service.

5. Configure IP address/port of the MSB

  vi {$PATH}/multivimbroker/multivimbroker/pub/config/config.py
  Modify the following fields with the real IP address/port of the MSB.
  # [MSB]
  MSB_SERVICE_IP = '127.0.0.1'
  MSB_SERVICE_PORT = '80'

6. Initialize the service (to be run only once)

  {$PATH}/multivimbroker/initialize.sh

7. Start the service

  {$PATH}/multivimbroker/run.sh 

8. Stop the service

  {$PATH}/multivimbroker/stop.sh

9. Config auto registration with MSB when startup

   vi {$PATH}/multivimbroker/multivimbroker/pub/config/config.py
   Modify field REG_TO_MSB_WHEN_START to True.
   Modify the host and port field with the real IP address/port of the micro-service.
   # [register]
   REG_TO_MSB_WHEN_START = False
   REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
   REG_TO_MSB_REG_PARAM = {
       "serviceName": "multivim",
       "version": "v1",
       "url": "/openoapi/multivim/v1",
       "protocol": "REST",
       "visualRange": "1",
       "nodes": [{
           "ip": "127.0.0.1",
           "port": "9001",
           "ttl": 0
       }]
   }

 

10. Verify microservice is working correctly

   curl http: //{ip of multivim broker micro-service}:{port of multivim broker micro-service}/samples/

11. Verify microservice is communicating with the MSB correctly

   curl http: //{ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/multivim/version/v1

 

 

MultiVIM driver for OpenStack Kilo

1. Download the latest snapshot from 

https://nexus.open-o.org/content/repositories/snapshots/org/openo/multivimdriver/openstack/multivimdriver-openstack-kilo/1.1.0-SNAPSHOT/

2. Unzip the zip package

  unzip xxxxx.zip -d {$PATH}

3. Add execution permissions

  chmod +x {$PATH}/kilo/*.sh

4. Configure IP address/port of the multivim driver of Kilo micro-service

  vi {$PATH}/kilo/run.sh
  vi {$PATH}/kilo/stop.sh
  Modify the host and port field with the real IP address/port of multivim driver of Kilo micro-service.

5. Configure IP address/port of the MSB

  vi {$PATH}/kilo/kilo/pub/config/config.py
  Modify the following fields with the real IP address/port of the MSB.
  # [MSB]
  MSB_SERVICE_IP = '127.0.0.1'
  MSB_SERVICE_PORT = '80'

6. Initialize the service (to be run only once)

  {$PATH}/kilo/initialize.sh

7. Start the service

  {$PATH}/kilo/run.sh 

8. Stop the service

  {$PATH}/kilo/stop.sh

9. Config auto registration with MSB when startup

   vi {$PATH}/kilo/kilo/pub/config/config.py
   Modify field REG_TO_MSB_WHEN_START to True.
   Modify the host and port field with the real IP address/port of multivim driver of Kilo micro-service.
   # [register]
   REG_TO_MSB_WHEN_START = False
   REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
   REG_TO_MSB_REG_PARAM = {
       "serviceName": "multivim-kilo",
       "version": "v1",
       "url": "/openoapi/multivim-kilo/v1",
       "protocol": "REST",
       "visualRange": "1",
       "nodes": [{
           "ip": "127.0.0.1",
           "port": "9002",
           "ttl": 0
       }]
   }

 

10. Verify microservice is working correctly

   curl http: //{ip of multivim driver of Kilo micro-service}:{port of multivim driver of Kilo micro-service}/samples/

11. Verify microservice is communicating with the MSB correctly

   curl http: //{ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/multivim-kilo/version/v1

 

12, Register VIM instance of OpenStack Kilo

      Open browser with OPEN-O GUI portal, navigate to Menu , Management View, then click VIM manage.

      Click "Register" button to register VIM instance with following mandatory information:

        Auth URL: <endpoint URL of VIM's identity service>

        Type: openstack

        Version: kilo

        Tenant: <tenant name>

        Username: <username with admin previlege>

        Password: <password to authenticate the Username above> 

 

MultiVIM driver for OpenStack newton

1. Download the latest snapshot from 

https://nexus.open-o.org/content/repositories/snapshots/org/openo/multivimdriver/openstack/multivimdriver-openstack-newton/1.1.0-SNAPSHOT/

2. Unzip the zip package

  unzip xxxxx.zip -d {$PATH}

3. Add execution permissions

  chmod +x {$PATH}/newton/*.sh

4. Configure IP address/port of the multivim driver of Newton micro-service

  vi {$PATH}/newton/run.sh
  vi {$PATH}/newton/stop.sh
  Modify the host and port field with the real IP address/port of the micro-service.

5. Configure IP address/port of the MSB

  vi {$PATH}/newton/newton/pub/config/config.py
  Modify the following fields with the real IP address/port of the MSB.
  # [MSB]
  MSB_SERVICE_IP = '127.0.0.1'
  MSB_SERVICE_PORT = '80'

6. Initialize the service (to be run only once)

  {$PATH}/newton/initialize.sh

7. Start the service

  {$PATH}/newton/run.sh 

8. Stop the service

  {$PATH}/newton/stop.sh

9. Config auto registration with MSB when startup

   vi {$PATH}/newton/newton/pub/config/config.py
   Modify field REG_TO_MSB_WHEN_START to True.
   Modify the host and port field with the real IP address/port of nfvo-lcm micro-service.
   # [register]
   REG_TO_MSB_WHEN_START = False
   REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
   REG_TO_MSB_REG_PARAM = {
       "serviceName": "multivim-newton",
       "version": "v1",
       "url": "/openoapi/multivim-newton/v1",
       "protocol": "REST",
       "visualRange": "1",
       "nodes": [{
           "ip": "127.0.0.1",
           "port": "9002",
           "ttl": 0
       }]
   }

 

10. Verify microservice is working correctly

   curl http: //{ip of multivim driver of Newton micro-service}:{port of multivim driver of Newton micro-service}/samples/

11. Verify microservice is communicating with the MSB correctly

   curl http: //{ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/multivim-newton/version/v1

 

12, Register VIM instance of OpenStack Newton

      Open browser with OPEN-O GUI portal, navigate to Menu , Management View, then click VIM manage.

      Click "Register" button to register VIM instance with following mandatory information:

        Auth URL: <endpoint URL of VIM's identity service>

        Type: openstack

        Version: newton

        Tenant: <tenant name>

        Username: <username with admin previlege>

        Password: <password to authenticate the Username above> 

 

 

MultiVIM driver for VMware VIO (https://www.vmware.com/support/pubs/integrated-openstack-pubs.html)

1. Download the latest snapshot from 

https://nexus.open-o.org/content/repositories/snapshots/org/openo/multivimdriver/vmware/vio/multivimdriver-vio/1.1.0-SNAPSHOT/

2. Unzip the zip package

  unzip xxxxx.zip -d {$PATH}

3. Add execution permissions

  chmod +x {$PATH}/vio/*.sh

4. Configure IP address/port of the multivim driver of Kilo micro-service

  vi {$PATH}/vio/run.sh
  vi {$PATH}/vio/stop.sh
  Modify the host and port field with the real IP address/port of multivim driver of vio micro-service.

5. Configure IP address/port of the MSB

  vi {$PATH}/vio/vio/pub/config/config.py
  Modify the following fields with the real IP address/port of the MSB.
  # [MSB]
  MSB_SERVICE_IP = '127.0.0.1'
  MSB_SERVICE_PORT = '80'

6. Initialize the service (to be run only once)

  {$PATH}/vio/initialize.sh

7. Start the service

  {$PATH}/vio/run.sh 

8. Stop the service

  {$PATH}/vio/stop.sh

9. Config auto registration with MSB when startup

   vi {$PATH}/vio/vio/pub/config/config.py
   Modify field REG_TO_MSB_WHEN_START to True.
   Modify the host and port field with the real IP address/port of multivim driver of Kilo micro-service.
   # [register]
   REG_TO_MSB_WHEN_START = False
   REG_TO_MSB_REG_URL = "/openoapi/microservices/v1/services"
   REG_TO_MSB_REG_PARAM = {
       "serviceName": "multivim-vmware-vio",
       "version": "v1",
       "url": "/openoapi/multivim-vmware-vio/v1",
       "protocol": "REST",
       "visualRange": "1",
       "nodes": [{
           "ip": "127.0.0.1",
           "port": "9002",
           "ttl": 0
       }]
   }

 

10. Verify microservice is working correctly

   curl http: //{ip of multivim driver of VIO micro-service}:{port of multivim driver of VIO micro-service}/samples/

11. Verify microservice is communicating with the MSB correctly

   curl http: //{ip of MSB}:{port of MSB}/openoapi/microservices/v1/services/multivim-vmware-vio/version/v1

 

12, Register VIM instance of VMware VIO

      Open browser with OPEN-O GUI portal, navigate to Menu , Management View, then click VIM manage.

      Click "Register" button to register VIM instance with following mandatory information:

        Auth URL: <endpoint URL of VIM's identity service>

        Type: vmware

        Version: v1

        Tenant: <tenant name>

        Username: <username with admin previlege>

        Password: <password to authenticate the Username above>