Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Modeling/etsicatalog project provides package management service by Micro Service. It can be used to store packages distributed by the SDC, which then can be consumed by other projects or components, such as UUI, VF-C, etc. It also includes a TOSCA parser service which provides generic parser service. 

...


Architecture

Etsicatalog Architecture

Build and Install

Etsicatalog is a standalone web application based on python3 and Django framework.

Locally

Pre-requisites:

  • Python3 & pip
  • MySQL 5.7

Clone repository:

$ git clone https://gerrit.onap.org/r/modeling/etsicatalog

$ cd etsicatalog

 

Install dependencies:

$ pip3 install -r requirements.txt

 

Create database:

$ cd /resources/dbscripts/mysql

Run modeling-etsicatalog-createdb.sql to create database.

 

Run commands followed to init database:

$ python manage.py makemigrations

$ python manage.py makemigrations database

$ python manage.py migrate

$ python manage.py migrate database

 

Review and edit \catalog\pub\config\config.py

MySQL default configuration is as follows:

...

DB_IP = "127.0.0.1"

DB_PORT = 3306

DB_NAME = "etsicatalog"

DB_USER = "etsicatalog"

DB_PASSWD = "etsicatalog"

 

Start server:

$ python manage.py runserver 8806

 

Test:

Run Healthcheck: http://127.0.0.1:8806/api/catalog/v1/health_check

You should get:

...

 

View API document:

http://127.0.0.1:8806/api/catalog/v1/swagger

Docker

Requirements

  • Docker
  • Docker-compose

Offered APIs

Modeling/esticatalog provides the followed interfaces:

...

Interface Name

...

Interface Definition

...

 Interface Capabilities

...

Provides catalog management interface:

  • fetch VNF package from SDC
  • fetch NS package from SDC
  • fetch Service package from SDC
  • search VNF/NS/Service

...

Provides NSD management interface (Align with ETSI SOL-005)

  • Create NSD Info
  • Upload NSD
  • Query NSD Info
  • Fetch NSD
  • Delete NSD
  • Create PNFD Info
  • Upload PNFD
  • Query PNFD Info
  • Fetch PNFD
  • Delete PNFD
  • Subscribe & Notify

...

Provides VNF management interface (Align with ETSI SOL-003)

  • Create VNF Package Info
  • Upload VNF Package
  • QueryVNF Package Info, include obtaining the VNFD
  • Fetch VNF Package
  • Fetch VNF Package Artifacts
  • Delete VNF Package
  • Subscribe & Notify

...

Provides Parse interface:

  • Parse VNF
  • Parse PNF
  • Parse NS
  • Parse Service

Please see the REST API document as follows.

etsicatalog_API_v1.yaml

Consumed APIs

Modeling/esticatalog consumes the followed interfaces:

...

Interface Name

...

Interface Definition

...

 Interface Capabilities

...

An interface to receive resource Templates from SDC design catalog

  • Get List of Existing Catalog Assets per Type

 https://{serverRoot}/sdc/v1/catalog/{assetType}

  • Get Specific Asset Detailed Metadata

https://{serverRoot}/sdc/v1/catalog/{assetType}/{uuid}/metadata

  • Download (CSAR of) Specific Asset

https://{serverRoot}/sdc/v1/catalog/{assetType}/{uuid}/toscaModel

...

Build and Install


API Document

Etsicatalog API Document