Merge "Update MSO Unit Tests"
diff --git a/bootstrap/vagrant-onap/.gitignore b/bootstrap/vagrant-onap/.gitignore
index 3d0c81c..446d1fb 100644
--- a/bootstrap/vagrant-onap/.gitignore
+++ b/bootstrap/vagrant-onap/.gitignore
@@ -6,3 +6,4 @@
 lib/files/proxyrc
 lib/files/sources.list
 openrc
+doc/build/
diff --git a/bootstrap/vagrant-onap/CONTRIBUTING.md b/bootstrap/vagrant-onap/CONTRIBUTING.md
index ab7f6ba..6f2897c 100644
--- a/bootstrap/vagrant-onap/CONTRIBUTING.md
+++ b/bootstrap/vagrant-onap/CONTRIBUTING.md
@@ -20,7 +20,7 @@
 or using PowerShell
 
     PS C:\> Set-ExecutionPolicy Bypass -Scope CurrentUser
-    PS C:\> .\tools\Run.ps1 [test_suite] [function]
+    PS C:\> .\tools\Run.ps1 testing [test_suite] [function]
 
 Examples
 --------
diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md
index e25fa35..99d2de1 100644
--- a/bootstrap/vagrant-onap/README.md
+++ b/bootstrap/vagrant-onap/README.md
@@ -17,8 +17,8 @@
 | Component        | Requirement                           |
 |------------------|---------------------------------------|
 | Vagrant          | >= 1.8.6                              |
-| Hypervisor       | VirtualBox or Libvirt                 |
-| Operating System | Linux, Mac OS or Windows(In Progress) |
+| Provider         | VirtualBox, Libvirt or OpenStack      |
+| Operating System | Linux, Mac OS or Windows              |
 | Hard Disk        | > 8 GB of free disk                   |
 | Memory           | > 12 GB                               |
 
diff --git a/bootstrap/vagrant-onap/doc/source/conf.py b/bootstrap/vagrant-onap/doc/source/conf.py
new file mode 100644
index 0000000..906f249
--- /dev/null
+++ b/bootstrap/vagrant-onap/doc/source/conf.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not 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.
+
+import os
+import sys
+
+BASE_DIR = os.path.dirname(os.path.abspath(__file__))
+ROOT = os.path.abspath(os.path.join(BASE_DIR, "..", ".."))
+
+sys.path.insert(0, ROOT)
+sys.path.insert(0, BASE_DIR)
+
+# -- General configuration ----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = [
+    'sphinx.ext.autodoc',
+    #'sphinx.ext.intersphinx'
+]
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'ONAP on Vagrant'
diff --git a/bootstrap/vagrant-onap/doc/source/index.rst b/bootstrap/vagrant-onap/doc/source/index.rst
index 88950a2..509f348 100644
--- a/bootstrap/vagrant-onap/doc/source/index.rst
+++ b/bootstrap/vagrant-onap/doc/source/index.rst
@@ -17,5 +17,6 @@
 .. toctree::
    :maxdepth: 2
 
-   Advanced Features <features/index>
+   Installation Guide <install/index>
+   Advanced Features <features/features>
 
diff --git a/bootstrap/vagrant-onap/doc/source/install/index.rst b/bootstrap/vagrant-onap/doc/source/install/index.rst
new file mode 100644
index 0000000..248c956
--- /dev/null
+++ b/bootstrap/vagrant-onap/doc/source/install/index.rst
@@ -0,0 +1,63 @@
+==================
+Installation Guide
+==================
+
+This project collects instructions related to the automatic creation
+of a development environment. However, this requires only two
+components previous to its execution.  These are an automation
+building tool (Vagrant) and a provider platform (VirtualBox, Libvirt
+and OpenStack). This section explains how to install the most common
+set of configuration(Vagrant/VirtualBox) in different Operating
+Systems.
+
+Ubuntu 14.04 ("Trusty")
+-----------------------
+
+.. code-block:: console
+
+    $ wget -q https://releases.hashicorp.com/vagrant/1.9.7/vagrant_1.9.7_x86_64.deb
+    $ sudo dpkg -i vagrant_1.9.7_x86_64.deb
+    $ echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list
+    $ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
+    $ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
+    $ sudo apt-get update -y
+    $ sudo apt-get install -y virtualbox-5.1 dkms
+
+.. end
+
+CentOS
+------
+
+.. code-block:: console
+
+    $ wget -q https://releases.hashicorp.com/vagrant/1.9.7/vagrant_1.9.7_x86_64.rpm
+    $ sudo yum install vagrant_1.9.7_x86_64.rpm
+    $ wget -q http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo -P /etc/yum.repos.d
+    $ sudo yum --enablerepo=epel install dkms
+    $ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import -
+    $ sudo yum install VirtualBox-5.1
+
+.. end
+
+Mac OS
+------
+
+.. code-block:: console
+
+    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+    $ brew cask install vagrant
+    $ brew cask install virtualbox
+
+.. end
+
+Windows 7+ (PowerShell v2+)
+---------------------------
+
+.. code-block:: console
+
+    PS C:\> Set-ExecutionPolicy AllSigned
+    PS C:\> iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
+    PS C:\> choco install vagrant
+    PS C:\> choco install virtualbox
+
+.. end
diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions
index d0a7d97..9b903d9 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -12,6 +12,7 @@
 # export_env_vars() - Export environment variables
 function export_env_vars {
     export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' |sort -n | head -1)
+    export IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
 }
 
 # configure_dns() - DNS/GW IP address configuration
diff --git a/bootstrap/vagrant-onap/lib/policy b/bootstrap/vagrant-onap/lib/policy
index b987c4c..f4dc5fb 100755
--- a/bootstrap/vagrant-onap/lib/policy
+++ b/bootstrap/vagrant-onap/lib/policy
@@ -44,7 +44,6 @@
     fi
     pushd $src_folder/docker
     chmod +x config/drools/drools-tweaks.sh
-    IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
     echo $IP_ADDRESS > config/pe/ip_addr.txt
     install_docker_compose
     /opt/docker/docker-compose up -d
diff --git a/bootstrap/vagrant-onap/lib/portal b/bootstrap/vagrant-onap/lib/portal
index 6c8e7d0..8bd39b7 100755
--- a/bootstrap/vagrant-onap/lib/portal
+++ b/bootstrap/vagrant-onap/lib/portal
@@ -55,7 +55,6 @@
     sleep 180
 
     if [ ! -e /opt/config/boot.txt ]; then
-        IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
         install_package mysql-client
         mysql -u root -p'Aa123456' -h $IP_ADDRESS < Apps_Users_OnBoarding_Script.sql
         echo "yes" > /opt/config/boot.txt
diff --git a/bootstrap/vagrant-onap/lib/sdc b/bootstrap/vagrant-onap/lib/sdc
index 626d9d7..d3619f5 100755
--- a/bootstrap/vagrant-onap/lib/sdc
+++ b/bootstrap/vagrant-onap/lib/sdc
@@ -67,7 +67,6 @@
 
 # install_sdc() - Function that pull templates and executes
 function install_sdc {
-    IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
     local ENV_NAME=$dmaap_topic
     local MR_IP_ADDR='10.0.11.1'
     local RELEASE=$docker_version
diff --git a/bootstrap/vagrant-onap/tox.ini b/bootstrap/vagrant-onap/tox.ini
index 02fccf5..6748100 100644
--- a/bootstrap/vagrant-onap/tox.ini
+++ b/bootstrap/vagrant-onap/tox.ini
@@ -9,17 +9,20 @@
 install_command = pip install {opts} {packages}
 
 [testenv:bashate]
-# if you want to test out some changes you have made to bashate
-# against devstack, just set BASHATE_INSTALL_PATH=/path/... to your
-# modified bashate tree
 deps =
-   {env:BASHATE_INSTALL_PATH:bashate==0.5.1}
+   {env:BASHATE_INSTALL_PATH:bashate}
 whitelist_externals = bash
 commands = bash -c "find {toxinidir}/{tests,lib,tools} \
          -not \( -type d -path *files* -prune \)       \
+         -not \( -type f -name .*.swp* -prune \)       \
+         -not \( -type f -name *.ps1 -prune \)         \
          -type f                                       \
 # E005 file does not begin with #! or have a .sh prefix
 # E006 check for lines longer than 79 columns
 # E042 local declaration hides errors
 # E043 Arithmetic compound has inconsistent return semantics
          -print0 | xargs -0 bashate -v -iE006 -eE005,E042,E043"
+
+[testenv:docs]
+deps = sphinx
+commands = sphinx-build -W -b html doc/source doc/build/html