summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/Configure_git_and_gerrit.rst93
-rw-r--r--docs/Install_Configure_SO.rst6
-rw-r--r--docs/Install_Docker.rst85
-rw-r--r--docs/Workspace_and_Development_Tools.rst107
-rw-r--r--docs/api/SO_Interface.rst (renamed from docs/SO_Interface.rst)2
-rw-r--r--docs/architecture/architecture.rst (renamed from docs/architecture.rst)218
-rw-r--r--docs/bpmn/BPMN_Main_Process_Flows.rst (renamed from docs/BPMN_Main_Process_Flows.rst)78
-rw-r--r--docs/bpmn/BPMN_Project_Deployment_Strategy.rst (renamed from docs/BPMN_Project_Deployment_Strategy.rst)0
-rw-r--r--docs/bpmn/BPMN_Project_Structure.rst (renamed from docs/BPMN_Project_Structure.rst)92
-rw-r--r--docs/bpmn/BPMN_Subprocess_Process_Flows.rst (renamed from docs/BPMN_Subprocess_Process_Flows.rst)64
-rw-r--r--docs/bpmn/Camunda_Cockpit_Community_Edition.rst (renamed from docs/Camunda_Cockpit_Community_Edition.rst)0
-rw-r--r--docs/bpmn/Camunda_Cockpit_Enterprise_Edition.rst (renamed from docs/Camunda_Cockpit_Enterprise_Edition.rst)0
-rw-r--r--docs/bpmn/Camunda_Modeler.rst (renamed from docs/Camunda_Modeler.rst)36
-rw-r--r--docs/index.rst4
-rw-r--r--docs/offered_consumed_apis.rst2
15 files changed, 254 insertions, 533 deletions
diff --git a/docs/Configure_git_and_gerrit.rst b/docs/Configure_git_and_gerrit.rst
deleted file mode 100644
index c4598faf7b..0000000000
--- a/docs/Configure_git_and_gerrit.rst
+++ /dev/null
@@ -1,93 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-
-Configure git and gerrit
-========================
-
-Basics
-------
-The recommended version of git is 2.7.4 or later. Check the installed version in the Ubuntu VM:
-
-.. code-block:: bash
-
- git --version
-
-Create an SSH key to user with gerrit. Use no passphrase.
-
-.. code-block:: bash
-
- ssh-keygen -t rsa
-
-Enter your SSH public key (id_rsa) into gerrit:
-
-- Browse to https://gerrit.onap.org
-- Log in
-- Open the menu next to your name (under the green search button)
-
-.. image:: images/Configure_git_1.png
-
-- Select "Settings"
-- In the "Settings" sidebar, click "SSH Public Keys"`
-- Click "Add Key..."
-- Paste the entire contents of $HOME/.ssh/id_rsa.pub into the text area and click "Add".
-
-.. image:: images/Configure_git_2.png
-
-Install the git-review package.
-
-.. code-block:: bash
-
- sudo apt update
- sudo apt install git-review
-
-Create $HOME/.gitconfig (replace highlighted values with your own information):
- [user]
-
- name = FirstName LastName
-
- email = you@yourcompany.com
-
- [core]
-
- autocrlf = false
-
- [merge]
-
- tool = vimdiff
-
- [gitreview]
-
- username = YourLinuxFoundationId
-
-**If you're behind a corporate firewall and your proxy server has SOCKS support...**
-
-You may be able to use the SSH protocol with git, which is preferred versus HTTP. This method is known to work in the AT&T corporate network.
-Install the socat package, which allows you to tunnel SSH connections through a proxy that supports SOCKS:
-
-.. code-block:: bash
-
- sudo apt update
- sudo apt install socat
-
-Create (or append to) $HOME/.ssh/config (replace highlighted values with your information)
-
- Host gerrit.onap.org
-
- User userid
-
- Hostname gerrit.onap.org
-
- ProxyCommand socat - PROXY:host:%h:%p,proxyport=port
-
- IdentityFile /home/userid/.ssh/id_rsa
-
- ServerAliveInterval 10
-
-Verify that you have connectivity to gerrit through the proxy. Answer "yes" to continue connecting, if prompted.
-
-.. code-block:: bash
-
- ssh -p 29418 gerrit.onap.org
-
-.. image:: images/Configure_git_3.png
diff --git a/docs/Install_Configure_SO.rst b/docs/Install_Configure_SO.rst
index eb33b38dc2..29b5e9fc0a 100644
--- a/docs/Install_Configure_SO.rst
+++ b/docs/Install_Configure_SO.rst
@@ -45,11 +45,11 @@ Guest IP: <leave blank>
Guest Port: 22
-.. image:: images/Configure_ubuntu_SO_1.png
+.. image:: ../images/Configure_ubuntu_SO_1.png
.
-.. image:: images/Configure_ubuntu_SO_2.png
+.. image:: ../images/Configure_ubuntu_SO_2.png
Create Shared Folder
--------------------
@@ -140,7 +140,7 @@ Install the guest additions. NOTE: look for errors in the command output! If y
cd /media/cdrom
sudo ./VBoxLinuxAdditions.run
-.. image:: images/Configure_ubuntu_SO_9.png
+.. image:: ../images/Configure_ubuntu_SO_9.png
Add yourself to the vboxsf user group (replace "userid" with your user ID):
diff --git a/docs/Install_Docker.rst b/docs/Install_Docker.rst
deleted file mode 100644
index 22a76a4fbf..0000000000
--- a/docs/Install_Docker.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2018 Huawei Technologies Co., Ltd.
-
-Install Docker
-===============
-
-Make sure curl is installed on the Ubuntu VM:
-
-.. code-block:: bash
-
- sudo apt update
- sudo apt install curl
-
-If you are behind a corporate firewall (replace "proxyhost:port" with your actual proxy information)
- https_proxy="https://*proxyhost:port*" curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add -
-
-Otherwise:
- curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add -
-Expected Response:
- OK
-Add the docker package repository:
- sudo apt-add-repository "deb https://apt.dockerproject.org/repo ubuntu-xenial main"
-
-Install packages:
-
-.. code-block:: bash
-
- sudo apt update
- sudo apt-cache policy docker-engine
- sudo apt install docker-engine
- sudo apt install docker-compose
-
-If you are behind a corporate firewall, you will need to configure proxy settings for docker so that images may be obtained from internet repositories. In the commands shown here, replace *"proxyhost:port"*, *"yourdomain1.com"*, and *"yourdomain2.com"* with appropriate values.
-
- Make the docker configuration directory:
-
-.. code-block:: bash
-
- sudo mkdir -p /etc/systemd/system/docker.service.d
-
- Edit (create) this file:
-
-.. code-block:: bash
-
- sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
-
- Add these lines:
-
- [Service]
-
- Environment="HTTP_PROXY=https://*proxyhost:port*"
-
- Environment="HTTPS_PROXY=https://*proxyhost:port*"
-
- Environment="NO_PROXY=localhost,127.0.0.1,.yourdomain1.com,.yourdomain2.com"
-
- Restart docker:
-
-.. code-block:: bash
-
- sudo systemctl daemon-reload
- sudo systemctl restart docker
-
-Add yourself to the docker user group (replace "userid" with your user ID):
-
-.. code-block:: bash
-
- sudo usermod -a -G docker *userid*
-
-Log out and log back in so that the user group change will takeeffect.
-
-Verify that you can connect to docker as yourself (i.e. not as root):
-
-.. code-block:: bash
-
- docker ps
-
-Verify that you can download and run the hello-world container
-
-.. code-block:: bash
-
- docker run hello-world
-
-.. image:: images/Docker_install_1.png \ No newline at end of file
diff --git a/docs/Workspace_and_Development_Tools.rst b/docs/Workspace_and_Development_Tools.rst
deleted file mode 100644
index 2012a20b09..0000000000
--- a/docs/Workspace_and_Development_Tools.rst
+++ /dev/null
@@ -1,107 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-
-Workspace and Development Tools
-===============================
-
-We recognize that there are different ways to set up a workspace and different tools that may be chosen. This is just one way to set things up.
-
-Suggested Directory Structure
-------------------------------
-*NOTE*: You may have different versions of eclipse and java.
-
- onap
-
- .m2
-
- apache-maven-3.3.9
-
- camunda-modeler
-
- eclipse-jee-neon-3-linux-gtk-x86_64
-
- jdk1.8.0_131
-
- workspace
-
- SO
- chef-repo
-
- docker-config
-
- libs
-
- so
-
- so-config
-
-Java
------
-Download the latest Java_8_SE_Development_Kit_ from Oracle. Select a Linux x64 package.
-
-Unpack it.
-
-.. _Java_8_SE_Development_Kit: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
-Maven
-------
-
-Download the Apache_Maven_3.3.9_ binary. NOTE: 3.3.9 is the recommended version, even though much higher versions are available.
-
-Unpack it.
-
-.. _Apache_Maven_3.3.9: https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/
-
-Create an .m2 directory for maven and put settings.xml_ in it. Edit the local repository path in settings.xml to make it correct for your environment. Everything else should be OK.
-
-.. _settings.xml: https://wiki.onap.org/download/attachments/15997820/settings.xml?version=1&modificationDate=1506156303000&api=v2
-
-Camunda Modeler
----------------
-
-Download the Camunda_Modeler_. Select the Linux x64 package.
-Unpack it.
-
-.. _Camunda_Modeler: https://camunda.org/download/modeler/
-
-Eclipse
--------
-
-Download Eclipse_for_Linux_. Select the 64-bit Eclipse IDE for Java EE Developers. Oxygen seems to be the latest version. These instructions were written for Neon.
-Unpack it.
-
-.. _Eclipse_for_Linux: https://www.eclipse.org/downloads/eclipse-packages/?osType=linux
-
-In the eclipse directory, edit eclipse.ini
-
- Add (or change) the -vm setting so that it points to your JDK.
-
- Adjust the maximum heap space (2GB is recommended).
-
- Example:
-
-.. image:: images/Workspace_and_Development_Tools.png
-
-Eclipse Settings
-----------------
-
-**Configure eclipse to use your external maven 3.3.9 installation:**
- Go to Window→Preferences→Maven→Installations
-
- Click "Add" and browse to your apache-maven-3.3.9 directory. Click "OK" to select it.
-
- Click "Finish"
-
-.. image:: images/Workspace_and_Development_Tools_2.png
-
-Make sure the external installation is selected:
-
-.. image:: images/Workspace_and_Development_Tools_3.png
-
-**Configure eclipse to use your settings.xml**
- Go to Window→Preferences→Maven→User Settings
-
- Type the full path to your settings.xml file into the "User Settings" box and click "OK".
-
-.. image:: images/Workspace_and_Development_Tools_4.png \ No newline at end of file
diff --git a/docs/SO_Interface.rst b/docs/api/SO_Interface.rst
index b7ab7be6f9..3ed18a5733 100644
--- a/docs/SO_Interface.rst
+++ b/docs/api/SO_Interface.rst
@@ -5,7 +5,7 @@
SO Interfaces
================================
-.. image:: images/SO_1.png
+.. image:: ../images/SO_1.png
SO APIs
=================================
diff --git a/docs/architecture.rst b/docs/architecture/architecture.rst
index e988632b96..754c6f888e 100644
--- a/docs/architecture.rst
+++ b/docs/architecture/architecture.rst
@@ -1,106 +1,112 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2018 Huawei Technologies Co., Ltd.
-
-SO - Architecture
-===============
-
-.. image:: images/SO_Architecture_1.png
-
-SO Sub-Components
-------------------
-
-**API Handler**
-
- RESTful interface to northbound clients
-
- * Handle service-level and infrastructure (VNF & network) requests
-
- Service-agnostic APIs
- * “Service Instantiation API”
-
- Model-driven recipe selection
- * Use SO Catalog to map input requests to BPMN flows
- * Dynamic lookup based on service-model + action
- * Input data forwarded to BPMN flow
-
- Track open and completed requests via SO Request DB
-
- Multiple API-H modules may support different APIs
-
-**BPMN Execution Engine**
-
- Open-source Camunda platform
- * Support BPMN 2.0 service recipes
-
- Expose RESTful interface to API-H (unique path per recipe)
-
- Make use of common “building block” sub-flows
-
- Sequence orchestration steps for each Resource in the recipe
- * Request and configure network resources via SDN-C
- * Manage cloud resources via PO (OpenStack)
- * Update inventory via A&AI
-
- Perform error handling/rollback
-
-**Resource Adapters**
-
- Interfaces to lower level controllers and other ONAP components
- * Platform Orchestrator, SDN-Controller, APP-Controller, VFC-Controllers
- * Hides the details of complex interfaces (e.g. OpenStack APIs)
- * Expose interfaces to BPMN flows as SOAP or REST APIs
- * Support synchronous and asynchronous operations
-
- Provided as part of SO platform for use by all BPMN flows
-
- Use SO Catalog to map resource requests to a recipe/template
-
- Data-driven design
- * Catalog templates may be updated via self-service (outside of release cycles)
- * Merge input parameters with templates at run-time
-
-**Data Stores**
-
- Request DB
- * Tracks open and completed requests
-
- SO Catalog
- * SO view of the SDC Catalog
- * service and resource models, recipes, and templates
- * Populated via SDC distribution service from TOSCA models
-
- Camunda DB
- * Maintain state for BPMN flows
- * Supports multiple active engines
-
-**SDC Distribution Client**
-
- Receive updated service models from SDC
- * Event-bus notifications when new models available
- * HTTP retrieval of models (TOSCA) and artifacts (Heat)
-
- Receive distributions as TOSCA models
-
- Populate SO Catalog
-
- Support self-service updates to models and artifacts
-
-Third Party and Open Source
----------------------------
-
-**BPMN Engine**
- Camunda (open source)
-
-**Other Open Source Components of Note:**
- JBOSS EAP/Wildfly
- MySQL/MariaDB
- Openstack Java SDK (“woorea”)
-
-
-
-
-
-
-
-
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2018 Huawei Technologies Co., Ltd.
+
+SO - Architecture
+===============
+
+.. image:: ../images/SO_Architecture_1.png
+
+SO Sub-Components
+------------------
+
+**API Handler**
+
+ RESTful interface to northbound clients
+
+ * Handle service-level and infrastructure (VNF & network) requests
+
+ Service-agnostic APIs
+ * “Service Instantiation API”
+
+ Model-driven recipe selection
+ * Use SO Catalog to map input requests to BPMN flows
+ * Dynamic lookup based on service-model + action
+ * Input data forwarded to BPMN flow
+
+ Track open and completed requests via SO Request DB
+
+ Multiple API-H modules may support different APIs
+
+**BPMN Execution Engine**
+
+ Open-source Camunda platform
+ * Support BPMN 2.0 service recipes
+
+ Expose RESTful interface to API-H (unique path per recipe)
+
+ Make use of common “building block” sub-flows
+
+ Sequence orchestration steps for each Resource in the recipe
+ * Request and configure network resources via SDN-C
+ * Manage cloud resources via PO (OpenStack)
+ * Update inventory via A&AI
+
+ Perform error handling/rollback
+
+**Resource Adapters**
+
+ Interfaces to lower level controllers and other ONAP components
+ * Platform Orchestrator, SDN-Controller, APP-Controller, VFC-Controllers
+ * Hides the details of complex interfaces (e.g. OpenStack APIs)
+ * Expose interfaces to BPMN flows as SOAP or REST APIs
+ * Support synchronous and asynchronous operations
+
+ Provided as part of SO platform for use by all BPMN flows
+
+ Use SO Catalog to map resource requests to a recipe/template
+
+ Data-driven design
+ * Catalog templates may be updated via self-service (outside of release cycles)
+ * Merge input parameters with templates at run-time
+
+**Data Stores**
+
+ Request DB
+ * Tracks open and completed requests
+
+ SO Catalog
+ * SO view of the SDC Catalog
+ * service and resource models, recipes, and templates
+ * Populated via SDC distribution service from TOSCA models
+
+ Camunda DB
+ * Maintain state for BPMN flows
+ * Supports multiple active engines
+
+**SDC Distribution Client**
+
+ Receive updated service models from SDC
+ * Event-bus notifications when new models available
+ * HTTP retrieval of models (TOSCA) and artifacts (Heat)
+
+ Receive distributions as TOSCA models
+
+ Populate SO Catalog
+
+ Support self-service updates to models and artifacts
+
+** SO Monitoring**
+ Monitor BPMN Workflow execution by providing
+ * Service list search based on search criteria
+ * Service statistic
+ * Service Process Instance Rendering and Detail
+
+Third Party and Open Source
+---------------------------
+
+**BPMN Engine**
+ Camunda (open source)
+
+**Other Open Source Components of Note:**
+ Tomcat
+ MySQL/MariaDB
+ Openstack Java SDK (“woorea”)
+
+
+
+
+
+
+
+
diff --git a/docs/BPMN_Main_Process_Flows.rst b/docs/bpmn/BPMN_Main_Process_Flows.rst
index abc006e813..43e08ffd9c 100644
--- a/docs/BPMN_Main_Process_Flows.rst
+++ b/docs/bpmn/BPMN_Main_Process_Flows.rst
@@ -1,40 +1,40 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-
-BPMN Main Process Flows
-========================
-
-Characteristics
-----------------
-
-**Invoked by an API Handler**
-
- The BPMN application (war) exposes a REST endpoint to which the API Handler(s) send requests for flow execution. The message sent by the API Handler to this endpoint is a JSON wrapper containing:
-
- * The original request received by the API handler from the portal or other client.
- * Metadata such as the request-id generated by the API Handler for the request.
- * The name of the BPMN process to execute (obtained by the API Handler from the mso_catalog.service_recipe table.
-
-**Asynchronous Service Model**
-
- All main process flows implement an asynchronous service model. The connection to the API Handler is kept open until the main process flow sends back a response. In the flow shown below, this is done by the "Send Sync Ack Response" script task. A flow is expected to send a response after validating the request, but before performing any long running tasks or tasks that could cause the process to be suspended.
-
- After the synchronous response is sent, the flow continues to execute. When the flow ends, it may optionally send an asynchronous notification to a callback URL provided in the original request (behavior depends on the API agreement)
-
-**Typically calls one or more subprocess flows**
-
- Main process flows usually implement the high-level service logic, delegating the "real" work to reusable subflows (Building Blocks) or custom subflows
-
-**Handles "Completion" and "Fallout" tasks**
-
- "Completion" tasks are those that occur when the process ends successfully, and "Fallout" tasks are those that occur when the process fails. Activities include:
-
- * Updating the mso_requests database.
- * Rolling back uncompleted work.
- * Sending an asynchronous callback notification.
-
-Example: CreateVfModuleVolumeInfraV1.bpmn
-------------------------------------------
-
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 Huawei Technologies Co., Ltd.
+
+BPMN Main Process Flows
+========================
+
+Characteristics
+----------------
+
+**Invoked by an API Handler**
+
+ The BPMN application (war) exposes a REST endpoint to which the API Handler(s) send requests for flow execution. The message sent by the API Handler to this endpoint is a JSON wrapper containing:
+
+ * The original request received by the API handler from the portal or other client.
+ * Metadata such as the request-id generated by the API Handler for the request.
+ * The name of the BPMN process to execute (obtained by the API Handler from the mso_catalog.service_recipe table.
+
+**Asynchronous Service Model**
+
+ All main process flows implement an asynchronous service model. The connection to the API Handler is kept open until the main process flow sends back a response. In the flow shown below, this is done by the "Send Sync Ack Response" script task. A flow is expected to send a response after validating the request, but before performing any long running tasks or tasks that could cause the process to be suspended.
+
+ After the synchronous response is sent, the flow continues to execute. When the flow ends, it may optionally send an asynchronous notification to a callback URL provided in the original request (behavior depends on the API agreement)
+
+**Typically calls one or more subprocess flows**
+
+ Main process flows usually implement the high-level service logic, delegating the "real" work to reusable subflows (Building Blocks) or custom subflows
+
+**Handles "Completion" and "Fallout" tasks**
+
+ "Completion" tasks are those that occur when the process ends successfully, and "Fallout" tasks are those that occur when the process fails. Activities include:
+
+ * Updating the mso_requests database.
+ * Rolling back uncompleted work.
+ * Sending an asynchronous callback notification.
+
+Example: CreateVfModuleVolumeInfraV1.bpmn
+------------------------------------------
+
.. image:: images/BPMN_Main_Process_Flows_1.png \ No newline at end of file
diff --git a/docs/BPMN_Project_Deployment_Strategy.rst b/docs/bpmn/BPMN_Project_Deployment_Strategy.rst
index 50f48363ed..50f48363ed 100644
--- a/docs/BPMN_Project_Deployment_Strategy.rst
+++ b/docs/bpmn/BPMN_Project_Deployment_Strategy.rst
diff --git a/docs/BPMN_Project_Structure.rst b/docs/bpmn/BPMN_Project_Structure.rst
index 3c5ccc3e7d..209ec727c3 100644
--- a/docs/BPMN_Project_Structure.rst
+++ b/docs/bpmn/BPMN_Project_Structure.rst
@@ -1,47 +1,47 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-
-BPMN Project Structure
-=======================
-
-BPMN main process flow
-----------------------
-
-A BPMN main process flow is a top-level flow. All main process flows are under the src/main/resources/process folder.
-
-CreateVfModuleVolumeInfraV1 is a main process flow.
-
-.. image:: images/bpmn_project_structure_1.png
-
-Open BPMN files with the camunda modeler (standalone application). To launch the modeler from eclipse, right-click→open-with→Other→Browse. Select Check the boxes on the dialog so that eclipse will open all .bpmn files with the camunda-modeler executable.
-
-BPMN subprocess flow
----------------------
-
-A BPMN subprocess flow is meant to be invoked by other flows (either main process flows or other subprocess flows). All subprocess flows are under the src/main/resources/subprocess folder.
-
-The CreateVfModuleVolumeInfraV1 process flow is delivered with two custom subflows: DoCreateVfModuleVolumeV2 and DoCreateVfModuleVolumeRollback.
-
-.. image:: images/bpmn_project_structure_2.png
-
-Groovy scripts
----------------
-
-There is one groovy script for each BPMN file. Groovy scripts are invoked by script tasks within the BPMN flows.
-
-.. image:: images/bpmn_project_structure_3.png
-
-Unit Tests
------------
-
-Normally, we create a unit test class for every flow. This one is missing a unit test for its rollback flow.
-
-.. image:: images/bpmn_project_structure_4.png
-
-Unit Test Resource Files
-------------------------
-
-Any files needed by the unit tests are kept under the src/test/resources/__files folder.
-
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 Huawei Technologies Co., Ltd.
+
+BPMN Project Structure
+=======================
+
+BPMN main process flow
+----------------------
+
+A BPMN main process flow is a top-level flow. All main process flows are under the src/main/resources/process folder.
+
+CreateVfModuleVolumeInfraV1 is a main process flow.
+
+.. image:: images/bpmn_project_structure_1.png
+
+Open BPMN files with the camunda modeler (standalone application). To launch the modeler from eclipse, right-click→open-with→Other→Browse. Select Check the boxes on the dialog so that eclipse will open all .bpmn files with the camunda-modeler executable.
+
+BPMN subprocess flow
+---------------------
+
+A BPMN subprocess flow is meant to be invoked by other flows (either main process flows or other subprocess flows). All subprocess flows are under the src/main/resources/subprocess folder.
+
+The CreateVfModuleVolumeInfraV1 process flow is delivered with two custom subflows: DoCreateVfModuleVolumeV2 and DoCreateVfModuleVolumeRollback.
+
+.. image:: images/bpmn_project_structure_2.png
+
+Groovy scripts
+---------------
+
+There is one groovy script for each BPMN file. Groovy scripts are invoked by script tasks within the BPMN flows.
+
+.. image:: images/bpmn_project_structure_3.png
+
+Unit Tests
+-----------
+
+Normally, we create a unit test class for every flow. This one is missing a unit test for its rollback flow.
+
+.. image:: images/bpmn_project_structure_4.png
+
+Unit Test Resource Files
+------------------------
+
+Any files needed by the unit tests are kept under the src/test/resources/__files folder.
+
.. image:: images/bpmn_project_structure_5.png \ No newline at end of file
diff --git a/docs/BPMN_Subprocess_Process_Flows.rst b/docs/bpmn/BPMN_Subprocess_Process_Flows.rst
index fc36cc54c9..098f38ff02 100644
--- a/docs/BPMN_Subprocess_Process_Flows.rst
+++ b/docs/bpmn/BPMN_Subprocess_Process_Flows.rst
@@ -1,32 +1,32 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-
-BPMN Subprocess Process Flows
-==============================
-
-Characteristics
-----------------
-
-**Invoked by other flows**
-
- A BPMN Call_Activity_ provides the mechanism to invoke subprocess flows. The Called Element attribute of the Call Activity specifies the name of the subprocess to execute.
-
-.. _Call_Activity: https://docs.camunda.org/manual/7.7/reference/bpmn20/subprocesses/call-activity/
-
-**Input and Output variable mapping**
-
- In the modeler, you can specify a list of "In Mappings". With this, you can map execution variables from the calling flow to the subprocess. The subprocess always has its own copy of each variable. To transfer values back to the calling flow, you specify "Out Mappings".
-
-**May throw MSOWorkflowException**
-
- The current best practice for reporting errors from subprocess is described here:
-
- * The subprocess should create a WorkflowException object and store it in an execution called WorkflowException.
- * The WorkflowException object contains an error code and an error message.
- * The subprocess should then throw an MSOWorkflowException BPMN event which may be handled by the calling flow.
-
-Example: VnfAdapterRestV1.bpmn
--------------------------------
-
-.. image:: images/BPMN_Subprocess_process_flows_1.png
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 Huawei Technologies Co., Ltd.
+
+BPMN Subprocess Process Flows
+==============================
+
+Characteristics
+----------------
+
+**Invoked by other flows**
+
+ A BPMN Call_Activity_ provides the mechanism to invoke subprocess flows. The Called Element attribute of the Call Activity specifies the name of the subprocess to execute.
+
+.. _Call_Activity: https://docs.camunda.org/manual/7.7/reference/bpmn20/subprocesses/call-activity/
+
+**Input and Output variable mapping**
+
+ In the modeler, you can specify a list of "In Mappings". With this, you can map execution variables from the calling flow to the subprocess. The subprocess always has its own copy of each variable. To transfer values back to the calling flow, you specify "Out Mappings".
+
+**May throw MSOWorkflowException**
+
+ The current best practice for reporting errors from subprocess is described here:
+
+ * The subprocess should create a WorkflowException object and store it in an execution called WorkflowException.
+ * The WorkflowException object contains an error code and an error message.
+ * The subprocess should then throw an MSOWorkflowException BPMN event which may be handled by the calling flow.
+
+Example: VnfAdapterRestV1.bpmn
+-------------------------------
+
+.. image:: images/BPMN_Subprocess_process_flows_1.png
diff --git a/docs/Camunda_Cockpit_Community_Edition.rst b/docs/bpmn/Camunda_Cockpit_Community_Edition.rst
index a9379decc9..a9379decc9 100644
--- a/docs/Camunda_Cockpit_Community_Edition.rst
+++ b/docs/bpmn/Camunda_Cockpit_Community_Edition.rst
diff --git a/docs/Camunda_Cockpit_Enterprise_Edition.rst b/docs/bpmn/Camunda_Cockpit_Enterprise_Edition.rst
index 3e2d15bf15..3e2d15bf15 100644
--- a/docs/Camunda_Cockpit_Enterprise_Edition.rst
+++ b/docs/bpmn/Camunda_Cockpit_Enterprise_Edition.rst
diff --git a/docs/Camunda_Modeler.rst b/docs/bpmn/Camunda_Modeler.rst
index e2ff06d595..54f3534210 100644
--- a/docs/Camunda_Modeler.rst
+++ b/docs/bpmn/Camunda_Modeler.rst
@@ -1,19 +1,19 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-
-Camunda Modeler
-=================
-
-The Camunda_Modeler_ is the editor for BPMN 2.0 process flows. It is a standalone application. NOTE: the Camunda eclipse plugin is no longer supported and should not be used.
-
-.. _Camunda_Modeler: https://docs.camunda.org/manual/latest/modeler/camunda-modeler/
-
-.. image:: images/camunda_modeler_1.png
-
-Modeler Templates
-------------------
-
-Some work has already been done in MSO to develop templates_ for "building block" subprocess flows. When a template is provided for a BPMN element, the modeler displays a custom form for inputting parameters. This significantly simplifies flow construction and reduces the chance of making mistakes.
-
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 Huawei Technologies Co., Ltd.
+
+Camunda Modeler
+=================
+
+The Camunda_Modeler_ is the editor for BPMN 2.0 process flows. It is a standalone application. NOTE: the Camunda eclipse plugin is no longer supported and should not be used.
+
+.. _Camunda_Modeler: https://docs.camunda.org/manual/latest/modeler/camunda-modeler/
+
+.. image:: images/camunda_modeler_1.png
+
+Modeler Templates
+------------------
+
+Some work has already been done in MSO to develop templates_ for "building block" subprocess flows. When a template is provided for a BPMN element, the modeler displays a custom form for inputting parameters. This significantly simplifies flow construction and reduces the chance of making mistakes.
+
.. _templates: https://docs.camunda.org/manual/7.7/modeler/camunda-modeler/element-templates/ \ No newline at end of file
diff --git a/docs/index.rst b/docs/index.rst
index 86b6447017..553b7f4cbc 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -8,8 +8,8 @@ ONAP SO
.. toctree::
:maxdepth: 1
- Install_Configure_SO.rst
- architecture.rst
+ installconfigure/Install_Configure_SO.rst
+ architecture/architecture.rst
offered_consumed_apis.rst
developer_information.rst
release-notes.rst \ No newline at end of file
diff --git a/docs/offered_consumed_apis.rst b/docs/offered_consumed_apis.rst
index f18b5bdd60..78f531db61 100644
--- a/docs/offered_consumed_apis.rst
+++ b/docs/offered_consumed_apis.rst
@@ -12,4 +12,4 @@ All the Service Orchestrator APIs, both inward and outward are documented in the
.. toctree::
:maxdepth: 1
- SO_Interface.rst
+ api/SO_Interface.rst