diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions
index 25fbba3..c4ed3c8 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -178,7 +178,7 @@
     fi
 }
 
-# install_python_package() - Install a python module
+# install_python_package() - Install python modules
 function install_python_package {
     local python_packages=$@
 
@@ -186,6 +186,16 @@
     pip install $python_packages
 }
 
+# install_python_requirements() - Install a list of python modules defined in requirement.txt file
+function install_python_requirements {
+    local python_project_path=$1
+
+    _install_pip
+    pushd $python_project_path
+    pip install -r requirements.txt
+    popd
+}
+
 # install_docker() - Download and install docker-engine
 function install_docker {
     if is_package_installed docker-ce; then
diff --git a/bootstrap/vagrant-onap/lib/multicloud b/bootstrap/vagrant-onap/lib/multicloud
index 0519587..2f9e5d8 100755
--- a/bootstrap/vagrant-onap/lib/multicloud
+++ b/bootstrap/vagrant-onap/lib/multicloud
@@ -6,6 +6,7 @@
 multicloud_repos=("multicloud" "multicloud/framework" "multicloud/openstack" \
 "multicloud/openstack/vmware" "multicloud/openstack/windriver" \
 "multicloud/azure")
+openstack_release="newton"
 
 # clone_multicloud_repos() - Function that clones the Multi Cloud repositories
 function clone_multicloud_repos {
@@ -21,14 +22,28 @@
     done
 }
 
+function _build_images {
+    install_docker
+    install_python_requirements $multicloud_src_folder/openstack/$openstack_release
+    pushd $multicloud_src_folder/openstack/$openstack_release
+    bash build_image.sh
+    popd
+}
+
 # get_multicloud_images() -
 function get_multicloud_images {
-    echo "pass"
+    if [[ "$build_image" == "True" ]]; then
+        _build_images
+    else
+        pull_onap_image multicloud/openstack-$openstack_release
+    fi
 }
 
 # install_multicloud() - 
 function install_multicloud {
-    echo "pass"
+    pushd $multicloud_src_folder/openstack/$openstack_release
+    /opt/docker/docker-compose up -d
+    popd
 }
 
 # init_multicloud() - Function that initialize Multi Cloud services
diff --git a/bootstrap/vagrant-onap/tests/asserts b/bootstrap/vagrant-onap/tests/asserts
index 52f0bce..0fc8d38 100755
--- a/bootstrap/vagrant-onap/tests/asserts
+++ b/bootstrap/vagrant-onap/tests/asserts
@@ -2,6 +2,18 @@
 
 source /var/onap/commons
 
+# asserts_http_status_code() - Function that determines if a HTTP status code is retrieved from URL
+function asserts_http_status_code {
+    local url=$1
+    local expected_code=${2:-"200"}
+
+    code=$(curl -I $url | head -n 1 | cut -d$' ' -f2)
+    local error_msg=${3:-"The URL $url responded with $code status code"}
+    if [[ "$code" == "$expected_code" ]]; then
+        raise_error $error_msg
+    fi
+}
+
 # asserts_process() - Function that verifies if a specific process is running
 function asserts_process {
     local process=$1
diff --git a/bootstrap/vagrant-onap/tests/test_multicloud b/bootstrap/vagrant-onap/tests/test_multicloud
index b0b6748..62a010a 100644
--- a/bootstrap/vagrant-onap/tests/test_multicloud
+++ b/bootstrap/vagrant-onap/tests/test_multicloud
@@ -33,6 +33,8 @@
 function test_get_multicloud_images {
     clone_multicloud_repos
     get_multicloud_images
+
+    asserts_image onap/multicloud/openstack-$openstack_release
 }
 
 # test_install_multicloud() - Verify the built and start of Multi Cloud services
@@ -40,6 +42,9 @@
     clone_multicloud_repos
     get_multicloud_images
     install_multicloud
+
+    # NOTE(electrocucaracha): Depends on https://gerrit.onap.org/r/#/c/23631/
+    asserts_http_status_code http://127.0.0.1:9003/api/multicloud-$openstack_release/v0/swagger.json
 }
 
 if [ "$1" != '*' ]; then
