Customize the volume list per layer
[validation.git] / bluval / README.rst
diff --git a/bluval/README.rst b/bluval/README.rst
new file mode 100644 (file)
index 0000000..56d1282
--- /dev/null
@@ -0,0 +1,68 @@
+.. ############################################################################
+.. Copyright (c) 2019 AT&T, ENEA AB, Nokia and others                         #
+..                                                                            #
+.. Licensed under the Apache License, Version 2.0 (the "License");            #
+.. you maynot use this file except in compliance with the License.            #
+..                                                                            #
+.. You may obtain a copy of the License at                                    #
+..       http://www.apache.org/licenses/LICENSE-2.0                           #
+..                                                                            #
+.. Unless required by applicable law or agreed to in writing, software        #
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
+.. See the License for the specific language governing permissions and        #
+.. limitations under the License.                                             #
+.. ############################################################################
+
+
+Overview
+========
+BluVal is a diagnostic toolset framework to validate different layers in the
+Akraino infrastructure developed and used in Akraino edge stack. BluVal
+integrates different test cases, its development employs a declarative approach
+that is version controlled in LF Gerrit. They are integrated in CI/CD tool
+chain where peer Jenkins jobs can run the test cases and the results are
+reported in LF Repo (Nexus). The test cases cover all blueprint layers in the
+cluster.
+
+Installation and execution
+==========================
+Bluval tool can be ran directly from the repo, or can be called from a container.
+
+
+When ran directly, minimum requirements are python verson 3.5. To setup the
+environment follow the commands below.
+
+.. code-block:: console
+
+    ns156u@aknode82:~$ git clone https://gerrit.akraino.org/r/validation.git
+    ns156u@aknode82:~$ cd validation
+    ns156u@aknode82:~/validation$ python -m venv .py35
+    ns156u@aknode82:~/validation$ source .py35/bin/activate
+    (.py35) ns156u@aknode82:~/validation$ pip install -r bluval/requirements.txt
+
+To run the tests for a certain blueprint, follow the commands below. Optionally
+the layer of testing can be specified too.
+
+.. code-block:: console
+    (.py35) ns156u@aknode82:~/validation$ python bluval/bluval.py -l \
+                             hardware dummy # this will run hardware test cases of dummy blue print
+    (.py35) ns156u@aknode82:~/validation$ deactivate
+
+
+When ran from a container, docker needs to be installed on the machine.
+To run the tests for a certain blueprint, follow the steps below. Optionally
+the layer of testing can be specified too.
+
+Note that before issuing the blucon command, you need to fill in the volumes
+that will be mounted in the container. These are locations of the config files
+or access files (ssh keys or clients configs) that will be used to connect to
+the cluster. Also custom volumes can be added here.
+
+.. code-block:: console
+
+    ns156u@aknode82:~$ git clone https://gerrit.akraino.org/r/validation.git
+    ns156u@aknode82:~$ cd validation
+    ns156u@aknode82:~$ vi bluval/volumes.yaml # fill in the volumes to be \
+                                               mounted in the container
+    ns156u@aknode82:~$ python3 bluval/blucon.py dummy -l hardware