Merge "Adding new Tosca and deployment config files"
diff --git a/deployment-configs/flex-pod1-olt.yml b/deployment-configs/flex-pod1-olt.yml
index d3f4670..1c89c55 100644
--- a/deployment-configs/flex-pod1-olt.yml
+++ b/deployment-configs/flex-pod1-olt.yml
@@ -43,16 +43,19 @@
     pass: 'onl'
     fortygig: 'true'
 
-srcHost:
-  ip: '10.192.4.61'
-  user: 'cluser'
-  pass: 'cloudlabs'
-  gateway: '10.8.2.254'
-  public_iface: 'enp4s0f1'
-
-dstHost:
-  ip: '10.192.4.62'
-  hostIp: '10.8.3.100'
-  user: 'cord'
-  pass: 'cord'
-  gateway: '10.8.3.254'
+hosts:
+  src:
+    ip: '10.192.4.61'
+    user: 'cluser'
+    pass: 'cloudlabs'
+    dp_iface_name: 'enp4s0f1'
+    dp_iface_ip: '10.8.2.1'
+    dp_iface_gateway: '10.8.2.254'
+  dst:
+    ip: '10.192.4.62'
+    user: 'cord'
+    pass: 'cord'
+    dp_iface_name: 'ens3'
+    dp_iface_ip_qinq: '10.8.2.254'
+    dp_iface_ip: '10.8.3.1'
+    dp_iface_gateway: '10.8.3.254'
diff --git a/tosca-configs/att-workflow/edgecore-pod1-fabric.yaml b/tosca-configs/att-workflow/edgecore-pod1-fabric.yaml
new file mode 100755
index 0000000..c437171
--- /dev/null
+++ b/tosca-configs/att-workflow/edgecore-pod1-fabric.yaml
@@ -0,0 +1,88 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @onlab-pod1-fabric.yaml http://10.90.0.101:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/switch.yaml
+  - custom_types/switchport.yaml
+  - custom_types/portinterface.yaml
+  - custom_types/bngportmapping.yaml
+  - custom_types/attworkflowdriverwhitelistentry.yaml
+  - custom_types/attworkflowdriverservice.yaml
+
+description: Configures the ONF SEBA POD with AT&T workflow
+
+topology_template:
+  node_templates:
+    # Fabric configuration
+    switch#leaf_1:
+      type: tosca.nodes.Switch
+      properties:
+        driver: ofdpa3
+        ipv4Loopback: 192.168.0.201
+        ipv4NodeSid: 17
+        isEdgeRouter: True
+        name: leaf_1
+        ofId: of:0000000000000001
+        routerMac: 00:00:02:01:06:01
+
+    # Setup the OLT switch port
+    port#olt_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 1
+        host_learning: false
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    # Port connected to the BNG
+    port#bng_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 1
+        host_learning: false
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the fabric switch port where the external
+    # router is connected to
+    bngmapping:
+      type: tosca.nodes.BNGPortMapping
+      properties:
+        s_tag: any
+        switch_port: 1
+
+    # ONU Whitelist
+    service#att:
+      type: tosca.nodes.AttWorkflowDriverService
+      properties:
+        name: att-workflow-driver
+        must-exist: true
+
+    ISKT71E810C0:
+      type: tosca.nodes.AttWorkflowDriverWhiteListEntry
+      properties:
+        serial_number: ISKT71E810C0
+        pon_port_id: 536870912
+        device_id: of:000000000a5a0072
+      requirements:
+        - owner:
+            node: service#att
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/att-workflow/edgecore-pod1-olt.yaml b/tosca-configs/att-workflow/edgecore-pod1-olt.yaml
new file mode 100755
index 0000000..4f1680b
--- /dev/null
+++ b/tosca-configs/att-workflow/edgecore-pod1-olt.yaml
@@ -0,0 +1,47 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @onlab-pod1-olt.yaml http://10.90.0.101:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+description: Create a simulated OLT Device in VOLTHA
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    olt_device:
+      type: tosca.nodes.OLTDevice
+      properties:
+        name: ONF OLT
+        device_type: openolt
+        host: 192.168.99.182
+        port: 9191
+        switch_datapath_id: of:0000000000000001
+        switch_port: "1"
+        outer_tpid: "0x8100"
+        uplink: "65536"
+        nas_id: "NAS_ID"
+      requirements:
+        - volt_service:
+            node: service#volt
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/att-workflow/edgecore-pod1-subscriber.yaml b/tosca-configs/att-workflow/edgecore-pod1-subscriber.yaml
new file mode 100755
index 0000000..8e6d73b
--- /dev/null
+++ b/tosca-configs/att-workflow/edgecore-pod1-subscriber.yaml
@@ -0,0 +1,36 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @onlab-pod1-subscriber.yaml http://10.90.0.101:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/rcordsubscriber.yaml
+
+description: Pre-provsion a subscriber
+
+topology_template:
+  node_templates:
+
+    ISK1:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: Client1
+        status: pre-provisioned
+        c_tag: 112
+        s_tag: 111
+        onu_device: ISKT71E810C0
+        nas_port_id : "PON 1/1/04/1:1.1.1"
+        circuit_id: foo1
+        remote_id: bar1
diff --git a/tosca-configs/att-workflow/flex-pod1-olt-fabric.yaml b/tosca-configs/att-workflow/flex-pod1-olt-fabric.yaml
index 10c339f..5aeb5c1 100755
--- a/tosca-configs/att-workflow/flex-pod1-olt-fabric.yaml
+++ b/tosca-configs/att-workflow/flex-pod1-olt-fabric.yaml
@@ -23,7 +23,7 @@
   - custom_types/attworkflowdriverwhitelistentry.yaml
   - custom_types/attworkflowdriverservice.yaml
 
-description: Configures the ONF SEBA POD with AT&T workflow
+description: Configures the Flex POD with AT&T workflow
 
 topology_template:
   node_templates:
diff --git a/tosca-configs/rcord-topdown/flex-pod1-olt-fabric.yaml b/tosca-configs/rcord-topdown/flex-pod1-olt-fabric.yaml
new file mode 100755
index 0000000..7fa0838
--- /dev/null
+++ b/tosca-configs/rcord-topdown/flex-pod1-olt-fabric.yaml
@@ -0,0 +1,102 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @flex-pod1-olt-fabric.yaml http://10.192.4.241:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/switch.yaml
+  - custom_types/switchport.yaml
+  - custom_types/portinterface.yaml
+  - custom_types/vrouterserviceinstance.yaml
+  - custom_types/vrouterstaticroute.yaml
+
+description: Configures the ONF SEBA POD with AT&T workflow
+
+topology_template:
+  node_templates:
+    # Fabric configuration
+    switch#leaf_1:
+      type: tosca.nodes.Switch
+      properties:
+        driver: ofdpa3
+        ipv4Loopback: 192.168.9.24
+        ipv4NodeSid: 17
+        isEdgeRouter: false
+        name: Fabric Switch - 1
+        ofId: of:0000cc37ab5b6da8
+        routerMac: 00:00:00:00:00:03
+
+    # Setup the OLT switch port
+    port#olt_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 7
+        host_learning: false
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the OLT switch port interface
+    interface#olt_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        ips: 10.8.2.254/24
+        name: olt_interface
+      requirements:
+        - port:
+            node: port#olt_port
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the fabric switch port where the external
+    # router is connected to
+    port#upstream_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 8
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the fabric switch port interface where the
+    # external router is connected to
+    interface#upstream_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        name: upstream_interface
+        vlanUntagged: 40
+        ips: 10.8.3.254/24
+      requirements:
+        - port:
+            node: port#upstream_port
+            relationship: tosca.relationships.BelongsToOne
+
+    # Add a vRouter (ONOS)
+    vrouter#my_vrouter:
+      type: tosca.nodes.VRouterServiceInstance
+      properties:
+        name: my_vrouter
+
+    # Add a static route to the vRouter (ONOS)
+    route#my_route:
+      type: tosca.nodes.VRouterStaticRoute
+      properties:
+        prefix: "0.0.0.0/0"
+        next_hop: "10.8.3.1"
+      requirements:
+        - vrouter:
+            node: vrouter#my_vrouter
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/rcord-topdown/flex-pod1-olt-olt.yaml b/tosca-configs/rcord-topdown/flex-pod1-olt-olt.yaml
new file mode 100755
index 0000000..0a3057e
--- /dev/null
+++ b/tosca-configs/rcord-topdown/flex-pod1-olt-olt.yaml
@@ -0,0 +1,47 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @flex-pod1-olt-olt.yaml http://10.192.4.241:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+
+description: Create a simulated OLT Device in VOLTHA
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    olt_device:
+      type: tosca.nodes.OLTDevice
+      properties:
+        name: olt-1
+        device_type: openolt
+        host: 10.192.4.218
+        port: 9191
+        switch_datapath_id: of:0000cc37ab5b6da8
+        switch_port: "7"
+        outer_tpid: "0x8100"
+        uplink: "65536"
+      requirements:
+        - volt_service:
+            node: service#volt
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/rcord-topdown/flex-pod1-olt-subscriber.yaml b/tosca-configs/rcord-topdown/flex-pod1-olt-subscriber.yaml
new file mode 100755
index 0000000..3d4b64e
--- /dev/null
+++ b/tosca-configs/rcord-topdown/flex-pod1-olt-subscriber.yaml
@@ -0,0 +1,34 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @flex-pod1-olt-subscriber.yaml http://10.90.0.101:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/rcordsubscriber.yaml
+
+description: Pre-provsion a subscriber
+
+topology_template:
+  node_templates:
+
+    # Pre-provision the subscriber the subscriber
+    my_house:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: My House-305
+        status: pre-provisioned
+        s_tag: 111
+        c_tag: 999
+        onu_device: ALPHe3d1cfa7
diff --git a/tosca-configs/rcord-zerotouch/flex-pod1-olt-fabric.yaml b/tosca-configs/rcord-zerotouch/flex-pod1-olt-fabric.yaml
new file mode 100755
index 0000000..bffd43e
--- /dev/null
+++ b/tosca-configs/rcord-zerotouch/flex-pod1-olt-fabric.yaml
@@ -0,0 +1,138 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @flex-pod1-olt-fabric.yaml http://10.192.4.241:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/switch.yaml
+  - custom_types/switchport.yaml
+  - custom_types/portinterface.yaml
+  - custom_types/vrouterserviceinstance.yaml
+  - custom_types/vrouterstaticroute.yaml
+  - custom_types/hippieossservice.yaml
+  - custom_types/servicedependency.yaml
+  - custom_types/voltservice.yaml
+
+description: Configures the ONF SEBA POD with AT&T workflow
+
+topology_template:
+  node_templates:
+    # Fabric configuration
+    switch#leaf_1:
+      type: tosca.nodes.Switch
+      properties:
+        driver: ofdpa3
+        ipv4Loopback: 192.168.9.24
+        ipv4NodeSid: 17
+        isEdgeRouter: false
+        name: Fabric Switch - 1
+        ofId: of:0000cc37ab5b6da8
+        routerMac: 00:00:00:00:00:03
+
+    # Setup the OLT switch port
+    port#olt_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 7
+        host_learning: false
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the OLT switch port interface
+    interface#olt_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        ips: 10.8.2.254/24
+        name: olt_interface
+      requirements:
+        - port:
+            node: port#olt_port
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the fabric switch port where the external
+    # router is connected to
+    port#upstream_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 8
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    # Setup the fabric switch port interface where the
+    # external router is connected to
+    interface#upstream_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        name: upstream_interface
+        vlanUntagged: 40
+        ips: 10.8.3.254/24
+      requirements:
+        - port:
+            node: port#upstream_port
+            relationship: tosca.relationships.BelongsToOne
+
+    # Add a vRouter (ONOS)
+    vrouter#my_vrouter:
+      type: tosca.nodes.VRouterServiceInstance
+      properties:
+        name: my_vrouter
+
+    # Add a static route to the vRouter (ONOS)
+    route#my_route:
+      type: tosca.nodes.VRouterStaticRoute
+      properties:
+        prefix: "0.0.0.0/0"
+        next_hop: "10.8.3.1"
+      requirements:
+        - vrouter:
+            node: vrouter#my_vrouter
+            relationship: tosca.relationships.BelongsToOne
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    service#oss:
+      type: tosca.nodes.HippieOSSService
+      properties:
+        name: hippie-oss
+        kind: oss
+
+    ALPHe3d1cfa7:
+      type: tosca.nodes.HippieOSSWhiteListEntry
+      properties:
+        serial_number: ALPHe3d1cfa7
+      requirements:
+        - owner:
+            node: service#oss
+            relationship: tosca.relationships.BelongsToOne
+
+    service_dependency#oss_volt:
+      type: tosca.nodes.ServiceDependency
+      properties:
+        connect_method: None
+      requirements:
+        - subscriber_service:
+            node: service#oss
+            relationship: tosca.relationships.BelongsToOne
+        - provider_service:
+            node: service#volt
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/rcord-zerotouch/flex-pod1-olt-olt.yaml b/tosca-configs/rcord-zerotouch/flex-pod1-olt-olt.yaml
new file mode 100755
index 0000000..0a3057e
--- /dev/null
+++ b/tosca-configs/rcord-zerotouch/flex-pod1-olt-olt.yaml
@@ -0,0 +1,47 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @flex-pod1-olt-olt.yaml http://10.192.4.241:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+
+description: Create a simulated OLT Device in VOLTHA
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    olt_device:
+      type: tosca.nodes.OLTDevice
+      properties:
+        name: olt-1
+        device_type: openolt
+        host: 10.192.4.218
+        port: 9191
+        switch_datapath_id: of:0000cc37ab5b6da8
+        switch_port: "7"
+        outer_tpid: "0x8100"
+        uplink: "65536"
+      requirements:
+        - volt_service:
+            node: service#volt
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/rcord-zerotouch/flex-pod1-olt-subscriber.yaml b/tosca-configs/rcord-zerotouch/flex-pod1-olt-subscriber.yaml
new file mode 100755
index 0000000..3d4b64e
--- /dev/null
+++ b/tosca-configs/rcord-zerotouch/flex-pod1-olt-subscriber.yaml
@@ -0,0 +1,34 @@
+# 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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @flex-pod1-olt-subscriber.yaml http://10.90.0.101:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/rcordsubscriber.yaml
+
+description: Pre-provsion a subscriber
+
+topology_template:
+  node_templates:
+
+    # Pre-provision the subscriber the subscriber
+    my_house:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: My House-305
+        status: pre-provisioned
+        s_tag: 111
+        c_tag: 999
+        onu_device: ALPHe3d1cfa7