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