# KRD
 .vagrant/
-vagrant/inventory/hosts.ini
-vagrant/inventory/artifacts
-vagrant/inventory/group_vars/all.yml
-vagrant/config/pdf.yml
-vagrant/sources.list
+kud/hosting_providers/vagrant/inventory/hosts.ini
+kud/hosting_providers/vagrant/inventory/artifacts
+kud/hosting_providers/vagrant/inventory/group_vars/all.yml
+kud/hosting_providers/vagrant/config/pdf.yml
+kud/hosting_providers/vagrant/sources.list
 *.retry
 *.vdi
 
-# Kubernetes Reference Deployment
+# Kubernetes Deployment
 
 ## Summary
 
-This project offers a reference for deploying a Kubernetes cluster
+This project offers a means for deploying a Kubernetes cluster
 that satisfies the requirements of [ONAP multicloud/k8s plugin][1]. Its
-ansible playbooks allow to provision a deployment on Bare-metal or
-Virtual Machines.
+ansible playbooks allow to provision a deployment on Virtual Machines and on Baremetal.
 
-
+
 
 # Components
 
 | Name           | Description                                   | Source                            | Status |
 |:--------------:|:----------------------------------------------|:----------------------------------|:------:|
 | Kubernetes     | Base Kubernetes deployment                    | [kubespray][2]                    | Done   |
-| ovn-kubernetes | Integrates Opensource Virtual Networking      | [configure-ovn-kubernetes.yml][3] | Tested |
+| ovn4nfv        | Integrates Opensource Virtual Networking      | [configure-ovn4nfv.yml][3]        | Tested |
 | Virtlet        | Allows to run VMs                             | [configure-virtlet.yml][4]        | Tested |
 | Multus         | Provides Multiple Network support in a pod    | [configure-multus.yml][5]         | Tested |
-| NFD            | Node feature discovery                        | [configure-nfd.yml][7]            | Tested |
-| Istio          | Service Mesh platform                         | [configure-istio.yml][8]          | Tested |
+| NFD            | Node feature discovery                        | [configure-nfd.yml][6]            | Tested |
+| Istio          | Service Mesh platform                         | [configure-istio.yml][7]          | Tested |
 
 ## Deployment
 
 The [installer](installer.sh) bash script contains the minimal
 Ubuntu instructions required for running this project.
 
-### Virtual Machines
-
-This project uses [Vagrant tool][6] for provisioning Virtual Machines
-automatically. The [setup](setup.sh) bash script contains the
-Linux instructions to install dependencies and plugins required for
-its usage. This script supports two Virtualization technologies
-(Libvirt and VirtualBox).
-
-    $ ./setup.sh -p libvirt
-
-Once Vagrant is installed, it's possible to provision a cluster using
-the following instructions:
-
-    $ vagrant up && vagrant up installer
-
 ## License
 
 Apache-2.0
 
 [1]: https://git.onap.org/multicloud/k8s
 [2]: https://github.com/kubernetes-incubator/kubespray
-[3]: playbooks/configure-ovn-kubernetes.yml
+[3]: playbooks/configure-ovn4nfv.yml
 [4]: playbooks/configure-virtlet.yml
 [5]: playbooks/configure-multus.yml
-[6]: https://www.vagrantup.com/
-[7]: playbooks/configure-nfd.yml
-[8]: playbooks/configure-istio.yml
+[6]: playbooks/configure-nfd.yml
+[7]: playbooks/configure-istio.yml
 
 
 - hosts: localhost
   pre_tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
   roles:
     - role: andrewrothstein.kubectl
       kubectl_ver: "v{{ kubectl_version }}"
 
   tasks:
     - name: copy admin.conf file to kube-nodes
       copy:
-        src: "{{ lookup('env','krd_inventory_folder') }}/artifacts/admin.conf"
+        src: "{{ lookup('env','kud_inventory_folder') }}/artifacts/admin.conf"
         dest: "/etc/kubernetes/admin.conf"
 
 - hosts: kube-node
   become: yes
   pre_tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
   roles:
     - role: andrewrothstein.go
       go_ver: "{{ go_version }}"
 
 - hosts: localhost
   pre_tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
   roles:
     - role: andrewrothstein.kubectl
       kubectl_ver: "v{{ kubectl_version }}"
 
 
 - hosts: kube-node
   tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
     - name: clone NFD repo
       git:
         repo: "{{ nfd_url }}"
 
 - hosts: localhost
   pre_tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
   roles:
     - role: andrewrothstein.kubectl
       kubectl_ver: "v{{ kubectl_version }}"
 
   environment:
     PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/"
   pre_tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
   roles:
     - role: andrewrothstein.go
       go_ver: "{{ go_version }}"
   tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
     - name: clone ovn-kubernetes repo
       git:
         repo: "{{ ovn_kubernetes_url }}"
 
   roles:
     - role: andrewrothstein.go
   tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
     - name: clone ovn4nfv-k8s-plugin repo
       git:
         repo: "{{ ovn4nfv_url }}"
     PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/"
   become: yes
   tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
     - name: build ovn4nfvk8s
       make:
         chdir: "{{ ovn4nfv_dest }}"
 
   vars:
     images_file: /tmp/images.yaml
   pre_tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
   roles:
     - role: andrewrothstein.kubectl
       kubectl_ver: "v{{ kubectl_version }}"
 
 - hosts: virtlet
   tasks:
-    - name: Load krd variables
+    - name: Load kud variables
       include_vars:
-        file: krd-vars.yml
+        file: kud-vars.yml
     - name: create CRIProxy binary folder
       file:
         state: directory
 
--- /dev/null
+# Kubernetes Deployment
+
+## Summary
+
+This project offers a means for deploying a Kubernetes cluster
+that satisfies the requirements of [ONAP multicloud/k8s plugin][1]. Its
+ansible playbooks allow to provision a deployment on Baremetal. 
+
+
+
+
+
+## Deployment
+
+The [installer](installer.sh) bash script contains the minimal
+Ubuntu instructions required for running this project.
+
+## License
+
+Apache-2.0
+
+[1]: https://git.onap.org/multicloud/k8s
 
--- /dev/null
+# Kubernetes Deployment
+
+## Summary
+
+This project offers a means for deploying a Kubernetes cluster
+that satisfies the requirements of [ONAP multicloud/k8s plugin][1]. Its
+ansible playbooks allow to provision a deployment on Virtual Machines.
+
+
+
+## Deployment
+
+The [installer](installer.sh) bash script contains the minimal
+Ubuntu instructions required for running this project.
+
+### Virtual Machines
+
+This project uses [Vagrant tool][2] for provisioning Virtual Machines
+automatically. The [setup](setup.sh) bash script contains the
+Linux instructions to install dependencies and plugins required for
+its usage. This script supports two Virtualization technologies
+(Libvirt and VirtualBox).
+
+    $ ./setup.sh -p libvirt
+
+Once Vagrant is installed, it's possible to provision a cluster using
+the following instructions:
+
+    $ vagrant up && vagrant up installer
+
+## License
+
+Apache-2.0
+
+[1]: https://git.onap.org/multicloud/k8s
+[2]: https://www.vagrantup.com/
 
   config.vm.define :installer, primary: true, autostart: false do |installer|
     installer.vm.hostname = "multicloud"
     installer.vm.network :private_network, :ip => "10.10.10.2", :type => :static
-    installer.vm.synced_folder '../', '/home/vagrant/multicloud-k8s/', type: sync_type
+    installer.vm.synced_folder '../../../', '/home/vagrant/multicloud-k8s/', type: sync_type
     installer.vm.provision 'shell', privileged: false do |sh|
-      sh.env = {'KRD_PLUGIN_ENABLED': 'true'}
+      sh.env = {'KUD_PLUGIN_ENABLED': 'true'}
       sh.inline = <<-SHELL
         cp /vagrant/insecure_keys/key.pub /home/vagrant/.ssh/id_rsa.pub
         cp /vagrant/insecure_keys/key /home/vagrant/.ssh/id_rsa
         chown vagrant /home/vagrant/.ssh/id_rsa
         chmod 400 /home/vagrant/.ssh/id_rsa
-        cd /home/vagrant/multicloud-k8s/vagrant/ && ./installer.sh | tee krd_installer.log
+        cd /home/vagrant/multicloud-k8s/kud/hosting_providers/vagrant/ && ./installer.sh | tee kud_installer.log
       SHELL
     end
   end
 
     exit 1
 fi
 
-echo "Cloning and configuring KRD project..."
+echo "Cloning and configuring KUD project..."
 git clone https://git.onap.org/multicloud/k8s/
-cd k8s/vagrant/
+cd k8s/kud/hosting_providers/baremetal/
 cat <<EOL > inventory/hosts.ini
 [all]
 localhost
 kube-node
 kube-master
 EOL
-sed -i '/andrewrothstein.kubectl/d' playbooks/configure-*.yml
+sed -i '/andrewrothstein.kubectl/d' ../../deployment_infra/playbooks/configure-*.yml
 echo -e "\n\n\n" | ssh-keygen -t rsa -N ""
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 chmod og-wx ~/.ssh/authorized_keys
 ./node.sh
 
 echo "Deploying KRD project"
-./installer.sh | tee krd_installer.log
+./installer.sh | tee kud_installer.log
 
 #!/bin/bash
-# SPDX-license-identifier: Apache-2.0
+#SPDX-license-identifier: Apache-2.0
 ##############################################################################
 # Copyright (c) 2018
 # All rights reserved. This program and the accompanying materials
 
 # _install_go() - Install GoLang package
 function _install_go {
-    version=$(grep "go_version" ${krd_playbooks}/krd-vars.yml | awk -F "'" '{print $2}')
+    version=$(grep "go_version" ${kud_playbooks}/kud-vars.yml | awk -F "'" '{print $2}')
     local tarball=go$version.linux-amd64.tar.gz
 
     if $(go version &>/dev/null); then
 }
 
 function _set_environment_file {
-    ansible_ifconfig=$(ansible ovn-central[0] -i $krd_inventory -m shell -a "ifconfig eth1 |grep \"inet addr\" |awk '{print \$2}' |awk -F: '{print \$2}'")
+    ansible_ifconfig=$(ansible ovn-central[0] -i $kud_inventory -m shell -a "ifconfig eth1 |grep \"inet addr\" |awk '{print \$2}' |awk -F: '{print \$2}'")
     if [[ $ansible_ifconfig != *CHANGED* ]]; then
         echo "Fail to get the OVN central IP address from eth1 nic"
         exit
 function install_k8s {
     echo "Deploying kubernetes"
     local dest_folder=/opt
-    version=$(grep "kubespray_version" ${krd_playbooks}/krd-vars.yml | awk -F ': ' '{print $2}')
-    local_release_dir=$(grep "local_release_dir" $krd_inventory_folder/group_vars/k8s-cluster.yml | awk -F "\"" '{print $2}')
+    version=$(grep "kubespray_version" ${kud_playbooks}/kud-vars.yml | awk -F ': ' '{print $2}')
+    local_release_dir=$(grep "local_release_dir" $kud_inventory_folder/group_vars/k8s-cluster.yml | awk -F "\"" '{print $2}')
     local tarball=v$version.tar.gz
-
     sudo apt-get install -y sshpass
     _install_docker
     _install_ansible
     rm $tarball
 
     sudo -E pip install -r $dest_folder/kubespray-$version/requirements.txt
-    rm -f $krd_inventory_folder/group_vars/all.yml 2> /dev/null
+    rm -f $kud_inventory_folder/group_vars/all.yml 2> /dev/null
     if [[ -n "${verbose}" ]]; then
-        echo "kube_log_level: 5" | tee $krd_inventory_folder/group_vars/all.yml
+        echo "kube_log_level: 5" | tee $kud_inventory_folder/group_vars/all.yml
     else
-        echo "kube_log_level: 2" | tee $krd_inventory_folder/group_vars/all.yml
+        echo "kube_log_level: 2" | tee $kud_inventory_folder/group_vars/all.yml
     fi
-    echo "kubeadm_enabled: true" | tee --append $krd_inventory_folder/group_vars/all.yml
+    echo "kubeadm_enabled: true" | tee --append $kud_inventory_folder/group_vars/all.yml
     if [[ -n "${http_proxy}" ]]; then
-        echo "http_proxy: \"$http_proxy\"" | tee --append $krd_inventory_folder/group_vars/all.yml
+        echo "http_proxy: \"$http_proxy\"" | tee --append $kud_inventory_folder/group_vars/all.yml
     fi
     if [[ -n "${https_proxy}" ]]; then
-        echo "https_proxy: \"$https_proxy\"" | tee --append $krd_inventory_folder/group_vars/all.yml
+        echo "https_proxy: \"$https_proxy\"" | tee --append $kud_inventory_folder/group_vars/all.yml
     fi
-    ansible-playbook $verbose -i $krd_inventory $dest_folder/kubespray-$version/cluster.yml --become --become-user=root | sudo tee $log_folder/setup-kubernetes.log
+    ansible-playbook $verbose -i $kud_inventory $dest_folder/kubespray-$version/cluster.yml --become --become-user=root | sudo tee $log_folder/setup-kubernetes.log
 
     # Configure environment
     mkdir -p $HOME/.kube
-    cp $krd_inventory_folder/artifacts/admin.conf $HOME/.kube/config
+    cp $kud_inventory_folder/artifacts/admin.conf $HOME/.kube/config
 }
 
 # install_addons() - Install Kubenertes AddOns
 function install_addons {
     echo "Installing Kubernetes AddOns"
     _install_ansible
-    sudo ansible-galaxy install $verbose -r $krd_folder/galaxy-requirements.yml --ignore-errors
+    sudo ansible-galaxy install $verbose -r $kud_infra_folder/galaxy-requirements.yml --ignore-errors
 
-    ansible-playbook $verbose -i $krd_inventory $krd_playbooks/configure-krd.yml | sudo tee $log_folder/setup-krd.log
+    ansible-playbook $verbose -i $kud_inventory $kud_playbooks/configure-kud.yml | sudo tee $log_folder/setup-kud.log
     for addon in ${KRD_ADDONS:-virtlet ovn4nfv}; do
         echo "Deploying $addon using configure-$addon.yml playbook.."
-        ansible-playbook $verbose -i $krd_inventory $krd_playbooks/configure-${addon}.yml | sudo tee $log_folder/setup-${addon}.log
+        ansible-playbook $verbose -i $kud_inventory $kud_playbooks/configure-${addon}.yml | sudo tee $log_folder/setup-${addon}.log
         if [[ "${testing_enabled}" == "true" ]]; then
-            pushd $krd_tests
+            pushd $kud_tests
             bash ${addon}.sh
             popd
         fi
     sudo -E pip install docker-compose
 
     sudo mkdir -p /opt/{kubeconfig,consul/config}
-    sudo cp $HOME/.kube/config /opt/kubeconfig/krd
+    sudo cp $HOME/.kube/config /opt/kubeconfig/kud
     _set_environment_file
     source /etc/environment
 
-    pushd $krd_folder/../deployments
+    pushd $kud_folder/../../../deployments
     sudo ./build.sh
     if [[ "${testing_enabled}" == "true" ]]; then
         docker-compose up -d
-        pushd $krd_tests
+        pushd $kud_tests
         for functional_test in plugin plugin_edgex; do
             bash ${functional_test}.sh
         done
     exit 1
 fi
 
-if [[ -n "${KRD_DEBUG}" ]]; then
+if [[ -n "${KUD_DEBUG}" ]]; then
     set -o xtrace
     verbose="-vvv"
 fi
 
 # Configuration values
-log_folder=/var/log/krd
-krd_folder=$(pwd)
-export krd_inventory_folder=$krd_folder/inventory
-krd_inventory=$krd_inventory_folder/hosts.ini
-krd_playbooks=$krd_folder/playbooks
-krd_tests=$krd_folder/tests
-k8s_info_file=$krd_folder/k8s_info.log
-testing_enabled=${KRD_ENABLE_TESTS:-false}
+log_folder=/var/log/kud
+kud_folder=$(pwd)
+kud_infra_folder=$kud_folder/../../deployment_infra
+export kud_inventory_folder=$kud_folder/inventory
+kud_inventory=$kud_inventory_folder/hosts.ini
+kud_playbooks=$kud_infra_folder/playbooks
+kud_tests=$kud_folder/tests
+k8s_info_file=$kud_folder/k8s_info.log
+testing_enabled=${KUD_ENABLE_TESTS:-false}
 
 sudo mkdir -p $log_folder
 sudo mkdir -p /opt/csar
 
 # Install dependencies
 # Setup proxy variables
-if [ -f $krd_folder/sources.list ]; then
+if [ -f $kud_folder/sources.list ]; then
     sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup
-    sudo cp $krd_folder/sources.list /etc/apt/sources.list
+    sudo cp $kud_folder/sources.list /etc/apt/sources.list
 fi
 sudo apt-get update
 install_k8s
 install_addons
-if [[ "${KRD_PLUGIN_ENABLED:-false}" ]]; then
+if [[ "${KUD_PLUGIN_ENABLED:-false}" ]]; then
     install_plugin
 fi
 _print_kubernetes_info
 
 }
 
 function _get_ovn_central_address {
-    ansible_ifconfig=$(ansible ovn-central[0] -i $test_folder/../inventory/hosts.ini -m shell -a "ifconfig eth1 |grep \"inet addr\" |awk '{print \$2}' |awk -F: '{print \$2}'")
+    ansible_ifconfig=$(ansible ovn-central[0] -i $test_folder/../hosting_providers/vagrant/inventory/hosts.ini -m shell -a "ifconfig eth1 |grep \"inet addr\" |awk '{print \$2}' |awk -F: '{print \$2}'")
     if [[ $ansible_ifconfig != *CHANGED* ]]; then
         echo "Fail to get the OVN central IP address from eth1 nic"
         exit
 
 
 csar_id=ac39959e-e82c-11e8-9133-525400912638
 
-base_dest=$(grep "base_dest:" $test_folder/../playbooks/krd-vars.yml | awk -F ': ' '{print $2}')
-istio_dest=$(grep "istio_dest:" $test_folder/../playbooks/krd-vars.yml | awk -F ': ' '{print $2}' | sed "s|{{ base_dest }}|$base_dest|g;s|\"||g")
-istio_version=$(grep "istio_version:" $test_folder/../playbooks/krd-vars.yml | awk -F ': ' '{print $2}')
+base_dest=$(grep "base_dest:" $test_folder/../deployment_infra/playbooks/kud-vars.yml | awk -F ': ' '{print $2}')
+istio_dest=$(grep "istio_dest:" $test_folder/../deployment_infra/playbooks/kud-vars.yml | awk -F ': ' '{print $2}' | sed "s|{{ base_dest }}|$base_dest|g;s|\"||g")
+istio_version=$(grep "istio_version:" $test_folder/../deployment_infra/playbooks/kud-vars.yml | awk -F ': ' '{print $2}')
 
 if ! $(istioctl version &>/dev/null); then
     echo "This funtional test requires istioctl client"
 
 source _functions.sh
 
 base_url="http://localhost:8081"
-cloud_region_id="krd"
+cloud_region_id="kud"
 namespace="default"
 csar_id="94e414f6-9ca4-11e8-bb6a-52540067263b"
 rbd_csar_id="7eb09e38-4363-9942-1234-3beb2e95fd85"
 
 source _functions.sh
 
 base_url="http://localhost:8081/v1/vnf_instances/"
-cloud_region_id="krd"
+cloud_region_id="kud"
 namespace="default"
 csar_id=cb009bfe-bbee-11e8-9766-525400435678