Merge "Add documentation submodule for vvp product"
authorGregory Glover <gg2147@att.com>
Thu, 16 Nov 2017 11:11:46 +0000 (11:11 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 16 Nov 2017 11:11:46 +0000 (11:11 +0000)
31 files changed:
.gitmodules
docs/guides/onap-developer/settingup/fullonap.rst
docs/guides/onap-developer/settingup/install-designate.rst [new file with mode: 0644]
docs/release/index.rst
docs/submodules/ccsdk/sli/adaptors.git [deleted submodule]
docs/submodules/ccsdk/sli/core.git
docs/submodules/ccsdk/sli/northbound.git
docs/submodules/ccsdk/sli/plugins.git [deleted submodule]
docs/submodules/dmaap/messagerouter/messageservice.git
docs/submodules/integration.git
docs/submodules/modeling/modelspec.git
docs/submodules/modeling/toscaparsers.git
docs/submodules/msb/apigateway.git
docs/submodules/oom.git
docs/submodules/policy/engine.git
docs/submodules/portal.git
docs/submodules/sdc.git
docs/submodules/sdc/sdc-workflow-designer.git
docs/submodules/sdnc/adaptors.git [deleted submodule]
docs/submodules/sdnc/architecture.git [deleted submodule]
docs/submodules/sdnc/core.git
docs/submodules/sdnc/features.git [deleted submodule]
docs/submodules/sdnc/northbound.git [deleted submodule]
docs/submodules/sdnc/oam.git
docs/submodules/sdnc/parent.git [deleted submodule]
docs/submodules/sdnc/plugins.git [deleted submodule]
docs/submodules/so.git
docs/submodules/usecase-ui.git
docs/submodules/vnfrqts/requirements.git
docs/submodules/vnfsdk/model.git
readthedocs.yml [new file with mode: 0644]

index b14a0cd..fc7cd07 100644 (file)
        url = ../ccsdk/platform/plugins
        branch = .
        ignore = dirty
-[submodule "docs/submodules/ccsdk/sli/adaptors.git"]
-       path = docs/submodules/ccsdk/sli/adaptors.git
-       url = ../ccsdk/sli/adaptors
-       branch = .
-       ignore = dirty
 [submodule "docs/submodules/ccsdk/sli/core.git"]
        path = docs/submodules/ccsdk/sli/core.git
        url = ../ccsdk/sli/core
        url = ../ccsdk/sli/northbound
        branch = .
        ignore = dirty
-[submodule "docs/submodules/ccsdk/sli/plugins.git"]
-       path = docs/submodules/ccsdk/sli/plugins.git
-       url = ../ccsdk/sli/plugins
-       branch = .
-       ignore = dirty
 [submodule "docs/submodules/ccsdk/storage/esaas.git"]
        path = docs/submodules/ccsdk/storage/esaas.git
        url = ../ccsdk/storage/esaas
        url = ../ccsdk/utils
        branch = .
        ignore = dirty
-[submodule "docs/submodules/sdnc/adaptors.git"]
-       path = docs/submodules/sdnc/adaptors.git
-       url = ../sdnc/adaptors
-       branch = .
-       ignore = dirty
-[submodule "docs/submodules/sdnc/architecture.git"]
-       path = docs/submodules/sdnc/architecture.git
-       url = ../sdnc/architecture
-       branch = .
-       ignore = dirty
 [submodule "docs/submodules/sdnc/core.git"]
        path = docs/submodules/sdnc/core.git
        url = ../sdnc/core
        branch = .
        ignore = dirty
-[submodule "docs/submodules/sdnc/features.git"]
-       path = docs/submodules/sdnc/features.git
-       url = ../sdnc/features
-       branch = .
-       ignore = dirty
-[submodule "docs/submodules/sdnc/northbound.git"]
-       path = docs/submodules/sdnc/northbound.git
-       url = ../sdnc/northbound
-       branch = .
-       ignore = dirty
 [submodule "docs/submodules/sdnc/oam.git"]
        path = docs/submodules/sdnc/oam.git
        url = ../sdnc/oam
        branch = .
        ignore = dirty
-[submodule "docs/submodules/sdnc/parent.git"]
-       path = docs/submodules/sdnc/parent.git
-       url = ../sdnc/parent
-       branch = .
-       ignore = dirty
-[submodule "docs/submodules/sdnc/plugins.git"]
-       path = docs/submodules/sdnc/plugins.git
-       url = ../sdnc/plugins
-       branch = .
-       ignore = dirty
 [submodule "docs/submodules/portal.git"]
        path = docs/submodules/portal.git
        url = ../portal
index 5436cc6..859005f 100644 (file)
@@ -31,7 +31,11 @@ OpenStack
 ---------
 ONAP installation is validated on `OpenStack Ocata <https://releases.openstack.org/ocata/>`_ or latter release.
 
-The following Open Stack components must be deployed in the infrastructure:
+You can use various Cloud providers offering OpenStack based solutions. A list of available Cloud providers on the `OpenStack marketplace <https://www.openstack.org/marketplace/public-clouds/>`_.
+
+You can use your private Cloud infrastructure.
+
+The following OpenStack components must be deployed in the infrastructure:
  - *Cinder*
  - *Designate*
  - *Glance*
@@ -46,7 +50,13 @@ To deploy OpenStack, you can use various solutions:
  - `OPNFV Cross Community Continuous Integration - XCI installer <http://docs.opnfv.org/en/latest/infrastructure/xci.html>`_
 
 *Designate* component is usually not deployed using standard OpenStack installers.
-Please find a guide to deploy and configure *Designate*.
+Please find a guide to deploy and configure *Designate*
+
+.. toctree::
+   :maxdepth: 1
+
+   install-designate.rst
+
 
 The OpenStack infrastructure must enable internet access.
 
@@ -121,18 +131,248 @@ Security
 The default installation assumes that the Default security group is configured to enable full access between the ONAP components.
 Depending on your environment, we may need to open some security groups (eg when using the portal from your desktop).
 
-The following tables presents the ports exposed by the various components:
-
-TODO list the ports
+The list of various services and ports used can be found on the `ONAP wiki <https://wiki.onap.org/display/DW/ONAP+Services+List#ONAPServicesList-ONAPServices>`_
 
 **Deployment**
 ==============
 
+Source files
+------------
+
+- Template file: https://git.onap.org/demo/plain/heat/ONAP/onap_openstack.yaml
+- Environment file: https://git.onap.org/demo/plain/heat/ONAP/onap_openstack.env
+
+Description
+-----------
+
+The ONAP HEAT template spins up the entire ONAP platform. The template,
+onap_openstack.yaml, comes with an environment file,
+onap_openstack.env, in which all the default values are defined.
+
+The HEAT template is composed of two sections: (i) parameters, and (ii)
+resources.
+The parameter section contains the declaration and
+description of the parameters that will be used to spin up ONAP, such as
+public network identifier, URLs of code and artifacts repositories, etc.
+The default values of these parameters can be found in the environment
+file.
+
+The resource section contains the definition of:
+
+- ONAP Private Management Network, which ONAP components use to communicate with each other and with VNFs
+- ONAP Virtual Machines (VMs)
+- Public/private key pair used to access ONAP VMs
+- Virtual interfaces towards the ONAP Private Management Network
+- Disk volumes.
+
+Each VM specification includes Operating System image name, VM size
+(i.e. flavor), VM name, etc. Each VM has two virtual network interfaces:
+one towards the public network and one towards the ONAP Private
+Management network, as described above. Furthermore, each VM runs a
+post-instantiation script that downloads and installs software
+dependencies (e.g. Java JDK, gcc, make, Python, ...) and ONAP software
+packages and docker containers from remote repositories.
+
+When the HEAT template is executed, the Openstack HEAT engine creates
+the resources defined in the HEAT template, based on the parameters
+values defined in the environment file.
+
+Environment file
+----------------
+
+Before running HEAT, it is necessary to customize the environment file.
+Indeed, some parameters, namely public_net_id, pub_key,
+openstack_tenant_id, openstack_username, and openstack_api_key,
+need to be set depending on the user's environment:
+
+**Global parameters**
+
+::
+
+ public_net_id:       PUT YOUR NETWORK ID/NAME HERE
+ pub_key:             PUT YOUR PUBLIC KEY HERE
+ openstack_tenant_id: PUT YOUR OPENSTACK PROJECT ID HERE
+ openstack_username:  PUT YOUR OPENSTACK USERNAME HERE
+ openstack_api_key:   PUT YOUR OPENSTACK PASSWORD HERE
+ horizon_url:         PUT THE HORIZON URL HERE
+ keystone_url:        PUT THE KEYSTONE URL HERE (do not include version number)
+
+openstack_region parameter is set to RegionOne (OpenStack default). If
+your OpenStack is using another Region, please modify this parameter.
+
+public_net_id is the unique identifier (UUID) or name of the public
+network of the cloud provider. To get the public_net_id, use the
+following OpenStack CLI command (ext is the name of the external
+network, change it with the name of the external network of your
+installation)
+
+::
+
+ openstack network list  | grep ext |  awk '{print $2}'
+
+pub_key is string value of the public key that will be installed in
+each ONAP VM. To create a public/private key pair in Linux, please
+execute the following instruction:
+
+::
+
+ user@ubuntu:~$ ssh-keygen -t rsa
+
+The following operations to create the public/private key pair occur:
+
+::
+
+ Generating public/private rsa key pair.
+ Enter file in which to save the key (/home/user/.ssh/id_rsa):
+ Created directory '/home/user/.ssh'.
+ Enter passphrase (empty for no passphrase):
+ Enter same passphrase again:
+ Your identification has been saved in /home/user/.ssh/id_rsa.
+ Your public key has been saved in /home/user/.ssh/id_rsa.pub.
+
+openstack_username, openstack_tenant_id (password), and
+openstack_api_key are user's credentials to access the
+OpenStack-based cloud.
+
+**Images and flavors parameters**
+
+::
+
+ ubuntu_1404_image: PUT THE UBUNTU 14.04 IMAGE NAME HERE
+ ubuntu_1604_image: PUT THE UBUNTU 16.04 IMAGE NAME HERE
+ flavor_small:       PUT THE SMALL FLAVOR NAME HERE
+ flavor_medium:      PUT THE MEDIUM FLAVOR NAME HERE
+ flavor_large:       PUT THE LARGE FLAVOR NAME HERE
+ flavor_xlarge:      PUT THE XLARGE FLAVOR NAME HERE
+ flavor_xxlarge:     PUT THE XXLARGE FLAVOR NAME HERE
+
+To get the images in your OpenStack environment, use the following
+OpenStack CLI command:
+
+::
+
+        openstack image list | grep 'ubuntu'
+
+To get the flavor names used in your OpenStack environment, use the
+following OpenStack CLI command:
+
+::
+
+        openstack flavor list
+
+**Network parameters**
+
+::
+
+ dns_list: PUT THE ADDRESS OFTHE EXTERNAL DNS HERE (e.g. a comma-separated list of IP addresses in your /etc/resolv.conf in UNIX-based Operating Systems). THIS LIST MUST INCLUDE THE DNS SERVER THAT OFFERS DNS AS AS SERVICE (see DCAE section below for more details)
+ external_dns: PUT THE FIRST ADDRESS OF THE EXTERNAL DNS LIST HERE oam_network_cidr: 10.0.0.0/16
+ dns_forwarder: PUT THE IP OF DNS FORWARDER FOR ONAP DEPLOYMENT'S OWN DNS SERVER
+ oam_network_cidr: 10.0.0.0/16
+
+You can use the Google Public DNS 8.8.8.8 and 4.4.4.4 address or your internal DNS servers
+
+ONAP installs a DNS server used to resolve IP addresses in the ONAP OAM private network.
+ONAP Amsterdam Release also requires OpenStack Designate DNS support for the DCAE platform, so as to allow IP address discovery and communication among DCAE elements.
+This is required because the ONAP HEAT template only installs the DCAE bootstrap container, which will in turn install the entire DCAE platform.
+As such, at installation time, the IP addresses of the DCAE components are unknown.
+
+The DNS server that ONAP installs needs to be connected to the Designate DNS to allow communication between the DCAE elements and the other ONAP components.
+To this end, dns\_list, external\_dns, and dns\_forwarder should all have the IP address of the Designate DNS.
+These three parameters are redundant, but still required for Amsterdam Release. Originally, dns\_list and external\_dns were both used to circumvent some limitations of older OpenStack versions.
+In future releases, the DNS settings and parameters in HEAT will be consolidated.
+The Designate DNS is configured to access the external DNS.
+As such, the ONAP DNS will forward to the Designate DNS the queries from ONAP components to the external world.
+The Designate DNS will then forward those queries to the external DNS.
+
+**DCAE Parameters**
+
+DCAE spins up ONAP's data collection and analytics system in two phases.
+
+The first is the launching of a bootstrap VM that is specified in the ONAP Heat template, as described above. This VM requires a number of deployment-specific configuration parameters being provided so that it can subsequently bring up the DCAE system.
+
+There are two groups of parameters.
+
+The first group relates to the launching of DCAE VMs, including parameters such as the keystone URL and additional VM image IDs/names.
+Hence these parameters need to be provided to DCAE.
+Note that although DCAE VMs will be launched in the same tenant as the rest of ONAP, because DCAE may use MultiCloud node as the agent for interfacing with the underlying cloud, it needs a separate keystone URL (which points to MultiCloud node instead of the underlying cloud).
+
+The second group of configuration parameters relate to DNS As A Service support (DNSaaS).
+DCAE requires DNSaaS for registering its VMs into organization-wide DNS service.
+For OpenStack, DNSaaS is provided by Designate, as mentioned above.
+Designate support can be provided via an integrated service endpoint listed under the service catalog of the OpenStack installation; or proxyed by the ONAP MultiCloud service.
+For the latter case, a number of parameters are needed to configure MultiCloud to use the correct Designate service.
+
+These parameters are described below:
+
+::
+
+ dcae_keystone_url: PUT THE MULTIVIM PROVIDED KEYSTONE API URL HERE
+ dcae_centos_7_image: PUT THE CENTOS7 VM IMAGE NAME HERE FOR DCAE LAUNCHED CENTOS7 VM
+ dcae_domain: PUT THE NAME OF DOMAIN THAT DCAE VMS REGISTER UNDER
+ dcae_public_key: PUT THE PUBLIC KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS
+ dcae_private_key: PUT THE SECRET KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS
+
+ dnsaas_config_enabled: PUT WHETHER TO USE PROXYED DESIGNATE
+ dnsaas_region: PUT THE DESIGNATE PROVIDING OPENSTACK'S REGION HERE
+ dnsaas_keystone_url: PUT THE DESIGNATE PROVIDING OPENSTACK'S KEYSTONE URL HERE
+ dnsaas_tenant_name: PUT THE TENANT NAME IN THE DESIGNATE PROVIDING OPENSTACK HERE (FOR R1 USE THE SAME AS openstack_tenant_name)
+ dnsaas_username: PUT THE DESIGNATE PROVIDING OPENSTACK'S USERNAME HERE
+ dnsaas_password: PUT THE DESIGNATE PROVIDING OPENSTACK'S PASSWORD HERE
+
 Instantiation
 -------------
-- To deploy ONAP, use the Heat template and follow the described guidelines in `Integration project <http://onap.readthedocs.io/en/latest/submodules/integration.git/docs/index.html>`_
 
-- The Heat template deployment may take time (up to one hour) depending on your hardware environment.
+The ONAP platform can be instantiated via Horizon (OpenStack dashboard)
+or Command Line.
+
+**Instantiation via Horizon:**
+
+- Login to Horizon URL with your personal credentials
+- Click "Stacks" from the "Orchestration" menu
+- Click "Launch Stack"
+- Paste or manually upload the HEAT template file (onap_openstack.yaml) in the "Template Source" form
+- Paste or manually upload the HEAT environment file (onap_openstack.env) in the "Environment Source" form
+- Click "Next" - Specify a name in the "Stack Name" form
+- Provide the password in the "Password" form
+- Click "Launch"
+
+**Instantiation via Command Line:**
+
+- Install the HEAT client on your machine, e.g. in Ubuntu (ref. http://docs.openstack.org/user-guide/common/cli-install-openstack-command-line-clients.html):
+
+::
+
+ apt-get install python-dev python-pip
+ pip install python-heatclient        # Install heat client
+ pip install python-openstackclient   # Install the Openstack client to support multiple services
+
+-  Create a file (named i.e. ~/openstack/openrc) that sets all the
+   environmental variables required to access Rackspace:
+
+::
+
+ export OS_AUTH_URL=INSERT THE AUTH URL HERE
+ export OS_USERNAME=INSERT YOUR USERNAME HERE
+ export OS_TENANT_ID=INSERT YOUR TENANT ID HERE
+ export OS_REGION_NAME=INSERT THE REGION HERE
+ export OS_PASSWORD=INSERT YOUR PASSWORD HERE
+
+-  Run the script from command line:
+
+::
+
+ source ~/openstack/openrc
+
+-  In order to install the ONAP platform, type:
+
+::
+
+ heat stack-create STACK_NAME -f PATH_TO_HEAT_TEMPLATE(YAML FILE) -e PATH_TO_ENV_FILE       # Old HEAT client, OR
+ openstack stack create -t PATH_TO_HEAT_TEMPLATE(YAML FILE) -e PATH_TO_ENV_FILE STACK_NAME  # New Openstack client
+
+
+.. Note The Heat template deployment may take time (up to one hour) depending on your hardware environment.
+
 
 Test the installation
 ---------------------
@@ -143,7 +383,7 @@ Run the following command to perform the HealthCheck:
 
   docker exec -it openecompete_container /var/opt/OpenECOMP_ETE/runTags.sh -i health h -d ./html -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py -V /share/config/vm_properties.py
 
-This testsuite will execute 31 tests towards the various ONAP components.
+This testsuite will execute 30 tests towards the various ONAP components.
 
 Detect problems
 ---------------
@@ -160,7 +400,6 @@ The list of containers are described in the following section. In case some cont
  sudo docker ps -a
  sudo docker logs <containerid>
 
-
 **Portal configuration**
 ========================
 The current ONAP installation is using the *onap.org* domain.
@@ -202,26 +441,14 @@ Go to the `Portal component user guide <http://onap.readthedocs.io/en/latest/sub
 
 Other UI documentation:
  - `CLAMP  <http://onap.readthedocs.io/en/latest/submodules/clamp.git/docs/index.html>`_
- - `SDC http://onap.readthedocs.io/en/latest/submodules/sdc.git/docs/index.html>`_
+ - `SDC <http://onap.readthedocs.io/en/latest/submodules/sdc.git/docs/index.html>`_
  - `UI Use-Case <http://onap.readthedocs.io/en/latest/submodules/usecase-ui.git/docs/index.html>`_
 
 
 **Components**
 ==============
 
-The following table presents the list of containers for every Virtual Machine
-
-  .. csv-table::
-   :header: Virtual Machine, Container, Description
-   :widths: 15, 20, 20
-
-    onap-appc,sdnc_dgbuilder_container
-    ,appc_controller_container
-    ,sdnc_db_container
-
-TODO: list all the containers
-
-TODO: update the deployment figure available on the wiki ?
+The list of various services and ports used can be found on the `ONAP wiki <https://wiki.onap.org/display/DW/ONAP+Services+List#ONAPServicesList-ONAPServices>`_
 
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
    http://creativecommons.org/licenses/by/4.0
diff --git a/docs/guides/onap-developer/settingup/install-designate.rst b/docs/guides/onap-developer/settingup/install-designate.rst
new file mode 100644 (file)
index 0000000..0957696
--- /dev/null
@@ -0,0 +1,59 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+   http://creativecommons.org/licenses/by/4.0
+   Copyright 2017 ONAP
+
+
+.. contents::
+   :depth: 2
+..
+
+=====================================
+**Setting Up Designate on Openstack**
+=====================================
+
+.. tip:: `Openstack Designate documentation <https://docs.openstack.org/designate/latest/index.html>` is an important starting point for configuring Designate. Here, the focus will be on designate for ONAP.
+
+**Designate Overview**
+======================
+Designate is a *DNS as a Service* components. It allows API based interaction with a DNS server.
+
+This DNS server can be any *well configured* DNS server.
+
+Designate allows to create **any** entries in the DNS and thus has to be used wisely (see `Designate Production Guidelines <https://docs.openstack.org/designate/latest/admin/production-guidelines.html>` to have a complete explanation).
+
+In order to be valuable, Designate must be plugged with a DNS Server that will be used:
+
+ - your global (pool of) DNS Server(s). Every entries put by Designate will be seen by everybody. It may then be very dangerous.
+ - a specific (pool of) DNS Server(s) for your openstack deployment. DNS resolution will work only for your VM. **This is the one that has been tested**.
+ - a specific (pool of) DNS Server(s) for an openstack tenant. Not a lot of doc is available for that so this part won't be explained here.
+
+**Designate usage in ONAP**
+===========================
+
+Currently, only DCAE Gen2 deployment needs designate to work.
+
+DCAE deployment use cloudify with openstack plugin to start the needed VM for DCAE. In particular, Designate is used to give the IP address of consul server. Thus, the others VMs needs to access the DNS server where Designate push records.
+
+In order to do that, we'll have to deploy DNS Server(s), configure them to accept dns updates and configure our networks to point to this DNS.
+This Fow-To will use bind but you can change to any of the `proposed backends <https://docs.openstack.org/designate/latest/contributor/support-matrix.html>`.
+
+Limitations with Heat automated deployment
+------------------------------------------
+The current design of Heat installer installs DCAE needed VM into the same tenant of the same openstack of the other ONAP components. Thus, this openstack tenant must support Designate.
+
+Limitations with Kubernetes automated deployment
+------------------------------------------------
+The current design of kubernetes deployment installs DCAE into any openstack instances in any tenant. It stills mandate designate on the tenant.
+
+**Quick Install Guide**
+=======================
+
+Few steps have to be performed. The detail of each steps are in `the config guide of Openstack Designate <https://docs.openstack.org/designate/latest/install/index.html>`:
+
+1. Install bind9 nameserver
+2. Configure it to accept dns updates and forward to your master DNS Server
+3. Configure Designate in openstack
+4. Create a pool pointing to your nameserver
+
+Now, when starting the Heat Deployment, use this nameserver. When the stack heat has started, retrieve the random string (XXX in the example) and create the zone XXX.yourdomain (yourdomain is what you have filled in `dcae_domain` in onap_openstack.env).
+For OOM, use the DNS on the container host so it can give it to the relevant VM.
index 7d21f38..cdda873 100644 (file)
@@ -101,3 +101,6 @@ The list of ports used by default within ONAP is documented in `ONAP Service Lis
 Usage
 +++++
 This section is intended to provide users on the usage of ONAP components.
+
+Instructions on using the ONAP deployment including Robot, Portal, SDC and VID in the context of running (Onboarding, service creation, service deployment, VNF creation, VNF preload, VF Module creation and closed loop operations) the vFirewall sanity use case is documented in `Running the ONAP Demos <https://wiki.onap.org/display/DW/Running+the+ONAP+Demos>`_.
+
diff --git a/docs/submodules/ccsdk/sli/adaptors.git b/docs/submodules/ccsdk/sli/adaptors.git
deleted file mode 160000 (submodule)
index fe80fe1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit fe80fe11b82b5b8bfc38349a4304cbe8f1fc0724
index 9a9542e..7390e8a 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 9a9542e5fa1050d9f85f3a96ddcc69717cc1de6b
+Subproject commit 7390e8a7e253ed120832f08605e8d13bcc92314f
index 3a2b6ca..5ce9e01 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 3a2b6ca0e3733f45485e2c9da2e6dfe95b77128a
+Subproject commit 5ce9e010d1151fdb13b3eb32439431a06040380b
diff --git a/docs/submodules/ccsdk/sli/plugins.git b/docs/submodules/ccsdk/sli/plugins.git
deleted file mode 160000 (submodule)
index eff81fd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit eff81fd8cbdcb6dabd3b9d41a1d2659ccd57f2f9
index 2014091..919615c 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 201409190e22128363178c94be43bb32c4021887
+Subproject commit 919615c27f42dcd314679877aad41614b4b7978f
index 401ae1c..3cad6f3 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 401ae1cdbbb7b12562e1928efd2fd10ac5a82418
+Subproject commit 3cad6f37aff90f01f161563741be7897b50a1188
index d6b01eb..048f610 160000 (submodule)
@@ -1 +1 @@
-Subproject commit d6b01eb2e33c1d4407b1543d962f61286f89fa77
+Subproject commit 048f610c3bd896496fe488336ba689ed429b4324
index 0b83950..3b4294c 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0b8395037536b8341850eecbff8aac03b40d7b0d
+Subproject commit 3b4294c9f4f5df133bb7063e901629ebdef69f27
index ddf80e2..0902420 160000 (submodule)
@@ -1 +1 @@
-Subproject commit ddf80e22433f6e5d49923fd1523ca49369a2f583
+Subproject commit 0902420a4bf3c5f7723bc60ced0aab2066b829c4
index 353ce1d..134c625 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 353ce1d7bb77759ff916f96425493a0171c35cc3
+Subproject commit 134c6259cf5d25e636aa1422d464ed5b89e2494e
index 51c7ac7..4837280 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 51c7ac7d8be19221ad2fce4c0f5d815bdb0f63a7
+Subproject commit 483728062ba18ebe585da8287c72b8bf73a0a509
index 6cf1569..3b0029e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 6cf1569c50ab43c6642b7028a0bbdd9bbe901b17
+Subproject commit 3b0029e2d987eede8af0a678bec44a33bbc7bec4
index 68ca07b..5d0f52a 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 68ca07bdc8b0aa86e31d06c083d73a140798f04d
+Subproject commit 5d0f52a1833aa44bb740f6ca6152cdb3846691a7
index 29660c6..20c6444 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 29660c673b5a54ea93238cdd94c14f8ee7c7d8ce
+Subproject commit 20c644471a162abf72c7f10f47c45663c42de814
diff --git a/docs/submodules/sdnc/adaptors.git b/docs/submodules/sdnc/adaptors.git
deleted file mode 160000 (submodule)
index d69f503..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit d69f503c3231553405a4cbc7ab08f40c6f55befd
diff --git a/docs/submodules/sdnc/architecture.git b/docs/submodules/sdnc/architecture.git
deleted file mode 160000 (submodule)
index 2f0dca3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2f0dca3d080e8c940be7a271423ec9cddc86a2e0
index c195cf3..ebb2eb6 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c195cf39d0d782c2b017226edba58dc4da38cedb
+Subproject commit ebb2eb69d7b6fa80dbf228fc7fe365f9c71a8df4
diff --git a/docs/submodules/sdnc/features.git b/docs/submodules/sdnc/features.git
deleted file mode 160000 (submodule)
index 6848b31..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 6848b3186e75546797206985921b8f61aa18c10b
diff --git a/docs/submodules/sdnc/northbound.git b/docs/submodules/sdnc/northbound.git
deleted file mode 160000 (submodule)
index cf7b1f4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit cf7b1f410a2776c4323e995863559982d54895fe
index e2453f4..3e3d50b 160000 (submodule)
@@ -1 +1 @@
-Subproject commit e2453f4d1e1dc23cf3eb292db8ac908367d0844c
+Subproject commit 3e3d50b89a392862d175d52e93387cc652cebe09
diff --git a/docs/submodules/sdnc/parent.git b/docs/submodules/sdnc/parent.git
deleted file mode 160000 (submodule)
index 4b1a1aa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4b1a1aa3b2015845abe5a2ebcd8f61542aae01b9
diff --git a/docs/submodules/sdnc/plugins.git b/docs/submodules/sdnc/plugins.git
deleted file mode 160000 (submodule)
index 9a5f057..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 9a5f0571502661b29b435f07f58237ac1544de17
index 3718d0e..23c7215 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 3718d0e47b49e3449dc21bbb02f5ab38f2206da8
+Subproject commit 23c7215c93bb0a992874b1a199391cfa5bebfcec
index 6aba266..a4cfab7 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 6aba266b3cf20c8caa41fd246772ebc344051df8
+Subproject commit a4cfab7c03a77d5809c0687aafa2a757270ca94d
index 433e6a3..d4cf8e9 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 433e6a3c6770c41445728cce2fd737a93751b55d
+Subproject commit d4cf8e9d3a1cd454e023b0f160b174e3155706e9
index a3adf07..24d831b 160000 (submodule)
@@ -1 +1 @@
-Subproject commit a3adf07306490e9d0e88229c165630124376c86f
+Subproject commit 24d831b021d94ec504cad9a92e23476eb88b2881
diff --git a/readthedocs.yml b/readthedocs.yml
new file mode 100644 (file)
index 0000000..d65278a
--- /dev/null
@@ -0,0 +1,7 @@
+# Formats in addition to HTML
+
+formats:
+   - none
+
+# Pip requirements
+requirements_file: etc/requirements.txt