CORD-1729 Support "localhost" as build node for full POD / CiaB

Change-Id: I406393b5594799f60eab83a2e3a1910f6974fc87
diff --git a/ansible/roles/build-local-bootstrap/defaults/main.yml b/ansible/roles/build-local-bootstrap/defaults/main.yml
new file mode 100644
index 0000000..4e4b046
--- /dev/null
+++ b/ansible/roles/build-local-bootstrap/defaults/main.yml
@@ -0,0 +1,16 @@
+# 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.
+
+config_cord_dir: /opt/cord
+config_cord_profile_dir: /opt/cord_profile
diff --git a/ansible/roles/build-local-bootstrap/tasks/main.yml b/ansible/roles/build-local-bootstrap/tasks/main.yml
new file mode 100644
index 0000000..c94099a
--- /dev/null
+++ b/ansible/roles/build-local-bootstrap/tasks/main.yml
@@ -0,0 +1,45 @@
+# 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.
+
+---
+
+- name: Ensure /opt/cord and /opt/cord_profile sym links
+  become: yes
+  file:
+    src: "{{ item.src }}"
+    dest: "{{ item.dest }}"
+    state: link
+    force: yes
+  with_items:
+  - { dest: '/opt/cord', src: '{{ config_cord_dir }}' }
+  - { dest: '/opt/cord_profile', src: '{{ config_cord_profile_dir }}' }
+
+- name: Ensure SSH keypair exists for Ansible login user
+  user:
+    name: "{{ ansible_user_id }}"
+    generate_ssh_key: yes
+    ssh_key_bits: 2048
+    ssh_key_type: rsa
+
+- name: Get public key for Ansible login user
+  slurp:
+    src: "{{ ansible_env.HOME }}/.ssh/id_rsa.pub"
+  register: pubkey
+
+- name: Ensure public key in authorized_keys
+  authorized_key:
+    user: "{{ ansible_user_id }}"
+    state: present
+    key: "{{ pubkey['content'] | b64decode }}"
+
diff --git a/ansible/roles/genconfig/templates/config.mk.j2 b/ansible/roles/genconfig/templates/config.mk.j2
index 7e4aeab..ef2351b 100644
--- a/ansible/roles/genconfig/templates/config.mk.j2
+++ b/ansible/roles/genconfig/templates/config.mk.j2
@@ -20,9 +20,6 @@
 # ** DO NOT EDIT THIS FILE MANUALLY! **
 # Edit the Pod Config (or Scenario) and rerun `make config` to regenerate it
 
-# Needed for MaaS, not settable
-DOCKER_REGISTRY         = docker-registry:5000
-
 # Scenario specific config
 {% if vagrant_vms is defined %}
 VAGRANT_VMS             = {{ vagrant_vms | join(' ') }}
@@ -35,9 +32,8 @@
 {% endif %}
 {% if deploy_docker_registry is defined %}
 DEPLOY_DOCKER_REGISTRY  = {{ deploy_docker_registry }}
-{% endif %}
-{% if deploy_docker_tag is defined %}
-DEPLOY_DOCKER_TAG       = {{ deploy_docker_tag }}
+# For MAAS
+DOCKER_REGISTRY         = {{ deploy_docker_registry }}
 {% endif %}
 {% if deploy_docker_tag is defined %}
 DEPLOY_DOCKER_TAG       = {{ deploy_docker_tag }}
@@ -80,6 +76,9 @@
 {% if deploy_onos_prereqs is defined %}
 DEPLOY_ONOS_PREREQS     = $(M)/{{ deploy_onos_prereqs | join(" $(M)/") }}
 {% endif %}
+{% if deploy_mavenrepo_prereqs is defined %}
+DEPLOY_MAVENREPO_PREREQS     = $(M)/{{ deploy_mavenrepo_prereqs | join(" $(M)/") }}
+{% endif %}
 {% if deploy_openstack_prereqs is defined %}
 DEPLOY_OPENSTACK_PREREQS = $(M)/{{ deploy_openstack_prereqs | join(" $(M)/") }}
 {% endif %}