diff --git a/build.gradle b/build.gradle
index 2d1b809..fe27221 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,8 +54,8 @@
         ? project.getProperty('targetReg')
         : config.docker && config.docker.registry
             ? config.docker.registry
-            : config.seedServer.ip
-                ? config.seedServer.ip + ":5000"
+            : config.headnode.ip
+                ? config.headnode.ip + ":5000"
                 : 'localhost:5000'
 
     // The tag used to tag the docker images push to the target registry
@@ -137,19 +137,18 @@
 
 task deploy (type: Exec) {
         executable = "ansible-playbook"
-        args = ["-i", config.seedServer.ip + ',']
+        args = ["-i", config.headnode.ip + ',']
 
-        if ( config.seedServer.ansible_user != null && config.seedServer.ansible_user != "" ) {
-            args = args << "--user=$config.seedServer.ansible_user"
+        if ( config.headnode.ansible_user != null && config.headnode.ansible_user != "" ) {
+            args = args << "--user=$config.headnode.ansible_user"
         }
 
         def extraVars = []
-        if (config.seedServer) {
-            extraVars = extraVars.p(config.seedServer.extraVars)
-                    .p(config.seedServer.ansible_ssh_pass, "ansible_ssh_pass")
-                    .p(config.seedServer.ansible_sudo_pass, "ansible_sudo_pass")
-                    .p(config.seedServer.domain, "domain")
-	            .p(config.seedServer.ansible_ssh_port, "ansible_ssh_port")
+        if (config.headnode) {
+            extraVars = extraVars.p(config.common.extraVars)
+              .p(config.headnode.ansible_ssh_pass, "ansible_ssh_pass")
+              .p(config.headnode.ansible_sudo_pass, "ansible_sudo_pass")
+	            .p(config.headnode.ansible_ssh_port, "ansible_ssh_port")
         }
 
         if (config.otherServers) {
@@ -163,7 +162,7 @@
                 .p(config.docker.imageVersion, "docker_image_version")
         }
 
-        def skipTags = [].p(config.seedServer.skipTags)
+        def skipTags = [].p(config.common.skipTags)
 
         args = args.p(skipTags.asParam("skip-tags", ",")).p(extraVars.asParam("extra-vars", " ")) << "mavenrepo.yml"   
 }
diff --git a/config/default.yml b/config/default.yml
deleted file mode 100644
index 3dc13f1..0000000
--- a/config/default.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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.
----
-seedServer:
-  ip: '10.100.198.201'
-
-  # User name and password used by Ansible to connect to the host for remote
-  # provisioning
-  user: 'vagrant'
-  password: 'vagrant'
-
-  # 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'
-    - 'interface_config'
-
-  # Specifies the extra settings required for this configuration
-  #
-  # virtualbox_support - install support for managing virtual box based
-  #                      compute nodes
-  extraVars:
-    - 'virtualbox_support=1'
-
-otherServers:
-  # Specifies the configuration for dynamically added compute nodes
-  location: 'http://gerrit.opencord.org/maas'
-  rolesPath: 'roles'
-  role: 'compute-node'
