[CORD-1936]
Create ecord podconfigs and build infra

Change-Id: I1338f60994b5ba5ee7a1ad7a05bc2b34c5f7e178
diff --git a/Makefile b/Makefile
index 8475f64..b159e46 100644
--- a/Makefile
+++ b/Makefile
@@ -271,7 +271,7 @@
 	$(ANSIBLE_PB) $(PI)/deploy-onos-playbook.yml $(LOGCMD)
 	touch $@
 
-$(M)/onos-debug: | $(M)/onboard-profile
+$(M)/onos-debug: | $(M)/onboard-profile $(M)/deploy-onos
 	$(SSH_HEAD) "cd /opt/cord/build; $(ANSIBLE_PB_LOCAL) $(PI)/onos-debug-playbook.yml" $(LOGCMD)
 	touch $@
 
diff --git a/docker_images.yml b/docker_images.yml
index ba36fbe..1b7aa70 100644
--- a/docker_images.yml
+++ b/docker_images.yml
@@ -1,4 +1,4 @@
-
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,8 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
----
 # docker_images.yml
 # master list of docker images used by imagebuilder.py
 
@@ -122,6 +120,10 @@
     repo: vtr
     path: "xos/gui"
 
+  - name: xosproject/gui-extension-vnaas
+    repo: vnaas
+    path: "xos/gui"
+
   - name: xosproject/gui-extension-sample
     repo: xos-sample-gui-extension
 
@@ -140,6 +142,21 @@
     path: "xos/synchronizer"
     dockerfile: "Dockerfile.synchronizer"
 
+  - name: xosproject/vee-synchronizer
+    repo: vEE
+    path: "xos/synchronizer"
+    dockerfile: "Dockerfile.synchronizer"
+
+  - name: xosproject/veg-synchronizer
+    repo: vEG
+    path: "xos/synchronizer"
+    dockerfile: "Dockerfile.synchronizer"
+
+  - name: xosproject/vnaas-synchronizer
+    repo: vnaas
+    path: "xos/synchronizer"
+    dockerfile: "Dockerfile.synchronizer"
+
   - name: xosproject/volt-synchronizer
     repo: olt-service
     path: "xos/synchronizer"
diff --git a/podconfig/ecord-global-mock.yml b/podconfig/ecord-global-mock.yml
new file mode 100644
index 0000000..6594ed9
--- /dev/null
+++ b/podconfig/ecord-global-mock.yml
@@ -0,0 +1,20 @@
+---
+# 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.
+
+# ecord-global-mock Pod Config
+# Creates a single-node mock Global E-CORD pod
+
+cord_scenario: mock
+cord_profile: ecord-global
diff --git a/podconfig/ecord-global-single.yml b/podconfig/ecord-global-single.yml
new file mode 100644
index 0000000..c97aa70
--- /dev/null
+++ b/podconfig/ecord-global-single.yml
@@ -0,0 +1,25 @@
+---
+# 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.
+
+# ecord-global-single Pod Config
+# Creates a single-node Global E-CORD pod w/synchronizers and ONOS
+# This is the production config for Global E-CORD development
+
+cord_scenario: single
+cord_profile: ecord-global
+
+start_xos_prereqs:
+  - deploy-onos
+
diff --git a/podconfig/ecord-single.yml b/podconfig/ecord-single.yml
new file mode 100644
index 0000000..3cf79ec
--- /dev/null
+++ b/podconfig/ecord-single.yml
@@ -0,0 +1,22 @@
+---
+# 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.
+
+# ecord-single Pod Config
+# Creates a single-node mock E-CORD pod w/synchronizers
+
+cord_scenario: single
+cord_profile: ecord
+
+
diff --git a/podconfig/ecord-virtual.yml b/podconfig/ecord-virtual.yml
new file mode 100644
index 0000000..ecf5b2e
--- /dev/null
+++ b/podconfig/ecord-virtual.yml
@@ -0,0 +1,41 @@
+---
+# 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.
+
+# ecord-virtual Pod Config
+# Creates a virtual multi-node E-CORD pod
+
+cord_scenario: cord
+cord_profile: ecord
+
+vagrant_up_prereqs:
+  - prereqs-check
+  - ciab-ovs
+
+build_targets:
+ - compute1-up
+
+external_iface: 'eth0'
+fabric_include_names: eth2
+fabric_include_module_types: omit
+fabric_exclude_names: eth0,eth1
+management_include_names: eth1
+management_exclude_names: eth0,eth2
+
+skipTags:
+  - 'set_compute_node_password'
+  - 'switch_support'
+  - 'reboot'
+  - 'interface_config'
+
diff --git a/podconfig/rcord-physical-example.yml b/podconfig/physical-example.yml
similarity index 89%
rename from podconfig/rcord-physical-example.yml
rename to podconfig/physical-example.yml
index 2a63216..2ff1283 100644
--- a/podconfig/rcord-physical-example.yml
+++ b/podconfig/physical-example.yml
@@ -13,11 +13,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# rcord-physical-example Pod Config
-# Example configuration for a physical R-CORD pod
+# physical-example Pod Config
+# Example configuration for a physical CORD pod
 
+# The name of the scenario to use, found in the scenarios directory
+# `cord` is the standard CORD POD with XOS, ONOS, MaaS and OpenStack
 cord_scenario: cord
-cord_profile: rcord
+
+# The name of the profile to use, found in the
+# platform-install/profile_manifests directory
+# Example values: `rcord`, `ecord`, `mcord`, `opencloud`
+cord_profile: <must_be_set>
 
 # Bring up the corddev VM. This is the `build` node as specified in ansible
 # inventory below.
@@ -107,6 +113,10 @@
 #  - 'interface_config'
 
 # Inventory for ansible, used to generate inventory.ini
+#
+# A physical podconfig must contain this, and will minimally set the head node
+# address in the `head` section..
+#
 # There must be config, build, head, and compute sections
 inventory_groups:
 
diff --git a/podconfig/rcord-mock.yml b/podconfig/rcord-mock.yml
index 1ece4c5..f1b38e6 100644
--- a/podconfig/rcord-mock.yml
+++ b/podconfig/rcord-mock.yml
@@ -1,4 +1,4 @@
-
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,9 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
----
-# mock-rcord Pod Config
+# rcord-mock Pod Config
 # Creates a single-node mock R-CORD pod
 
 cord_scenario: mock
diff --git a/podconfig/rcord-single.yml b/podconfig/rcord-single.yml
index 9c4298a..7efb1da 100644
--- a/podconfig/rcord-single.yml
+++ b/podconfig/rcord-single.yml
@@ -1,4 +1,4 @@
-
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,8 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
----
 # rcord-single Pod Config
 # Creates a single-node mock R-CORD pod w/synchronizers
 
diff --git a/scenarios/cord/config.yml b/scenarios/cord/config.yml
index b8305aa..e1029b3 100644
--- a/scenarios/cord/config.yml
+++ b/scenarios/cord/config.yml
@@ -1,3 +1,4 @@
+---
 
 # Copyright 2017-present Open Networking Foundation
 #
@@ -13,8 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
----
 # cord Scenario
 # for both Physical (using a corddev VM) and Virtual (using multiple VMs)
 
@@ -130,6 +129,8 @@
   - "xosproject/openstack-synchronizer"
   - "xosproject/volt-synchronizer"
   - "xosproject/vrouter-synchronizer"
+  - "xosproject/vee-synchronizer"
+  - "xosproject/veg-synchronizer"
   - "xosproject/vsg-synchronizer"
   - "xosproject/vtn-synchronizer"
   - "xosproject/vtr-synchronizer"
diff --git a/scenarios/single/config.yml b/scenarios/single/config.yml
index 906b56e..500e1e5 100644
--- a/scenarios/single/config.yml
+++ b/scenarios/single/config.yml
@@ -1,4 +1,4 @@
-
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,10 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
----
-# single head-node scenario
+# single node scenario (head-node only)
 # Brings up a VM with synchronizers, for more complicated testing without OpenStack
+# Can be used with ONOS and ElasticStack, see:
+# https://guide.opencord.org/xos/dev/workflow_mock_single.html
 
 # create a cord_profile dir next to the cord checkout
 config_cord_dir: "{{ ( playbook_dir ~ '/../..') | realpath }}"
@@ -74,6 +74,7 @@
   - "xosproject/chameleon"
   - "xosproject/gui-extension-rcord"
   - "xosproject/gui-extension-sample"
+  - "xosproject/gui-extension-vnaas"
   - "xosproject/gui-extension-vtr"
   - "xosproject/xos-synchronizer-base"
   - "xosproject/addressmanager-synchronizer"
@@ -81,6 +82,9 @@
   - "xosproject/fabric-synchronizer"
   - "xosproject/onos-synchronizer"
   - "xosproject/openstack-synchronizer"
+  - "xosproject/vee-synchronizer"
+  - "xosproject/veg-synchronizer"
+  - "xosproject/vnaas-synchronizer"
   - "xosproject/volt-synchronizer"
   - "xosproject/vrouter-synchronizer"
   - "xosproject/vsg-synchronizer"