[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"