X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=Readme.md;h=3d7aaaeb125e31682ae5dc6c7690db4fdbfcfad2;hb=a6b110a3a4ffb3280e6d413d0920117b62fe111d;hp=758b3a7d1a260100c4d577e519c388fe1bd9ada2;hpb=ef768a7c864f0d807d8696449f5eed7a4552316f;p=aai%2Fmodel-loader.git
diff --git a/Readme.md b/Readme.md
index 758b3a7..3d7aaae 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,8 +1,7 @@
# Introduction
-The A&AI Model Loader Service is an application that facilitates
-distribution, ingestion of new service and resource models, and vnf
-catalogs from the SDC to the A&AI.
+The A&AI Model Loader Service is an application that facilitates the distribution and ingestion of
+new service and resource models and VNF catalogs from the SDC to the A&AI.
## Features
@@ -13,35 +12,132 @@ The Model Loader:
* downloads artifacts from SDC upon receipt of a distribution event
* pushes distribution components to A&AI
+### VNF Catalog loading
+
+The Model Loader supports two methods for supplying VNF Catalog data for loading into A&AI:
+
+* Embedded TOSCA image and vendor data
VNF Catalog data can be embedded within the TOSCA yaml files contained in the CSAR.
+
+
+* VNF Catalog XML files
VNF Catalog data in the form of XML files can be supplied in the CSAR under the path `Artifacts/Deployment/VNF_CATALOG`
+
+**Note: Each CSAR should provide VNF Catalog information using only one of the above methods. If a CSAR contains both TOSCA and XML VNF Catalog information, a deploy failure will be logged and published to SDC, and no VNF Catalog data will be loaded into A&AI**
+
## Compiling Model Loader
Model Loader can be compiled by running `mvn clean install`
+A Model Loader docker image can be created by running `docker build -t onap/model-loader target`
## Running Model Loader
-### Create a config file with the following key/values:
+Push the Docker image to your Docker repository. Pull this down to the host machine.
+
+**Create the following directories on the host machine:**
+
+ ./logs
+ ./opt/app/model-loader/appconfig
+ ./opt/app/model-loader/appconfig/auth
+
+You will be mounting these as data volumes when you start the Docker container. For examples of the files required in these directories, see the aai/test/config repository (https://gerrit.onap.org/r/#/admin/projects/aai/test-config)
+
+**Populate these directories as follows:**
+
+#### Contents of /opt/app/model-loader/appconfig
+
+The following file must be present in this directory on the host machine:
+
+_model-loader.properties_
+
+ # Always false. TLS Auth currently not supported
+ ml.distribution.ACTIVE_SERVER_TLS_AUTH=false
+
+ # Address/port of the SDC
+ ml.distribution.ASDC_ADDRESS=:8443
+
+ # DMaaP consumer group.
+ ml.distribution.CONSUMER_GROUP=aai-ml-group
+
+ # DMaaP consumer ID
+ ml.distribution.CONSUMER_ID=aai-ml
+
+ # SDC Environment Name. This must match the environment name configured on the SDC
+ ml.distribution.ENVIRONMENT_NAME=
+
+ # Currently not used
+ ml.distribution.KEYSTORE_PASSWORD=
+
+ # Currently not used
+ ml.distribution.KEYSTORE_FILE=
+
+ # Obfuscated password to connect to the SDC. To obtain this value, use the following Jetty library to
+ # obfuscate the cleartext password: http://www.eclipse.org/jetty/documentation/9.4.x/configuring-security-secure-passwords.html
+ ml.distribution.PASSWORD=OBF:
+
+ # How often (in seconds) to poll the DMaaP cluster for new model events
+ ml.distribution.POLLING_INTERVAL=
+
+ # Timeout value (in seconds) when polling DMaaP for new model events
+ ml.distribution.POLLING_TIMEOUT=
+
+ # Username to use when connecting to the SDC
+ ml.distribution.USER=
+
+ # Artifact type we want to download from the SDC (the values below will typically suffice)
+ ml.distribution.ARTIFACT_TYPES=MODEL_QUERY_SPEC,TOSCA_CSAR
+
+ # List of message bus addresses on which to listen for distribution events
+ ml.distribution.MSG_BUS_ADDRESSES=,
+
+ # URL of the A&AI
+ ml.aai.BASE_URL=https://:8443
+
+ # A&AI endpoint to post models
+ ml.aai.MODEL_URL=/aai/v*/service-design-and-creation/models/model/
+
+ # A&AI endpoint to post named queries
+ ml.aai.NAMED_QUERY_URL=/aai/v*/service-design-and-creation/named-queries/named-query/
+
+ # A&AI endpoint to post vnf images
+ ml.aai.VNF_IMAGE_URL=/aai/v*/service-design-and-creation/vnf-images
+
+ # Name of certificate to use in connecting to the A&AI
+ ml.aai.KEYSTORE_FILE=aai-os-cert.p12
+
+ # Obfuscated keystore password to connect to the A&AI. This is only required if using 2-way SSL (not basic auth).
+ # To obtain this value, use the following Jetty library to obfuscate the cleartext password:
+ # http://www.eclipse.org/jetty/documentation/9.4.x/configuring-security-secure-passwords.html
+ ml.aai.KEYSTORE_PASSWORD=OBF:
+
+ # Name of user to use when connecting to the A&AI. This is only required if using basic auth (not 2-way SSL).
+ ml.aai.AUTH_USER=
+
+ # Obfuscated password to connect to the A&AI. This is only required if using basic auth (not 2-way SSL).
+ # To obtain this value, use the following Jetty library to obfuscate the cleartext password:
+ # http://www.eclipse.org/jetty/documentation/9.4.x/configuring-security-secure-passwords.html
+ ml.aai.AUTH_PASSWORD=OBF:
+
+
+
+##### Contents of the /opt/app/model-loader/app-config/auth Directory
+
+The following files must be present in this directory on the host machine:
-```
-DISTR_CLIENT_ASDC_ADDRESS=
-DISTR_CLIENT_CONSUMER_GROUP= ;; Uniquely identiy this group of model loaders.
-DISTR_CLIENT_CONSUMER_ID= ;; Uniquely identiythis model loader.
-DISTR_CLIENT_ENVIRONMENT_NAME= ;; Environment name configured on the SDC
-DISTR_CLIENT_PASSWORD= ;; Password to connect to SDC
-DISTR_CLIENT_USER= ;; User name to connect to SDC
-
-APP_SERVER_BASE_URL=https://:8443 ;; AAI Address (URL)
-APP_SERVER_AUTH_USER= ;; User name to connect to AAI
-APP_SERVER_AUTH_PASSWORD= ;; Password to connect to AAi
+_aai-os-cert.p12_
-```
+The certificate used to connected to the A&AI
-### Docker
+**Start the service:**
-#### Build your own Model Loader docker image and create docker containers
-1. mvn clean package docker:build ;; Build a docker image of Model Loader
-2. sudo docker images ;; list docker images and check if the image you build is listed.
-3. sudo docker run --env-file /opt/jetty/jetty*/bin/startup.sh
+You can now start the Docker container for the _Model Loader Service_, e.g:
+ docker run -d \
+ -e CONFIG_HOME=/opt/app/model-loader/config/ \
+ -v /logs:/logs \
+ -v /opt/app/model-loader/appconfig:/opt/app/model-loader/config \
+ --name model-loader \
+ {{your docker repo}}/model-loader
+
+where
-#### Retrieve logs from stopped container
-* docker cp :/opt/jetty/jetty-distribution-9.3.9.v20160517/logs/AAI-ML/error.log /tmp/
+ {{your docker repo}}
+is the Docker repository you have published your image to.