CORD-714
Update ansible playbook names
add cord_profile flavor config
add cord_dir for copy destination, parameterize
make user/pass specific to the prod node
use headnode/common as top level config keys
fix inventory template
ignore generated files, remove cord-app-build which is vestigial
use ~/cord instead of ~/opencord for repo
fix variable
create cord_profile in /opt
renamed diag playbook
fix variables

Change-Id: If7d3fbdd6a2fc5bbf52770dcf2f97e5cac420746
diff --git a/build.gradle b/build.gradle
index 25f70c5..7c76ce8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -71,8 +71,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
@@ -115,12 +115,6 @@
                     'name':     'xosproject/xos-postgres',
                     'digest':   'sha256:f2d31a50b8af7434ab07b1e54e99c1ff1e10d77d16a46e5d6933d3c0528f4820'
             ],
-            'xosproject/cord-app-build': [
-                    'type':     'image',
-                    'upstream': upstreamReg,
-                    'name':     'xosproject/cord-app-build',
-                    'digest':   'sha256:528c6ac3a87609779035857a7b1cf9fab8e046e7ac259d72cf275f1c46d7416e'
-            ],
             'xosproject/xos-base': [
                     'type':     'image',
                     'upstream': upstreamReg,
@@ -144,16 +138,19 @@
 
 // ---------------- Useful tasks ----------------
 
-task copyAnsibleInventory(type: Copy) {
-  from 'platform-install/inventory/templates/single-prod'
-    into 'platform-install/inventory'
+task writeInventory(type: Copy) {
+  from 'ansible/cord-inv'
+    into 'genconfig'
     expand([
-        prod: config.seedServer.ip,
+        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.seedServer
+  def outvar = config.common
   def outfilename = "genconfig/config.yml"
 
   DumperOptions options = new DumperOptions()
@@ -170,13 +167,6 @@
   outfile.close()
 }
 
-task writeProdInventory(type: Copy) {
-  from 'ansible/prod-inv'
-    into 'genconfig'
-    expand([
-        prod: config.seedServer.ip,
-    ])
-}
 
 task fetchUpstreamImages {
     comps.each { name, spec -> if (spec.type == 'image') { dependsOn "fetch" + name } }
@@ -207,70 +197,70 @@
 
 task CopyCord(type: Exec) {
   dependsOn writeYamlConfig
-  dependsOn writeProdInventory
+  dependsOn writeInventory
 
   executable = "ansible"
-  args = [ "-i", "genconfig/prod-inv", "-b", "--extra-vars", "@./genconfig/config.yml", "-m", "synchronize", "-a", "src='../../' dest='/opt/cord'", "head" ]
+  args = [ "-i", "genconfig/cord-inv", "-b", "--extra-vars", "@./genconfig/config.yml", "-m", "synchronize", "-a", "src='../../' dest='$config.common.cord_dir'", "head" ]
 }
 
 task ChownCord(type: Exec) {
   dependsOn CopyCord
 
   executable = "ansible"
-  args = [ "-i", "genconfig/prod-inv", "-b", "--extra-vars", "@./genconfig/config.yml", "-m", "file", "-a", "state='directory' dest='/opt/cord' recurse='yes' owner='$config.seedServer.ansible_user'", "head" ]
+  args = [ "-i", "genconfig/cord-inv", "-b", "--extra-vars", "@./genconfig/config.yml", "-m", "file", "-a", "state='directory' dest='$config.common.cord_dir' recurse='yes' owner='$config.headnode.ansible_user'", "head" ]
 }
 
 task PIprepPlatform(type: Exec) {
   dependsOn CopyCord
   dependsOn ChownCord
 
-  def ansible_cmd = "cd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml cord-prep-platform.yml"
+  def ansible_cmd = "cd $config.common.cord_dir/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @$config.common.cord_dir/build/genconfig/config.yml prep-platform-playbook.yml"
 
   executable = "ssh"
-  args = ["-p", "$config.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
 }
 
 task PIdeployOpenStack (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-deploy-openstack.yml"
+  def ansible_cmd = "cd $config.common.cord_dir/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @$config.common.cord_dir/build/genconfig/config.yml deploy-openstack-playbook.yml"
 
   executable = "ssh"
-  args = ["-p", "$config.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
 }
 
 task PIdeployONOS (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-deploy-onos.yml"
+  def ansible_cmd = "cd $config.common.cord_dir/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @$config.common.cord_dir/build/genconfig/config.yml deploy-onos-playbook.yml"
 
   executable = "ssh"
-  args = ["-p", "$config.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
 }
 
 task PIdeployXOS (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-deploy-xos.yml"
+  def ansible_cmd = "cd $config.common.cord_dir/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @$config.common.cord_dir/build/genconfig/config.yml deploy-xos-playbook.yml"
 
   executable = "ssh"
-  args = ["-p", "$config.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  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.yml"
+  def ansible_cmd = "cd $config.common.cord_dir/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @$config.common.cord_dir/build/genconfig/config.yml cord-automation-playbook.yml"
 
   executable = "ssh"
-  args = ["-p", "$config.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  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 cord-diag-playbook.yml"
+  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.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  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 cord-post-deploy-playbook.yml"
+  def ansible_cmd = "cd $config.common.cord_dir/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @$config.common.cord_dir/build/genconfig/config.yml pod-test-playbook.yml"
 
   executable = "ssh"
-  args = ["-p", "$config.seedServer.ansible_ssh_port", "$config.seedServer.ansible_user@$config.seedServer.ip", ansible_cmd ]
+  args = ["-p", "$config.headnode.ansible_ssh_port", "$config.headnode.ansible_user@$config.headnode.ip", ansible_cmd ]
 }
 
 project('onos-apps').publishMavenRepoImage.dependsOn project(':maas').prime