Merge "Added fe config mock for mcord slicing ui"
diff --git a/mcord/cleanup.sh b/mcord/cleanup.sh
index 94ed427..d60ead1 100755
--- a/mcord/cleanup.sh
+++ b/mcord/cleanup.sh
@@ -30,7 +30,7 @@
 cleanup_network wan_network
 cleanup_network mysite_vcpe-private
 cleanup_network mysite_vsg-access
-cleanup_network management
+#cleanup_network management
 cleanup_network lan_rru_network
 cleanup_network lan_3gpp_s5s8_pgw_network
 cleanup_network lan_3gpp_s1u_network
@@ -49,6 +49,6 @@
 neutron net-delete public_network || true
 neutron net-delete hpc_client_network || true
 neutron net-delete ceilometer_network || true
-neutron net-delete management || true
+#neutron net-delete management || true
 neutron net-delete mysite_vsg-access || true
 neutron net-delete exampleservice-public || true
diff --git a/mcord/mcord.yaml b/mcord/mcord.yaml
index 765b0f6..c23c4c6 100644
--- a/mcord/mcord.yaml
+++ b/mcord/mcord.yaml
@@ -249,6 +249,9 @@
     mcord-vpgwc-onos-multi-nic:

       type: tosca.nodes.Image

 

+    trusty-server-multi-nic:

+      type: tosca.nodes.Image

+

     mysite_management:

       description: This slice exists solely to own the management network

       type: tosca.nodes.Slice

diff --git a/mcord/vtn-external.yaml b/mcord/vtn-external.yaml
new file mode 100644
index 0000000..e508075
--- /dev/null
+++ b/mcord/vtn-external.yaml
@@ -0,0 +1,94 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+   - custom_types/xos.yaml
+
+description: autogenerated node tags file for VTN configuration
+
+topology_template:
+  node_templates:
+
+    service#ONOS_CORD:
+      type: tosca.nodes.ONOSService
+      requirements:
+      properties:
+          kind: CORD-Platform
+          view_url: /admin/onos/onosservice/$id$/
+          no_container: true
+          rest_hostname: onos-cord
+          replaces: service_ONOS_CORD
+
+    service#vtn:
+      type: tosca.nodes.VTNService
+      properties:
+          kind: CORD-Platform
+          view_url: /admin/vtn/vtnservice/$id$/
+          privateGatewayMac: 00:00:00:00:00:01
+          localManagementIp: 10.102.83.2/24
+          ovsdbPort: 6641
+          sshUser: root
+          sshKeyFile: /root/node_key
+          sshPort: 22
+          xosEndpoint: http://xos/
+          xosUser: padmin@vicci.org
+          xosPassword: letmein
+          replaces: service_vtn
+
+    nova-compute-1:
+      type: tosca.nodes.Node
+
+    # VTN bridgeId field for node nova-compute-1
+    nova-compute-1_bridgeId_tag:
+      type: tosca.nodes.Tag
+      properties:
+          name: bridgeId
+          value: of:0000000000000001
+      requirements:
+          - target:
+              node: nova-compute-1
+              relationship: tosca.relationships.TagsObject
+          - service:
+              node: service#ONOS_CORD
+              relationship: tosca.relationships.MemberOfService
+
+    # VTN dataPlaneIntf field for node nova-compute-1
+    nova-compute-1_dataPlaneIntf_tag:
+      type: tosca.nodes.Tag
+      properties:
+          name: dataPlaneIntf
+          value: fabric
+      requirements:
+          - target:
+              node: nova-compute-1
+              relationship: tosca.relationships.TagsObject
+          - service:
+              node: service#ONOS_CORD
+              relationship: tosca.relationships.MemberOfService
+
+    # VTN dataPlaneIp field for node nova-compute-1
+    nova-compute-1_dataPlaneIp_tag:
+      type: tosca.nodes.Tag
+      properties:
+          name: dataPlaneIp
+          value: 10.168.0.253/24
+      requirements:
+          - target:
+              node: nova-compute-1
+              relationship: tosca.relationships.TagsObject
+          - service:
+              node: service#ONOS_CORD
+              relationship: tosca.relationships.MemberOfService
+
+    VTN_ONOS_app:
+      type: tosca.nodes.ONOSVTNApp
+      requirements:
+          - onos_tenant:
+              node: service#ONOS_CORD
+              relationship: tosca.relationships.TenantOfService
+          - vtn_service:
+              node: service#vtn
+              relationship: tosca.relationships.UsedByService
+      properties:
+          install_dependencies: http://mavenrepo:8080/repository/org/opencord/cord-config/1.1-SNAPSHOT/cord-config-1.1-SNAPSHOT.oar,http://mavenrepo:8080/repository/org/opencord/vtn/1.1-SNAPSHOT/vtn-1.1-SNAPSHOT.oar
+          dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
+          autogenerate: vtn-network-cfg
diff --git a/mcord/xos.yaml b/mcord/xos.yaml
index f157823..e76eb8e 100644
--- a/mcord/xos.yaml
+++ b/mcord/xos.yaml
@@ -14,6 +14,7 @@
         bootstrap_ui_port: 81
         docker_project_name: mcord
         db_container_name: mcordbs_xos_db_1
+        extra_hosts: onos-cord:10.102.81.101, computeBBU1:10.102.81.6, computeBBU2:10.102.81.7, compute9:10.102.81.9
 
     /opt/xos/xos_configuration/xos_common_config:
       type: tosca.nodes.XOSVolume
diff --git a/metronetwork/Makefile b/metronetwork/Makefile
index 312604f..a1f08d6 100644
--- a/metronetwork/Makefile
+++ b/metronetwork/Makefile
@@ -13,7 +13,7 @@
 RUN_TOSCA_BOOTSTRAP=python ../common/run_tosca.py $(XOS_BOOTSTRAP_PORT) $(ADMIN_USERNAME) $(ADMIN_PASSWORD)
 RUN_TOSCA=python ../common/run_tosca.py $(XOS_UI_PORT) $(ADMIN_USERNAME) $(ADMIN_PASSWORD)
 
-metronetwork: prereqs dirs download_xos download_services bootstrap onboarding
+metronetwork: prereqs dirs download_xos download_services bootstrap onboarding services
 
 prereqs:
 	sudo make -f ../common/Makefile.prereqs
@@ -56,6 +56,20 @@
 	bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
 	bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
 
+vrouter_service:
+	@echo "[ONBOARDING]"
+	# on-board the metronetwork service
+	bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
+	$(RUN_TOSCA_BOOTSTRAP) ../common/disable-onboarding.yaml
+	$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vrouter/xos/vrouter-onboard.yaml
+	$(RUN_TOSCA_BOOTSTRAP) ../common/enable-onboarding.yaml
+	bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/vrouter
+	bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
+	bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
+
+services: 
+	$(RUN_TOSCA) ecord-services.yaml
+
 containers: prereqs download_xos
 	make -f ../common/Makefile.containers xos_devel synchronizer onboarding_synchronizer
 
diff --git a/metronetwork/ecord-services.yaml b/metronetwork/ecord-services.yaml
new file mode 100644
index 0000000..429948d
--- /dev/null
+++ b/metronetwork/ecord-services.yaml
@@ -0,0 +1,24 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >
+    * E-CORD Services
+imports:
+   - custom_types/xos.yaml
+   - custom_types/metronet.yaml
+
+topology_template:
+  node_templates:
+
+    service#metronetwork:
+      type: tosca.nodes.MetroNetworkService
+      properties:
+          view_url: /admin/metronetwork/metronetworkservice/$id$/
+          kind: metronetwork
+
+    device#metronetworkdevice:
+      type: tosca.nodes.MetroNetworkDevice
+      properties:
+          restCtrlUrl:  http://10.10.10.10:8181/onos
+          username: karaf
+          password: karaf
+          administrativeState: syncrequested
\ No newline at end of file
diff --git a/metronetwork/xos.yaml b/metronetwork/xos.yaml
index 7ad92f1..cdf38d0 100644
--- a/metronetwork/xos.yaml
+++ b/metronetwork/xos.yaml
@@ -24,3 +24,13 @@
           - xos:
              node: xos
              relationship: tosca.relationships.UsedByXOS
+
+    /opt/xos/xos_configuration/xos_ecord_config:
+      type: tosca.nodes.XOSVolume
+      properties:
+          host_path: { path_join: [ SELF, CONFIG_DIR, ./xos_ecord_config, ENV_VAR ] }
+          read_only: true
+      requirements:
+          - xos:
+             node: xos
+             relationship: tosca.relationships.UsedByXOS
diff --git a/metronetwork/xos_ecord_config b/metronetwork/xos_ecord_config
new file mode 100644
index 0000000..fb659ba
--- /dev/null
+++ b/metronetwork/xos_ecord_config
@@ -0,0 +1,5 @@
+[gui]
+branding_name=CORD
+branding_icon=/static/cord-logo.png
+branding_favicon=/static/cord-favicon.png
+branding_bg=/static/cord-bg.jpg