Add developer guide and merge introduction with architecture document 81/117281/1
authordyh <dengyuanhong@chinamobile.com>
Mon, 1 Feb 2021 03:05:27 +0000 (11:05 +0800)
committerdyh <dengyuanhong@chinamobile.com>
Mon, 1 Feb 2021 03:06:53 +0000 (11:06 +0800)
Change-Id: Id5bad0ef2497f5aafb4910c72ff79849a565fc3f
Issue-ID: MODELING-479
Signed-off-by: dyh <dengyuanhong@chinamobile.com>
docs/architecture.rst
docs/developer-guide.rst [new file with mode: 0644]
docs/index.rst
docs/introduction.rst [deleted file]

index 86b9f6a..9247ebc 100644 (file)
@@ -5,6 +5,13 @@
 ============
 Architecture
 ============
+
+Introduction
+------------
+
+The Etsicatalog project provides a runtime catalog service which can be consumed by other projects or components, such as UUI, VF-C, etc.
+The catalog can be used to store packages distributed by the SDC, and also includes a TOSCA parser service.
+
 Etsicatalog is a web application based on python3 and Django framework. It is a standalone micro-service which provides:
 
 - Package Management Service
diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst
new file mode 100644 (file)
index 0000000..9e29d2c
--- /dev/null
@@ -0,0 +1,106 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Developer Guide
+===============
+
+Etsicatalog is a web application based on python3 and Django framework.
+
+Pre-requisites
+--------------
+
+* Python3 & pip
+* MariaDB
+
+Etsicatalog can run standalone. However, if you want to try the whole functionality, you should have other components like SDC, DMaap(Non-mandatory), MSB(Non-mandatory) running.
+
+You should set the component information in the environment variables as followed:
+::
+
+    SDC_ADDR=https://{SDC_IP}:30204
+    MSB_ENABLED=true
+    MSB_ADDR=https://{MSB_IP}:30283
+    DMAAP_ENABLED=true
+    DMAAP_ADDR=https://{DMAAP_IP}:30226
+
+Note:
+
+* The default value of MSB_ENABLED is **false**. Since Guilin Release, MSB is a **Non-mandatory** component. If you have no MSB installed or intention to use it, you can just omit MSB_ADDR and MSB_ENABLED.
+* The default value of DMAAP_ENABLED is **false**. If you want to use SDC subscription and notification function, you should set it true and set DMAAP_ADDR properly.
+
+Build & Run
+-----------
+
+**Clone repository**:
+::
+
+    $ git clone https://gerrit.onap.org/r/modeling/etsicatalog
+    $ cd etsicatalog
+
+**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**::
+
+    GET /api/catalog/v1/health_check
+
+You should get::
+
+    {
+        "status": "active"
+    }
+
+**View API document**:
+
+http://127.0.0.1:8806/api/catalog/v1/swagger
+
+
+Run from Docker image
+----------------------
+
+You can run Modeling/etsicatalog directly from the docker image by following commands:
+::
+
+    $ docker run -d -p 3306:3306 --name etsicatalog-db -v /var/lib/mysql -e MYSQL_USER="etsicatalog" -e MYSQL_PASSWORD="etsicatalog" -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE="etsicatalog" nexus3.onap.org:10001/library/mariadb
+
+    $ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' etsicatalog-db
+    Get the IP of etsicatalog-db
+
+    $ docker run -d --name modeling-etsicatalog -v /var/lib/mysql -e DB_IP=<ip address> -e SDC_ADDR=<ip address> nexus3.onap.org:10001/onap/modeling/etsicatalog
+
+**Note**:
+
+You can also build the docker image instead of using the existed image from nexus3.onap.org:10001.
+::
+
+    $ cd docker
+    $ docker build -t ${IMAGE_NAME} .
\ No newline at end of file
index 2af7eab..60931a0 100644 (file)
@@ -3,14 +3,15 @@
 
 Etsicatalog Project
 -------------------
+
 .. toctree::
    :maxdepth: 2
 
-   introduction
    architecture
-   installation
+   developer-guide
    offeredapis
    consumedapis
+   installation
    administration
    humaninterfaces
    release-notes
diff --git a/docs/introduction.rst b/docs/introduction.rst
deleted file mode 100644 (file)
index d83cc76..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-
-Etsicatalog Introduction
-=========================
-
-The Etsicatalog project provides a runtime catalog service which can be consumed by other projects or components, such as UUI, VF-C, etc.
-The catalog can be used to store packages distributed by the SDC, and also includes a TOSCA parser service.