[CORD-1903]
Remove old build system

Change-Id: Ia233cc9029ff19ec3176d22069cfb88833561510
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 4c542b7..0000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,271 +0,0 @@
-def filename = 'manifest-${branch}.xml'
-def manifestUrl = 'https://gerrit.opencord.org/manifest'
-def config = null;
-
-node ('master') {
-    checkout changelog: false, poll: false, scm: [$class: 'RepoScm', currentBranch: true, manifestBranch: params.branch, manifestRepositoryUrl: "${manifestUrl}", quiet: true]
-
-    stage ("Generate and Copy Manifest file") {
-        sh returnStdout: true, script: 'repo manifest -r -o ' + filename
-        sh returnStdout: true, script: 'cp ' + filename + ' ' + env.JENKINS_HOME + '/tmp'
-    }
-
-    stage ("Parse deployment configuration file") {
-        sh returnStdout: true, script: 'rm -rf ${configRepoBaseDir}'
-        sh returnStdout: true, script: 'git clone -b ${branch} ${configRepoUrl}'
-        config = readYaml file: "${configRepoBaseDir}${configRepoFile}"
-    }
-}
-
-node ("${config.dev_node.name}") {
-    timeout (time: 240) {
-        stage ('Checkout cord repo') {
-            checkout changelog: false, poll: false, scm: [$class: 'RepoScm', currentBranch: true, manifestBranch: params.branch, manifestRepositoryUrl: "${manifestUrl}", quiet: true]
-        }
-
-        dir('build') {
-            try {
-                stage ("Re-deploy head node and Build Vagrant box") {
-                    parallel(
-                        maasOps: {
-                            sh "maas login maas http://${config.maas.ip}/MAAS/api/2.0 ${config.maas.api_key}"
-                            sh "maas maas machine release ${config.maas.head_system_id}"
-
-                            timeout(time: 15) {
-                                waitUntil {
-                                   try {
-                                        sh "maas maas machine read ${config.maas.head_system_id} | grep Ready"
-                                        return true
-                                    } catch (exception) {
-                                        return false
-                                    }
-                                }
-                            }
-
-                            sh 'maas maas machines allocate'
-                            sh "maas maas machine deploy ${config.maas.head_system_id}"
-
-                            timeout(time: 30) {
-                                waitUntil {
-                                   try {
-                                        sh "maas maas machine read ${config.maas.head_system_id} | grep Deployed"
-                                        return true
-                                    } catch (exception) {
-                                        return false
-                                    }
-                                }
-                            }
-
-                        }, vagrantOps: {
-                            sh 'vagrant up corddev'
-                        }, failFast : true
-                    )
-                }
-
-                stage ("Fetch CORD packages") {
-                    sh "vagrant ssh -c \"cd /opt/cord/build; ./gradlew fetch\" corddev"
-                }
-
-                stage ("Build CORD Images") {
-                    sh "vagrant ssh -c \"cd /opt/cord/build; ./gradlew buildImages\" corddev"
-                }
-
-                stage ("Downloading CORD POD configuration") {
-                    sh "vagrant ssh -c \"cd /opt/cord/build/config; git clone -b ${branch} ${config.pod_config.repo_url}\" corddev"
-                }
-
-                stage ("Publish to headnode") {
-                    sh "vagrant ssh -c \"cd /opt/cord/build; ./gradlew -PtargetReg=${config.head.ip}:5000 -PdeployConfig=config/pod-configs/${config.pod_config.file_name} publish\" corddev"
-                }
-
-                stage ("Deploy") {
-                    sh "vagrant ssh -c \"cd /opt/cord/build; ./gradlew -PtargetReg=${config.head.ip}:5000 -PdeployConfig=config/pod-configs/${config.pod_config.file_name} deploy\" corddev"
-                }
-
-                stage ("Power cycle compute nodes") {
-                    for(int i=0; i < config.compute_nodes.size(); i++) {
-                        sh "ipmitool -U ${config.compute_nodes[i].ipmi.user} -P ${config.compute_nodes[i].ipmi.pass} -H ${config.compute_nodes[i].ipmi.ip} power cycle"
-                    }
-                }
-
-                stage ("Wait for compute nodes to get deployed") {
-                    sh "ssh-keygen -f /home/${config.dev_node.user}/.ssh/known_hosts -R ${config.head.ip}"
-                    def cordApiKey = runCmd("${config.head.ip}",
-                                            "${config.head.user}",
-                                            "${config.head.pass}",
-                                            "sudo maas-region-admin apikey --username ${config.head.user}")
-                    runCmd("${config.head.ip}",
-                           "${config.head.user}",
-                           "${config.head.pass}",
-                           "maas login pod-maas http://${config.head.ip}/MAAS/api/1.0 ${cordApiKey}")
-                    timeout(time: 45) {
-                        waitUntil {
-                            try {
-                                num = runCmd("${config.head.ip}",
-                                             "${config.head.user}",
-                                             "${config.head.pass}",
-                                             "maas pod-maas nodes list | grep -i deployed | wc -l").trim()
-                                return num.toInteger() == config.compute_nodes.size()
-                            } catch (exception) {
-                                return false
-                            }
-                        }
-                    }
-                }
-
-                stage ("Wait for compute nodes to be provisioned") {
-                    timeout(time:45) {
-                        waitUntil {
-                            try {
-                                num = runCmd("${config.head.ip}",
-                                             "${config.head.user}",
-                                             "${config.head.pass}",
-                                             "cord prov list '|' grep -i node '|' grep -i complete '|' wc -l").trim()
-                                return num.toInteger() == config.compute_nodes.size()
-                            } catch (exception) {
-                                return false
-                            }
-                        }
-                    }
-                }
-
-                if (config.fabric_switches != null) {
-                    stage("Reserve IPs for fabric switches and restart maas-dhcp service") {
-                        for(int i=0; i < config.fabric_switches.size(); i++) {
-                            def append = "";
-                            if (i!=0) {
-                                append = "-a";
-                            }
-                            def str = createMACIPbindingStr(i+1,
-                                                           "${config.fabric_switches[i].mac}",
-                                                           "${config.fabric_switches[i].ip}")
-                            runCmd("${config.head.ip}",
-                                    "${config.head.user}",
-                                    "${config.head.pass}",
-                                    "echo -e $str '|' sudo tee $append /etc/dhcp/dhcpd.reservations > /dev/null")
-                        }
-                        runCmd("${config.head.ip}",
-                               "${config.head.user}",
-                               "${config.head.pass}",
-                               "sudo restart maas-dhcpd")
-
-                        runCmd("${config.head.ip}",
-                               "${config.head.user}",
-                               "${config.head.pass}",
-                               "cord harvest go")
-                    }
-
-                    stage ("Wait for fabric switches to get deployed") {
-                        for(int i=0; i < config.fabric_switches.size(); i++) {
-                            runFabricCmd("${config.head.ip}",
-                                         "${config.head.user}",
-                                         "${config.head.pass}",
-                                         "${config.fabric_switches[i].ip}",
-                                         "${config.fabric_switches[i].user}",
-                                         "${config.fabric_switches[i].pass}",
-                                         "sudo onl-onie-boot-mode install")
-
-                            runFabricCmd("${config.head.ip}",
-                                         "${config.head.user}",
-                                         "${config.head.pass}",
-                                         "${config.fabric_switches[i].ip}",
-                                         "${config.fabric_switches[i].user}",
-                                         "${config.fabric_switches[i].pass}",
-                                         "sudo reboot")
-                        }
-                        timeout(time: 45) {
-                            waitUntil {
-                                try {
-                                    def harvestCompleted = runCmd("${config.head.ip}",
-                                                                  "${config.head.user}",
-                                                                  "${config.head.pass}",
-                                                                  "cord harvest list '|' grep -i fabric '|' wc -l").trim()
-                                    return harvestCompleted.toInteger() == config.fabric_switches.size()
-                                } catch (exception) {
-                                    return false
-                                }
-                            }
-                        }
-                    }
-
-                    stage ("Wait for fabric switches to be provisioned") {
-                        timeout(time:45) {
-                            waitUntil {
-                                try {
-                                    def provCompleted = 0
-                                    for(int i=0; i < config.fabric_switches.size(); i++) {
-                                        def count = runCmd("${config.head.ip}",
-                                                           "${config.head.user}",
-                                                           "${config.head.pass}",
-                                                           "cord prov list '|' grep -i ${config.fabric_switches[i].ip} '|' grep -i complete '|' wc -l").trim()
-                                        provCompleted = provCompleted + count.toInteger()
-                                    }
-                                    return provCompleted == config.fabric_switches.size()
-                                } catch (exception) {
-                                    return false
-                                }
-                            }
-                        }
-                    }
-                }
-
-                if (config.make_release == true) {
-                    stage ("Trigger Build") {
-                        url = 'https://jenkins.opencord.org/job/release-build/job/' + params.branch + '/build'
-                        httpRequest authentication: 'auto-release', httpMode: 'POST', url: url, validResponseCodes: '201'
-                    }
-                }
-
-                currentBuild.result = 'SUCCESS'
-            } catch (err) {
-                currentBuild.result = 'FAILURE'
-                step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "${notificationEmail}", sendToIndividuals: false])
-            } finally {
-                sh 'vagrant destroy -f corddev'
-                sh 'rm -rf config/pod-configs'
-            }
-            echo "RESULT: ${currentBuild.result}"
-       }
-    }
-}
-
-/**
- * Returns a string used to bind IPs and MAC addresses, substituting the values
- * given.
- *
- * @param counter the counter used to generate the host name
- * @param mac     the MAC address to substitute
- * @param ip      the IP address to substitute
- */
-def createMACIPbindingStr(counter, mac, ip) {
-    return """\\'host fabric${counter} {'\n'hardware ethernet ${mac}';''\n'fixed-address ${ip}';''\n'}\\'"""
-}
-
-/**
- * Runs a command on a remote host using sshpass.
- *
- * @param ip      the node IP address
- * @param user    the node user name
- * @param pass    the node password
- * @param command the command to run
- * @return the output of the command
- */
-def runCmd(ip, user, pass, command) {
-    return sh(returnStdout: true, script: "sshpass -p ${pass} ssh -oStrictHostKeyChecking=no -l ${user} ${ip} ${command}")
-}
-
-/**
- * Runs a command on a fabric switch.
- *
- * @param headIp         the head node IP address
- * @param headUser       the head node user name
- * @param headPass       the head node password
- * @param ip             the mgmt IP of the fabric switch, reachable from the head node
- * @param user           the mgmt user name of the fabric switch
- * @param pass           the mgmt password of the fabric switch
- * @param command        the command to run on the fabric switch
- * @return the output of the command
- */
-def runFabricCmd(headIp, headUser, headPass, ip, user, pass, command) {
-    return sh(returnStdout: true, script: "sshpass -p ${headPass} ssh -oStrictHostKeyChecking=no -l ${headUser} ${headIp} \"sshpass -p ${pass} ssh -oStrictHostKeyChecking=no -l ${user} ${ip} ${command}\"")
-}
diff --git a/Vagrantfile b/Vagrantfile
deleted file mode 100644
index d039c3b..0000000
--- a/Vagrantfile
+++ /dev/null
@@ -1,366 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-$cordpath = ".."
-
-Vagrant.configure(2) do |config|
-
-  config.vm.synced_folder '.', '/vagrant', disabled: true
-
-  config.vm.define "corddev" do |d|
-    d.ssh.forward_agent = true
-    d.vm.box = "ubuntu/trusty64"
-    d.vm.hostname = "corddev"
-    d.vm.network "private_network", ip: "10.100.198.200"
-    d.vm.provision :shell, path: $cordpath + "/build/scripts/bootstrap_ansible.sh"
-    d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/cord/build/ansible/corddev.yml -c local"
-    d.vm.synced_folder $cordpath, "/opt/cord"
-    d.vm.provider "virtualbox" do |v|
-      v.memory = 2048
-    end
-    d.vm.provider :libvirt do |v, override|
-      v.memory = 2048
-      override.vm.synced_folder $cordpath, "/opt/cord", type: "nfs"
-    end
-  end
-
-  config.vm.define "prod" do |d|
-    d.vm.box = "ubuntu/trusty64"
-    d.vm.hostname = "prod"
-    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
-    d.vm.network "private_network", ip: "10.100.198.201"
-    d.vm.synced_folder $cordpath, "/opt/ciab"
-    d.vm.network "private_network",
-        ip: "0.0.0.0",
-        auto_config: false,
-        virtualbox__intnet: "cord-mgmt-network",
-        libvirt__network_name: "cord-mgmt-network",
-        libvirt__forward_mode: "none",
-        libvirt__dhcp_enabled: false
-    d.vm.network "private_network",
-        ip: "0.1.0.0",
-        mac: "02420a060101",
-        auto_config: false,
-        virtualbox__intnet: "head-node-leaf-1",
-        libvirt__network_name: "head-node-leaf-1",
-        libvirt__forward_mode: "none",
-        libvirt__dhcp_enabled: false
-    d.vm.provision :shell, path: $cordpath + "/build/scripts/bootstrap_ansible.sh"
-    d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/prod.yml -c local"
-    d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 cd /opt/ciab/build/platform-install; ansible-playbook -i inventory/head-localhost deploy-elasticstack-playbook.yml"
-    d.vm.provider "virtualbox" do |v|
-      v.memory = 2048
-    end
-    d.vm.provider :libvirt do |v, override|
-      v.memory = 24576
-      v.cpus = 8
-      v.storage :file, :size => '100G', :type => 'qcow2'
-      override.vm.synced_folder $cordpath, "/opt/ciab", type: "nfs"
-      override.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/add-extra-drive.yml -c local -i localhost,"
-    end
-  end
-
-  config.vm.define "leaf-1" do |s|
-    s.vm.box = "ubuntu/trusty64"
-    s.vm.hostname = "leaf-1"
-    s.vm.synced_folder $cordpath, "/opt/ciab"
-    s.vm.network "private_network",
-      #type: "dhcp",
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network",
-      mac: "cc37ab000011"
-    s.vm.network "private_network",
-      ip: "0.1.0.0",
-      auto_config: false,
-      virtualbox__intnet: "head-node-leaf-1",
-      libvirt__network_name: "head-node-leaf-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.2.0.0",
-      auto_config: false,
-      virtualbox__intnet: "compute-node-1-leaf-1",
-      libvirt__network_name: "compute-node-1-leaf-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.5.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-1-spine-1",
-      libvirt__network_name: "leaf-1-spine-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.6.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-1-spine-2",
-      libvirt__network_name: "leaf-1-spine-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.provision :shell, path: $cordpath + "/build/scripts/bootstrap_ansible.sh"
-    if (ENV['FABRIC'] == "1")
-      s.vm.provision :shell, path: $cordpath + "/build/scripts/install.sh", args: "-3f"
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/leafswitch.yml -c local -e 'fabric=true net_prefix=10.6.1' -i localhost,"
-    else
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/leafswitch.yml -c local -e 'net_prefix=10.6.1' -i localhost,"
-    end
-    s.vm.provider :libvirt do |v, override|
-        v.memory = 512
-        v.cpus = 1
-        override.vm.synced_folder $cordpath, "/opt/ciab", type: "nfs"
-    end
-    s.vm.provider "virtualbox" do |v, override|
-        v.memory = 512
-        v.cpus = 1
-    end
-  end
-
-  config.vm.define "leaf-2" do |s|
-    s.vm.box = "ubuntu/trusty64"
-    s.vm.hostname = "leaf-2"
-    s.vm.synced_folder $cordpath, "/opt/ciab"
-    s.vm.network "private_network",
-      #type: "dhcp",
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network",
-      mac: "cc37ab000012"
-    s.vm.network "private_network",
-      ip: "0.3.0.0",
-      auto_config: false,
-      virtualbox__intnet: "compute-node-2-leaf-2",
-      libvirt__network_name: "compute-node-2-leaf-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.4.0.0",
-      auto_config: false,
-      virtualbox__intnet: "compute-node-3-leaf-2",
-      libvirt__network_name: "compute-node-3-leaf-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.7.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-2-spine-1",
-      libvirt__network_name: "leaf-2-spine-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.8.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-2-spine-2",
-      libvirt__network_name: "leaf-2-spine-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.provision :shell, path: $cordpath + "/build/scripts/bootstrap_ansible.sh"
-    if (ENV['FABRIC'] == "1")
-      s.vm.provision :shell, path: $cordpath + "/build/scripts/install.sh", args: "-3f"
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/leafswitch.yml -c local -e 'fabric=true net_prefix=10.6.1' -i localhost,"
-    else
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/leafswitch.yml -c local -e 'net_prefix=10.6.1' -i localhost,"
-    end
-    s.vm.provider :libvirt do |v, override|
-        v.memory = 512
-        v.cpus = 1
-        override.vm.synced_folder $cordpath, "/opt/ciab", type: "nfs"
-    end
-    s.vm.provider "virtualbox" do |v, override|
-        v.memory = 512
-        v.cpus = 1
-    end
-  end
-
-  config.vm.define "spine-1" do |s|
-    s.vm.box = "ubuntu/trusty64"
-    s.vm.hostname = "spine-1"
-    s.vm.synced_folder $cordpath, "/opt/ciab"
-    s.vm.network "private_network",
-      #type: "dhcp",
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network",
-      mac: "cc37ab000021"
-    s.vm.network "private_network",
-      ip: "0.5.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-1-spine-1",
-      libvirt__network_name: "leaf-1-spine-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.7.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-2-spine-1",
-      libvirt__network_name: "leaf-2-spine-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.provision :shell, path: $cordpath + "/build/scripts/bootstrap_ansible.sh"
-    if (ENV['FABRIC'] == "1")
-      s.vm.provision :shell, path: $cordpath + "/build/scripts/install.sh", args: "-3f"
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/spineswitch.yml -c local -e 'fabric=true net_prefix=10.6.1' -i localhost,"
-    else
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/spineswitch.yml -c local -e 'net_prefix=10.6.1' -i localhost,"
-    end
-    s.vm.provider :libvirt do |v, override|
-        v.memory = 512
-        v.cpus = 1
-        override.vm.synced_folder $cordpath, "/opt/ciab", type: "nfs"
-    end
-    s.vm.provider "virtualbox" do |v, override|
-        v.memory = 512
-        v.cpus = 1
-    end
-  end
-
-  config.vm.define "spine-2" do |s|
-    s.vm.box = "ubuntu/trusty64"
-    s.vm.hostname = "spine-2"
-    s.vm.synced_folder $cordpath, "/opt/ciab"
-    s.vm.network "private_network",
-      #type: "dhcp",
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network",
-      mac: "cc37ab000022"
-    s.vm.network "private_network",
-      ip: "0.6.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-1-spine-2",
-      libvirt__network_name: "leaf-1-spine-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.network "private_network",
-      ip: "0.8.0.0",
-      auto_config: false,
-      virtualbox__intnet: "leaf-2-spine-2",
-      libvirt__network_name: "leaf-2-spine-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    s.vm.provision :shell, path: $cordpath + "/build/scripts/bootstrap_ansible.sh"
-    if (ENV['FABRIC'] == "1")
-      s.vm.provision :shell, path: $cordpath + "/build/scripts/install.sh", args: "-3f"
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/spineswitch.yml -c local -e 'fabric=true net_prefix=10.6.1' -i localhost,"
-    else
-      s.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opt/ciab/build/ansible/spineswitch.yml -c local -e 'net_prefix=10.6.1' -i localhost,"
-    end
-    s.vm.provider :libvirt do |v, override|
-        v.memory = 512
-        v.cpus = 1
-        override.vm.synced_folder $cordpath, "/opt/ciab", type: "nfs"
-    end
-    s.vm.provider "virtualbox" do |v, override|
-        v.memory = 512
-        v.cpus = 1
-    end
-  end
-
-  config.vm.define "compute-node-1" do |c|
-    c.vm.communicator = "none"
-    c.vm.hostname = "compute-node-1"
-    c.vm.network "private_network",
-      adapter: 1,
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network"
-    c.vm.network "private_network",
-      adapter: 2,         # The fabric interface for each node
-      ip: "0.2.0.0",
-      auto_config: false,
-      virtualbox__intnet: "compute-node-1-leaf-1",
-      libvirt__network_name: "compute-node-1-leaf-1",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    c.vm.provider :libvirt do |v|
-      v.memory = 8192
-      v.cpus = 4
-      v.machine_virtual_size = 100
-      v.storage :file, :size => '100G', :type => 'qcow2'
-      v.boot 'network'
-      v.boot 'hd'
-      v.nested = true
-    end
-    c.vm.provider "virtualbox" do |v, override|
-      override.vm.box = "clink15/pxe"
-      v.memory = 1048
-      v.gui = "true"
-    end
-  end
-
-  config.vm.define "compute-node-2" do |c|
-    c.vm.communicator = "none"
-    c.vm.hostname = "compute-node-2"
-    c.vm.network "private_network",
-      adapter: 1,
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network"
-    c.vm.network "private_network",
-      adapter: 2,         # The fabric interface for each node
-      ip: "0.3.0.0",
-      auto_config: false,
-      virtualbox__intnet: "compute-node-2-leaf-2",
-      libvirt__network_name: "compute-node-2-leaf-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    c.vm.provider :libvirt do |v|
-      v.memory = 8192
-      v.cpus = 4
-      v.machine_virtual_size = 100
-      v.storage :file, :size => '100G', :type => 'qcow2'
-      v.boot 'network'
-      v.boot 'hd'
-      v.nested = true
-    end
-    c.vm.provider "virtualbox" do |v, override|
-      override.vm.box = "clink15/pxe"
-      v.memory = 1048
-      v.gui = "true"
-    end
-  end
-
-  config.vm.define "compute-node-3" do |c|
-    c.vm.communicator = "none"
-    c.vm.hostname = "compute-node-3"
-    c.vm.network "private_network",
-      adapter: 1,
-      ip: "0.0.0.0",
-      auto_config: false,
-      virtualbox__intnet: "cord-mgmt-network",
-      libvirt__network_name: "cord-mgmt-network"
-    c.vm.network "private_network",
-      adapter: 2,         # The fabric interface for each node
-      ip: "0.4.0.0",
-      auto_config: false,
-      virtualbox__intnet: "compute-node-3-leaf-2",
-      libvirt__network_name: "compute-node-3-leaf-2",
-      libvirt__forward_mode: "none",
-      libvirt__dhcp_enabled: false
-    c.vm.provider :libvirt do |v|
-      v.memory = 8192
-      v.cpus = 4
-      v.machine_virtual_size = 100
-      v.storage :file, :size => '100G', :type => 'qcow2'
-      v.boot 'network'
-      v.boot 'hd'
-      v.nested = true
-    end
-    c.vm.provider "virtualbox" do |v, override|
-      override.vm.box = "clink15/pxe"
-      v.memory = 1048
-      v.gui = "true"
-    end
-  end
-
-  if Vagrant.has_plugin?("vagrant-cachier")
-    config.cache.scope = :box
-  end
-
-end
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 885547e..0000000
--- a/build.gradle
+++ /dev/null
@@ -1,355 +0,0 @@
-
-/*
- * Copyright 2017-present Open Networking Foundation
-
- * 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.
- */
-
-
-/*
- * Copyright 2012 the original author or authors.
- *
- * 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 org.opencord.gradle.rules.*
-import org.yaml.snakeyaml.Yaml
-import org.yaml.snakeyaml.DumperOptions
-
-buildscript {
-  repositories {
-    maven {
-      url "https://plugins.gradle.org/m2/"
-    }
-  }
-  dependencies {
-    classpath "gradle.plugin.com.dorongold.plugins:task-tree:1.2.1"
-  }
-}
-
-apply plugin: "com.dorongold.task-tree"
-
-evaluationDependsOn(':maas')
-evaluationDependsOn(':onos-apps')
-evaluationDependsOn(':orchestration:xos')
-evaluationDependsOn(':platform-install')
-
-allprojects {
-    apply plugin: 'base'
-    apply plugin: 'de.gesellix.docker'
-    //apply plugin: 'com.tmiyamon.config'
-
-    docker {
-        // dockerHost = System.env.DOCKER_HOST ?: 'unix:///var/run/docker.sock'
-        // dockerHost = System.env.DOCKER_HOST ?: 'https://192.168.99.100:2376'
-        // certPath = System.getProperty('docker.cert.path') ?: "${System.getProperty('user.home')}/.docker/machine/machines/default"
-        // authConfigPlain = [
-        //   "username"       : "joe",
-        //   "password"       : "some-pw-as-needed",
-        //   "email"          : "joe@acme.com",
-        //   "serveraddress"  : "https://index.docker.io/v1/"
-        //  ]
-    }
-}
-
-ext {
-
-    // Deployment target config file (yaml format); this can be overwritten from the command line
-    // using the -PdeployConfig=<file-path> syntax.
-    deployConfig = project.hasProperty('deployConfig') ? project.getProperty('deployConfig') : './config/default.yml'
-
-    println "Using deployment config: $deployConfig"
-    File configFile = new File(deployConfig)
-    def yaml = new Yaml()
-    config = yaml.load(configFile.newReader())
-
-    // Upstream registry to simplify filling out the comps table below
-    upstreamReg = project.hasProperty('upstreamReg') ? project.getProperty('upstreamReg') : 'docker.io'
-
-    // Target registry to be used to publish docker images needed for deployment
-    targetReg = project.hasProperty('targetReg')
-        ? project.getProperty('targetReg')
-        : config.docker && config.docker.registry
-            ? config.docker.registry
-            : config.headnode.ip
-                ? config.headnode.ip + ":5000"
-                : 'localhost:5000'
-
-    // The tag used to tag the docker images push to the target registry
-    targetTag = project.hasProperty('targetTag')
-        ? project.getProperty('targetTag')
-        : config.docker && config.docker.imageVersion
-            ? config.docker.imageVersion
-            : 'candidate'
-
-    // Component table
-    comps = [
-            // ONOS 1.10.6
-            'onosproject/onos': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'onosproject/onos',
-                    'digest':   'sha256:b239993ad921f41ca9ab5dce21d7f6f0f8a74fdb888fe14c0da337202f9dced7'
-            ],
-            'nginx': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'nginx',
-                    'digest':   'sha256:b555f8c64ab4e85405e0d8b03f759b73ce88deb802892a3b155ef55e3e832806'
-            ],
-            'swarm': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'swarm',
-                    'digest':   'sha256:6ca9b40980e2fcdcd229900ec8933f3e92c14ead22c9404cb09736cb4f3a9248'
-            ],
-            'xosproject/vsg': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'xosproject/vsg',
-                    'digest':   'sha256:18d1c6ef9767d8a41c9b51948776052d024d4e3294e5d1d6dde1a49112175d91'
-            ],
-            'redis': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'redis',
-                    'digest':   'sha256:0fe5a7afa2c2154f37c8ab56a9a6c5023cb0405cc0e85b34d8dcc1de6c3f143e'
-            ],
-            // Node 7.9.0
-            'node': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'node',
-                    'digest':   'sha256:e64b0d7eeb44034d3f2c301d3050b72c1639e683d5a0fd3b8aae3d6ac4789c7a'
-            ],
-            'gliderlabs/consul-server': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'gliderlabs/consul-server',
-                    'digest':   'sha256:37e194c7c941e37cf20b0cc5080541cfde9d31bf62a874905d0d51b3945f88c9'
-            ],
-            'gliderlabs/registrator': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'gliderlabs/registrator',
-                    'digest':   'sha256:6e708681dd52e28f4f39d048ac75376c9a762c44b3d75b2824173f8364e52c10'
-            ]
-    ]
-}
-
-// ---------------- Useful tasks ----------------
-
-task writeInventory(type: Copy) {
-  from 'ansible/cord-inv'
-    into 'genconfig'
-    expand([
-        headnode_ip: config.headnode.ip,
-        headnode_user: config.headnode.ansible_user,
-        headnode_pass: config.headnode.ansible_ssh_pass,
-        headnode_port: config.headnode.ansible_ssh_port,
-    ])
-}
-
-task writeYamlConfig {
-  def outvar = config.common
-  def outfilename = "genconfig/config.yml"
-
-  DumperOptions options = new DumperOptions()
-
-  options.setExplicitStart(true);
-  options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK)
-  options.setPrettyFlow(true);
-  options.setIndent(2);
-
-  def yaml = new Yaml(options)
-  Writer outfile = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outfilename), "utf-8"))
-
-  yaml.dump(outvar, outfile)
-  outfile.close()
-}
-
-
-task fetchUpstreamImages {
-    comps.each { name, spec -> if (spec.type == 'image') { dependsOn "fetch" + name } }
-}
-
-task fetch  {
-    dependsOn fetchUpstreamImages
-}
-
-task buildImages  {
-    logger.info "Root project has nothing to build"
-}
-
-task publishImages {
-    comps.each { name, spec -> if (spec.type == 'image') {
-            dependsOn "publish" + name
-          }
-    }
-}
-
-task publish {
-    dependsOn publishImages
-}
-
-tasks.addRule(new DockerFetchRule(project))
-tasks.addRule(new DockerPublishRule(project, project(':maas').prime))
-tasks.addRule(new DockerTagRule(project))
-
-task PIcreateConfig(type: Exec) {
-  dependsOn writeYamlConfig
-  dependsOn writeInventory
-
-  workingDir "platform-install"
-  executable = "ansible-playbook"
-  args = [ "-i", "../genconfig/cord-inv",
-    "--extra-vars", "@../genconfig/config.yml",
-    "--extra-vars", "pull_docker_tag="+targetTag,
-    "--extra-vars", "pull_docker_registry=docker-registry:5000/",
-    "cord-config-playbook.yml" ]
-}
-
-task PIcopyCord(type: Exec) {
-  dependsOn PIcreateConfig
-
-  workingDir "platform-install"
-  executable = "ansible-playbook"
-  args = [ "-i", "../genconfig/cord-inv",
-    "--extra-vars", "@../genconfig/config.yml",
-    "copy-cord-playbook.yml" ]
-}
-
-task PIcopyProfile(type: Exec) {
-  dependsOn PIcreateConfig
-
-  workingDir "platform-install"
-  executable = "ansible-playbook"
-  args = [ "-i", "../genconfig/cord-inv",
-    "--extra-vars", "@../genconfig/config.yml",
-    "copy-profile-playbook.yml" ]
-}
-
-task PIprepPlatform(type: Exec) {
-  dependsOn PIcreateConfig
-  dependsOn PIcopyCord
-  dependsOn PIcopyProfile
-
-  workingDir "platform-install"
-  executable = "ansible-playbook"
-  args = [ "-i", "../genconfig/cord-inv",
-    "--extra-vars", "@../genconfig/config.yml",
-    "prep-platform-playbook.yml" ]
-}
-
-task PIdeployOpenStack (type: Exec) {
-
-  workingDir "platform-install"
-  executable = "ansible-playbook"
-  args = [ "-i", "../genconfig/cord-inv",
-    "--extra-vars", "@../genconfig/config.yml",
-    "--extra-vars", "pull_docker_tag="+targetTag,
-    "--extra-vars", "pull_docker_registry=docker-registry:5000/",
-    "deploy-openstack-playbook.yml" ]
-}
-
-task PIdeployONOS (type: Exec) {
-
-  workingDir "platform-install"
-  executable = "ansible-playbook"
-  args = [ "-i", "../genconfig/cord-inv",
-    "--extra-vars", "@../genconfig/config.yml",
-    "--extra-vars", "pull_docker_tag="+targetTag,
-    "--extra-vars", "pull_docker_registry=docker-registry:5000/",
-    "deploy-onos-playbook.yml" ]
-}
-
-task PIdeployXOS (type: Exec) {
-  def extra_vars = "--extra-vars pull_docker_tag="+targetTag+" --extra-vars pull_docker_registry=docker-registry:5000/"
-  def ansible_cmd = "cd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml "+extra_vars+" launch-xos-playbook.yml"
-
-  executable = "ssh"
-  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
-}
-
-task PIsetupAutomation (type: Exec) {
-  def ansible_cmd = "cd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml cord-automation-playbook.yml"
-
-  executable = "ssh"
-  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
-}
-
-task PIrunDiag (type: Exec) {
-  def ansible_cmd = "cd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml collect-diag-playbook.yml"
-
-  executable = "ssh"
-  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
-}
-
-task postDeployTests (type: Exec) {
-
-  def ansible_cmd = "cd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml pod-test-playbook.yml"
-
-  executable = "ssh"
-  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
-}
-
-project(':maas').prime.dependsOn writeYamlConfig
-project(':maas').prime.dependsOn writeInventory
-
-project('onos-apps').publishMavenRepoImage.dependsOn project(':maas').prime
-project(':onos-apps').deploy.dependsOn project(':maas').deployBase
-
-project('onos-apps').publishMavenRepoImage.dependsOn project(':maas').prime
-project(':onos-apps').deploy.dependsOn project(':maas').deployBase
-
-// Ensure nginx:candidate exists
-project(':orchestration:xos').buildImages.dependsOn rootProject."tagnginx"
-
-// make PI config tasks run before maas deploy
-project(':maas').deployBase.dependsOn PIcopyProfile
-
-// For corebuilder
-project(':platform-install').buildImages.dependsOn project(':orchestration:xos').buildImages
-
-task PIdeployPlatform {
-     dependsOn PIcopyCord
-     dependsOn project(':onos-apps').deploy
-     dependsOn project(':maas').deployBase
-     dependsOn PIprepPlatform
-     dependsOn PIdeployOpenStack
-     dependsOn PIdeployONOS
-     dependsOn PIdeployXOS
-     dependsOn PIsetupAutomation
-}
-
-PIprepPlatform.mustRunAfter PIcopyCord
-PIdeployOpenStack.mustRunAfter PIprepPlatform
-PIdeployONOS.mustRunAfter PIdeployOpenStack
-PIdeployXOS.mustRunAfter PIdeployONOS
-PIsetupAutomation.mustRunAfter PIdeployXOS
-PIdeployPlatform.mustRunAfter project(':onos-apps').deploy
-PIdeployPlatform.mustRunAfter project(':maas').deployBase
-
-task deploy  {
-    dependsOn PIdeployPlatform
-}
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
deleted file mode 100644
index e9313e8..0000000
--- a/buildSrc/build.gradle
+++ /dev/null
@@ -1,49 +0,0 @@
-
-/*
- * Copyright 2017-present Open Networking Foundation
-
- * 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.
- */
-
-
-/*
- * Copyright 2012 the original author or authors.
- *
- * 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.
- */
-
-apply plugin: 'groovy'
-
-repositories {
-    // maven { url 'https://repo.gradle.org/gradle/libs' }
-    maven { url 'https://plugins.gradle.org/m2/' }
-    // mavenCentral()
-}
-
-dependencies {
-    compile gradleApi()
-    compile localGroovy()
-    compile 'de.gesellix:gradle-docker-plugin:2016-05-05T13-15-11'
-    compile 'org.yaml:snakeyaml:1.10'
-    //compile 'gradle.plugin.com.tmiyamon:gradle-config:0.2.1'
-}
diff --git a/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerFetchRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerFetchRule.groovy
deleted file mode 100644
index a9bb91b..0000000
--- a/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerFetchRule.groovy
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2012 the original author or authors.
- *
- * 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.
- */
-
-package org.opencord.gradle.rules
-
-import org.gradle.api.Rule
-import de.gesellix.gradle.docker.tasks.DockerPullTask
-
-
-/**
- * Gradle Rule class to fetch a docker image
- */
-class DockerFetchRule implements Rule {
-
-    def project
-
-    DockerFetchRule(project) {
-        this.project = project
-    }
-
-    String getDescription() {
-        'Rule Usage: fetch<component-name>'
-    }
-
-    void apply(String taskName) {
-        if (taskName.startsWith('fetch')) {
-            project.task(taskName, type: DockerPullTask) {
-                ext.compName = taskName - 'fetch'
-                def spec = project.comps[ext.compName]
-                imageName = spec.name + '@' + spec.digest
-            }
-        }
-    }
-}
diff --git a/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerPublishRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerPublishRule.groovy
deleted file mode 100644
index 39b6bba..0000000
--- a/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerPublishRule.groovy
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2012 the original author or authors.
- *
- * 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.
- */
-
-package org.opencord.gradle.rules
-
-import org.gradle.api.Rule
-import de.gesellix.gradle.docker.tasks.DockerPushTask
-
-
-/**
- * Gradle Rule class to publish (push) a docker image to a private repo
- */
-class DockerPublishRule implements Rule {
-
-    def project
-    def dependency
-
-    DockerPublishRule(project) {
-        this.project = project
-    }
-
-    DockerPublishRule(project, dependency) {
-        this.project = project
-        this.dependency = dependency
-    }
-
-    String getDescription() {
-        'Rule Usage: publish<component-name>'
-    }
-
-    void apply(String taskName) {
-        if (taskName.startsWith('publish')) {
-            project.task(taskName, type: DockerPushTask) {
-                ext.compName = taskName - 'publish'
-                println "Publish rule: $taskName + $compName"
-                def tagTask = "tag$compName"
-                println "Tagtask: $tagTask"
-                if (dependency) {
-                    dependsOn dependency
-                }
-                dependsOn tagTask
-                def spec = project.comps[ext.compName]
-                repositoryName = spec.name + ':' + project.targetTag
-                registry = project.targetReg
-            }
-        }
-    }
-}
diff --git a/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerTagRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerTagRule.groovy
deleted file mode 100644
index 474e16d..0000000
--- a/buildSrc/src/main/groovy/org/opencord/gradle/rules/DockerTagRule.groovy
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2012 the original author or authors.
- *
- * 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.
- */
-
-package org.opencord.gradle.rules
-
-import org.gradle.api.Rule
-import de.gesellix.gradle.docker.tasks.DockerTagTask
-
-
-/**
- * Gradle Rule class to tag a docker image
- */
-class DockerTagRule implements Rule {
-
-    def project
-
-    DockerTagRule(project) {
-        this.project = project
-    }
-
-    String getDescription() {
-        'Rule Usage: tag<component-name>'
-    }
-
-    void apply(String taskName) {
-        if (taskName.startsWith('tag') && !taskName.equals('tag')) {
-            project.task(taskName, type: DockerTagTask) {
-                ext.compName = taskName - 'tag'
-                def spec = project.comps[compName]
-                imageId = spec.name + '@' + spec.digest
-                tag = compName + ':' + project.targetTag
-            }
-        }
-    }
-}
diff --git a/buildSrc/src/main/groovy/org/opencord/gradle/rules/GitSubmoduleUpdateRule.groovy b/buildSrc/src/main/groovy/org/opencord/gradle/rules/GitSubmoduleUpdateRule.groovy
deleted file mode 100644
index 3b46424..0000000
--- a/buildSrc/src/main/groovy/org/opencord/gradle/rules/GitSubmoduleUpdateRule.groovy
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2012 the original author or authors.
- *
- * 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.
- */
-
-package org.opencord.gradle.rules
-
-import org.gradle.api.Rule
-import org.gradle.api.tasks.Exec
-
-
-/**
- * Gradle Rule class to fetch a docker image
- */
-class GitSubmoduleUpdateRule implements Rule {
-
-    def project
-
-    GitSubmoduleUpdateRule(project) {
-        this.project = project
-    }
-
-    String getDescription() {
-        'Rule Usage: gitupdate<component-name>'
-    }
-
-    void apply(String taskName) {
-        if (taskName.startsWith('gitupdate')) {
-            project.task(taskName, type: Exec) {
-                ext.compName = taskName - 'gitupdate'
-                def spec = project.comps[ext.compName]
-                workingDir = '.'
-                commandLine '/usr/bin/git', 'submodule', 'update', '--init', '--recursive', spec.componentDir
-            }
-        }
-    }
-}
diff --git a/config/cord_in_a_box.yml b/config/cord_in_a_box.yml
deleted file mode 100644
index c43361c..0000000
--- a/config/cord_in_a_box.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-# Deployment configuration for VirtualBox based head node.
-#
-# This deployment configuration can be utilized with the head node created
-# via `vagrant up headnode` from the gerrit.opencord.org/maas repository.
----
-debug: false
-
-# this is used to generate the genconfig/cord-inv file
-headnode:
-  ip: '10.100.198.201'
-  ansible_user: 'vagrant'
-  ansible_ssh_pass: 'vagrant'
-  ansible_ssh_port: 22
-
-common:
-  # all of these are written to genconfig/config.yml, and needs a rework
-
-  # set to the "flavor" of cord you want to install
-  cord_profile: 'rcord'
-
-  # cord dir is shared to corddev VM, may need redirection to work
-  credentials_dir: '/opt/credentials'
-  pki_dir: '/opt/pki'
-  ssh_pki_dir: '/opt/ssh_pki'
-
-  # Specifies tasks within the head node provisioning not to execute, including:
-  #
-  # switch_support -   don't download the switch ONL images as there are no
-  #                    switches in this configuration
-  # interface_config - don't update the network configuration of the headnode
-  #                    as it is configured by vagrant to the proper settings
-  skipTags:
-    - 'switch_support'
-    - 'reboot'
-    - 'interface_config'
-
-  fabric_ip: '10.6.1.1/24'
-  management_ip: '10.1.0.1/24'
-  external_iface: 'eth0'
-  management_network: '10.1.0.0/24'
-
-  # Specifies the extra settings required for this configuration
-  #
-  # virtualbox_support - install support for managing virtual box based
-  #                      compute nodes
-  # virtualbox_support: 1
-  # power_helper_user: 'cord'
-
-  # on_cloudlab: True
-  cord_in_a_box: True
-
-  extraVars:
-    - 'fabric_include_names=eth2'
-    - 'fabric_include_module_types=omit'
-    - 'fabric_exclude_names=eth0,eth1'
-    - 'management_include_names=eth1'
-    - 'management_exclude_names=eth0,eth2'
-
-docker:
-  imageVersion: candidate
-  registry: '10.100.198.201:5000'
-
-otherServers:
-  # Specifies the configuration for dynamically added compute nodes
-  fabric:
-    network: '10.6.1.1/24'
-    management: '10.1.0.0/24'
-
diff --git a/config/default.yml b/config/default.yml
deleted file mode 100644
index 5c6d281..0000000
--- a/config/default.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-# Deployment configuration for VirtualBox based head node.
-#
-# This deployment configuration can be utilized with the head node created
-# via `vargrant up headnode` from the gerrit.opencord.org/maas repository.
----
-debug: false
-
-# this is used to generate the genconfig/cord-inv file
-headnode:
-  ip: '10.100.198.201'
-  ansible_user: 'vagrant'
-  ansible_ssh_pass: 'vagrant'
-  ansible_ssh_port: 22
-
-common:
-
-  # set to the profile of cord you want to install
-  cord_profile: 'rcord'
-
-  # cord dir is shared to corddev VM, causing permissions issues if these aren't set
-  credentials_dir: '/opt/credentials'
-  pki_dir: '/opt/pki'
-  ssh_pki_dir: '/opt/ssh_pki'
-
-  # Specifies tasks within the head node provisioning not to execute, including:
-  #
-  # switch_support -   don't download the switch ONL images as there are no
-  #                    switches in this configuration
-  # interface_config - don't update the network configuration of the headnode
-  #                    as it is configured by vagrant to the proper settings
-  skipTags:
-    - 'switch_support'
-    - 'reboot'
-    - 'interface_config'
-
-  fabric_ip: '10.1.1.1/24'
-  management_ip: '10.1.0.1/24'
-  external_iface: 'eth0'
-  management_network: '10.1.0.0/24'
-
-  # Specifies the extra settings required for this configuration
-  #
-  # virtualbox_support - install support for managing virtual box based
-  #                      compute nodes
-  virtualbox_support: 1
-  power_helper_user: 'cord'
-
-docker:
-  imageVersion: candidate
diff --git a/config/ecord_global_in_a_box.yml b/config/ecord_global_in_a_box.yml
deleted file mode 100644
index 525937a..0000000
--- a/config/ecord_global_in_a_box.yml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-# Deployment configuration for VirtualBox based head node.
-#
-# This deployment configuration can be utilized with the head node created
-# via `vagrant up headnode` from the gerrit.opencord.org/maas repository.
----
-debug: false
-
-# this is used to generate the genconfig/cord-inv file
-headnode:
-  ip: '10.100.198.201'
-  ansible_user: 'vagrant'
-  ansible_ssh_pass: 'vagrant'
-  ansible_ssh_port: 22
-
-common:
-  # all of these are written to genconfig/config.yml, and needs a rework
-
-  # set to the "flavor" of cord you want to install
-  cord_profile: 'ecord-global'
-
-  # Specifies tasks within the head node provisioning not to execute, including:
-  #
-  # switch_support -   don't download the switch ONL images as there are no
-  #                    switches in this configuration
-  # interface_config - don't update the network configuration of the headnode
-  #                    as it is configured by vagrant to the proper settings
-  skipTags:
-    - 'switch_support'
-    - 'reboot'
-    - 'interface_config'
-
-  fabric_ip: '10.6.1.1/24'
-  management_ip: '10.1.0.1/24'
-  external_iface: 'eth0'
-  management_network: '10.1.0.0/24'
-
-  # Specifies the extra settings required for this configuration
-  #
-  # virtualbox_support - install support for managing virtual box based
-  #                      compute nodes
-  # virtualbox_support: 1
-  # power_helper_user: 'cord'
-
-  # on_cloudlab: True
-  cord_in_a_box: True
-
-  extraVars:
-    - 'fabric_include_names=eth2'
-    - 'fabric_include_module_types=omit'
-    - 'fabric_exclude_names=eth0,eth1'
-    - 'management_include_names=eth1'
-    - 'management_exclude_names=eth0,eth2'
-
-docker:
-  imageVersion: candidate
-  registry: '10.100.198.201:5000'
-
-otherServers:
-  # Specifies the configuration for dynamically added compute nodes
-  fabric:
-    network: '10.6.1.1/24'
-    management: '10.1.0.0/24'
-
diff --git a/config/ecord_in_a_box.yml b/config/ecord_in_a_box.yml
deleted file mode 100644
index 4814cdc..0000000
--- a/config/ecord_in_a_box.yml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-# Deployment configuration for VirtualBox based head node.
-#
-# This deployment configuration can be utilized with the head node created
-# via `vagrant up headnode` from the gerrit.opencord.org/maas repository.
----
-debug: false
-
-# this is used to generate the genconfig/cord-inv file
-headnode:
-  ip: '10.100.198.201'
-  ansible_user: 'vagrant'
-  ansible_ssh_pass: 'vagrant'
-  ansible_ssh_port: 22
-
-common:
-  # all of these are written to genconfig/config.yml, and needs a rework
-
-  # set to the "flavor" of cord you want to install
-  cord_profile: 'ecord'
-
-  # Specifies tasks within the head node provisioning not to execute, including:
-  #
-  # switch_support -   don't download the switch ONL images as there are no
-  #                    switches in this configuration
-  # interface_config - don't update the network configuration of the headnode
-  #                    as it is configured by vagrant to the proper settings
-  skipTags:
-    - 'switch_support'
-    - 'reboot'
-    - 'interface_config'
-
-  fabric_ip: '10.6.1.1/24'
-  management_ip: '10.1.0.1/24'
-  external_iface: 'eth0'
-  management_network: '10.1.0.0/24'
-
-  # Specifies the extra settings required for this configuration
-  #
-  # virtualbox_support - install support for managing virtual box based
-  #                      compute nodes
-  # virtualbox_support: 1
-  # power_helper_user: 'cord'
-
-  # on_cloudlab: True
-  cord_in_a_box: True
-
-  extraVars:
-    - 'fabric_include_names=eth2'
-    - 'fabric_include_module_types=omit'
-    - 'fabric_exclude_names=eth0,eth1'
-    - 'management_include_names=eth1'
-    - 'management_exclude_names=eth0,eth2'
-
-docker:
-  imageVersion: candidate
-  registry: '10.100.198.201:5000'
-
-otherServers:
-  # Specifies the configuration for dynamically added compute nodes
-  fabric:
-    network: '10.6.1.1/24'
-    management: '10.1.0.0/24'
-
diff --git a/config/onlab_develop_pod.yml b/config/onlab_develop_pod.yml
deleted file mode 100644
index 18f7eea..0000000
--- a/config/onlab_develop_pod.yml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-# Deployment configuration for a physical hardware POD
----
-
-# this is used to generate the genconfig/cord-inv file
-headnode:
-  ip: '10.90.0.251'
-  ansible_user: 'cord'
-  ansible_ssh_pass: 'cord'
-  ansible_ssh_port: 22
-
-common:
-
-  # set to the profile of cord you want to install
-  cord_profile: 'rcord'
-
-  # cord dir is shared to corddev VM, causing permissions issues if these aren't set
-  credentials_dir: '/opt/credentials'
-  pki_dir: '/opt/pki'
-  ssh_pki_dir: '/opt/ssh_pki'
-
-  # all of these are written to genconfig/config.yml, and needs a rework
-
-  # Network address information for the head node:
-  #
-  # fabric_ip     - the IP address and mask bits to be used to configure the network
-  #                 interface connected to the leaf - spine fabric
-  #
-  # management_ip - the IP address and mask bits to be used to configure the network
-  #                 interface connecting the head node to the POD internal
-  #                 management network. The head node will deliver DHCP addresses to
-  #                 the other compute nodes over this interface
-  #
-  # external_ip   - the IP address and mask bits to be used to configure the network
-  #                 interface connecting the head node (and the POD) to the
-  #                 Internet. All traffic in the POD to external hosts will be
-  #                 NAT-ed through this interface
-  fabric_ip: '10.6.1.1/24'
-  management_ip: '10.6.0.1/24'
-  external_ip: '10.90.0.251/16'
-  external_iface: 'eth0'
-  external_gw: '10.90.0.1'
-  skipTags:
-
-passwords:
-  compute_node: "ubuntu"
-  maas_admin: "admin"
-  maas_user: "cord"
-
-docker:
-  imageVersion: candidate
-
-otherNodes:
-  # Experimental
-  #
-  # Specifies the subnet and address range that will be used to allocate IP addresses
-  # to the compute nodes as they are deployed into the POD.
-  fabric:
-    network: 10.6.1.1/24
-    range_low: 10.6.1.2
-    range_high: 10.6.1.253
diff --git a/config/sample.yml b/config/sample.yml
deleted file mode 100644
index caec656..0000000
--- a/config/sample.yml
+++ /dev/null
@@ -1,117 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-# Deployment configuration for a phyical hardware POD
----
-
-headnode:
-  ip: '10.90.0.2'
-  ansible_user: 'ubuntu'
-  ansible_ssh_pass: 'ubuntu'
-  ansible_ssh_port: 22
-
-common:
-  # set to the profile of cord you want to install
-  cord_profile: 'rcord'
-
-  # cord dir is shared to corddev VM, causing permissions issues if these aren't set
-  credentials_dir: '/opt/credentials'
-  pki_dir: '/opt/pki'
-  ssh_pki_dir: '/opt/ssh_pki'
-
-  # Network address information for the head node:
-  #
-  # fabric_ip     - the IP address and mask bits to be used to configure the network
-  #                 interface connected to the leaf - spine fabric
-  #
-  # management_ip - the IP address and mask bits to be used to configure the network
-  #                 interface connecting the head node to the POD internal
-  #                 management network. The head node will deliver DHCP addresses to
-  #                 the other compute nodes over this interface
-  #
-  # external_ip   - the IP address and mask bits to be used to configure the network
-  #                 interface connecting the head node (and the POD) to the
-  #                 Internet. All traffic in the POD to external hosts will be
-  #                 NAT-ed through this interface
-  # external_iface   - the name of the interface that connects the head node to the
-  #                    Internet
-  # management_network - the network and mask bits to used for hosts on the management
-  #                      network
-  fabric_ip: '10.6.1.1/24'
-  #fabric_range_low: '10.6.1.2'
-  #fabric_range_high: '10.6.1.100'
-  management_ip: '10.6.0.1/24'
-  #management_range_low: '10.6.0.2'
-  #management_range_high: '10.6.0.127'
-  external_ip: '47.135.132.21/24'
-  #external_iface: 'eth2'
-  management_network: 10.6.0.0/24
-
-  # the skipTags options allow various part of the deployment to be skipped
-  # switch_support - does not deploy switch boot images to the PXE server
-  #
-  # reboot - will not reboot the head node after updating its network configuration
-  #          this may mean the network configuration will not take effect, but will
-  #          also prevent you from being locked out of the server if there is a
-  #          network configuration error.
-  #
-  # interface_config - will not modify the network configuration of the head node,
-  #                    including the consistent naming of the network interfaces
-  skipTags:
-  #  - 'switch_support'
-  #  - 'reboot'
-  #  - 'interface_config'
-
-  # The following variable settings can be used to customize how the network interfaces
-  # are selected into the fabric and management bridge interface or ignored/excluded.
-  # See the documentation docs/quickstart_physical.md for more information about how
-  # to set these variables.
-  extraVars:
-  #  - 'fabric_include_names=<name1>,<name2>,...'
-  #  - 'fabric_include_module_types=<mtype1>,<mtype2>,...'
-  #  - 'fabric_include_bus_types=<btype1>,<btype2>,...'
-  #  - 'fabric_exclude_names=<name1>,<name2>,...'
-  #  - 'fabric_exclude_module_types=<mtype1>,<mtype2>,...'
-  #  - 'fabric_exclude_bus_types=<btype1>,<btype2>,...'
-  #  - 'fabric_ignore_names=<name1>,<name2>,...'
-  #  - 'fabric_ignore_module_types=<mtype1>,<mtype2>,...'
-  #  - 'fabric_ignore_bus_types=<btype1>,<btype2>,...'
-  #  - 'management_include_names=<name1>,<name2>,...'
-  #  - 'management_include_module_types=<mtype1>,<mtype2>,...'
-  #  - 'management_include_bus_types=<btype1>,<btype2>,...'
-  #  - 'management_exclude_names=<name1>,<name2>,...'
-  #  - 'management_exclude_module_types=<mtype1>,<mtype2>,...'
-  #  - 'management_exclude_bus_types=<btype1>,<btype2>,...'
-  #  - 'management_ignore_names=<name1>,<name2>,...'
-  #  - 'management_ignore_module_types=<mtype1>,<mtype2>,...'
-  #  - 'management_ignore_bus_types=<btype1>,<btype2>,...'
-  #  - ubuntu_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/archive.ubuntu.com/ubuntu trusty main universe"
-  #  - ubuntu_updates_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/archive.ubuntu.com/ubuntu trusty-updates main universe"
-  #  - docker_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/apt.dockerproject.org/repo ubuntu-trusty main"
-  #  - java_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/ppa.launchpad.net/webupd8team/java/ubuntu trusty main"
-  #  - ansible_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/ppa.launchpad.net/ansible/ansible/ubuntu trusty main"
-  #  - maas_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/ppa.launchpad.net/maas/stable/ubuntu trusty main"
-  #  - dell_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/linux.dell.com/repo/community trusty openmanage"
-  #  - juju_apt_repo="deb [arch=amd64] http://10.1.0.1:8889/mirror/ppa.launchpad.net/juju/stable/ubuntu trusty main"
-
-# If passwords are not set, random passwords will be generated
-passwords:
-  #compute_node: ubuntu
-  #maas_admin: admin
-  #maas_user: cord
-
-docker:
-  imageVersion: candidate
diff --git a/gradle.properties b/gradle.properties
deleted file mode 100644
index 1a644c7..0000000
--- a/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-org.gradle.daemon=true
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 2c6137b..0000000
--- a/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index cf051c0..0000000
--- a/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu May 05 16:09:18 PDT 2016
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-all.zip
diff --git a/gradlew b/gradlew
deleted file mode 100755
index 9d82f78..0000000
--- a/gradlew
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-##  Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
-    echo "$*"
-}
-
-die ( ) {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-    JAVACMD=`cygpath --unix "$JAVACMD"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/gradlew.bat b/gradlew.bat
deleted file mode 100644
index 72d362d..0000000
--- a/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off

-@rem ##########################################################################

-@rem

-@rem  Gradle startup script for Windows

-@rem

-@rem ##########################################################################

-

-@rem Set local scope for the variables with windows NT shell

-if "%OS%"=="Windows_NT" setlocal

-

-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.

-set DEFAULT_JVM_OPTS=

-

-set DIRNAME=%~dp0

-if "%DIRNAME%" == "" set DIRNAME=.

-set APP_BASE_NAME=%~n0

-set APP_HOME=%DIRNAME%

-

-@rem Find java.exe

-if defined JAVA_HOME goto findJavaFromJavaHome

-

-set JAVA_EXE=java.exe

-%JAVA_EXE% -version >NUL 2>&1

-if "%ERRORLEVEL%" == "0" goto init

-

-echo.

-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

-echo.

-echo Please set the JAVA_HOME variable in your environment to match the

-echo location of your Java installation.

-

-goto fail

-

-:findJavaFromJavaHome

-set JAVA_HOME=%JAVA_HOME:"=%

-set JAVA_EXE=%JAVA_HOME%/bin/java.exe

-

-if exist "%JAVA_EXE%" goto init

-

-echo.

-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%

-echo.

-echo Please set the JAVA_HOME variable in your environment to match the

-echo location of your Java installation.

-

-goto fail

-

-:init

-@rem Get command-line arguments, handling Windows variants

-

-if not "%OS%" == "Windows_NT" goto win9xME_args

-if "%@eval[2+2]" == "4" goto 4NT_args

-

-:win9xME_args

-@rem Slurp the command line arguments.

-set CMD_LINE_ARGS=

-set _SKIP=2

-

-:win9xME_args_slurp

-if "x%~1" == "x" goto execute

-

-set CMD_LINE_ARGS=%*

-goto execute

-

-:4NT_args

-@rem Get arguments from the 4NT Shell from JP Software

-set CMD_LINE_ARGS=%$

-

-:execute

-@rem Setup the command line

-

-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

-

-@rem Execute Gradle

-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

-

-:end

-@rem End local scope for the variables with windows NT shell

-if "%ERRORLEVEL%"=="0" goto mainEnd

-

-:fail

-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of

-rem the _cmd.exe /c_ return code!

-if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1

-exit /b 1

-

-:mainEnd

-if "%OS%"=="Windows_NT" endlocal

-

-:omega

diff --git a/settings.gradle b/settings.gradle
deleted file mode 100644
index 9299c6a..0000000
--- a/settings.gradle
+++ /dev/null
@@ -1,24 +0,0 @@
-
-/*
- * Copyright 2017-present Open Networking Foundation
-
- * 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.
- */
-
-
-include 'maas'
-include 'platform-install'
-includeFlat 'onos-apps'
-
-include 'orchestration:xos'
-project(':orchestration:xos').projectDir = "$rootDir/../orchestration/xos" as File