Adding config for ONF-p4-demo-pod and att-workflow

Change-Id: I77c88c67faf589e2fe437dc75db4cc3fff74841a
diff --git a/tosca-configs/att-workflow/onf-p4-demo-pod-fabric.yaml b/tosca-configs/att-workflow/onf-p4-demo-pod-fabric.yaml
new file mode 100644
index 0000000..92aa0b5
--- /dev/null
+++ b/tosca-configs/att-workflow/onf-p4-demo-pod-fabric.yaml
@@ -0,0 +1,129 @@
+# 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 @onf-demo-pod-fabric.yaml http://192.168.100.1: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/fabricipaddress.yaml
+  - custom_types/serviceinstanceattribute.yaml
+  - custom_types/onosapp.yaml
+  - custom_types/vrouterserviceinstance.yaml
+  - custom_types/vrouterstaticroute.yaml
+  - custom_types/servicegraphconstraint.yaml
+  - custom_types/attworkflowdriverwhitelistentry.yaml
+  - custom_types/attworkflowdriverservice.yaml
+
+description: Configures the fabric and the whitelist
+
+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: AGG_SWITCH
+        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: 31
+      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: 31
+
+
+    # DHCP L2 Relay config
+    onos_app#dhcpl2relay:
+      type: tosca.nodes.ONOSApp
+      properties:
+        name: dhcpl2relay
+        must-exist: true
+
+    dhcpl2relay-config-attr:
+      type: tosca.nodes.ServiceInstanceAttribute
+      properties:
+        name: /onos/v1/network/configuration/apps/org.opencord.dhcpl2relay
+        value: >
+          {
+            "dhcpl2relay" : {
+              "useOltUplinkForServerPktInOut" : false,
+              "dhcpServerConnectPoints" : [ "of:0000000000000001/31" ]
+            }
+          }
+      requirements:
+        - service_instance:
+            node: onos_app#dhcpl2relay
+            relationship: tosca.relationships.BelongsToOne
+
+    # ONU Whitelist
+    service#attworkflow:
+      type: tosca.nodes.AttWorkflowDriverService
+      properties:
+        name: att-workflow-driver
+        must-exist: true
+
+    ALPHe3d1cfe3:
+      type: tosca.nodes.AttWorkflowDriverWhiteListEntry
+      properties:
+        serial_number: ALPHe3d1cfe3
+        pon_port_id: 536870912
+        device_id: of:00000000c0a86470
+      requirements:
+        - owner:
+            node: service#attworkflow
+            relationship: tosca.relationships.BelongsToOne
+
+    ISKT71e80080:
+      type: tosca.nodes.AttWorkflowDriverWhiteListEntry
+      properties:
+        serial_number: ISKT71e80080
+        pon_port_id: 536870912
+        device_id: of:00000000c0a86470
+      requirements:
+        - owner:
+            node: service#attworkflow
+            relationship: tosca.relationships.BelongsToOne
diff --git a/tosca-configs/att-workflow/onf-p4-demo-pod-olt.yaml b/tosca-configs/att-workflow/onf-p4-demo-pod-olt.yaml
new file mode 100644
index 0000000..37f45d5
--- /dev/null
+++ b/tosca-configs/att-workflow/onf-p4-demo-pod-olt.yaml
@@ -0,0 +1,112 @@
+# 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 @onf-demo-pod-olt.yaml http://192.168.100.1:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+  - custom_types/technologyprofile.yaml
+
+description: Creates OLT devices
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    edgecore:
+      type: tosca.nodes.OLTDevice
+      properties:
+        name: EdgeCore OLT
+        device_type: openolt
+        host: 192.168.100.111
+        port: 9191
+        switch_datapath_id: device:asg1
+        switch_port: "128"
+        outer_tpid: "0x8100"
+        uplink: "65536"
+        nas_id: "NAS_ID"
+        serial_number: "EC1904000654"
+      requirements:
+        - volt_service:
+            node: service#volt
+            relationship: tosca.relationships.BelongsToOne
+
+    technologyProfile:
+      type: tosca.nodes.TechnologyProfile
+      properties:
+        profile_id: 64
+        technology: xgspon
+        profile_value: >
+          {
+            "name": "4QueueHybridProfileMap1",
+            "profile_type": "XPON",
+            "version": 1.0,
+            "num_gem_ports": 1,
+            "instance_control": {
+              "onu": "multi-instance",
+              "uni": "single-instance",
+              "max_gem_payload_size": "auto"
+            },
+            "us_scheduler": {
+              "additional_bw": "auto",
+              "direction": "UPSTREAM",
+              "priority": 0,
+              "weight": 0,
+              "q_sched_policy": "hybrid"
+            },
+            "ds_scheduler": {
+              "additional_bw": "auto",
+              "direction": "DOWNSTREAM",
+              "priority": 0,
+              "weight": 0,
+              "q_sched_policy": "hybrid"
+            },
+            "upstream_gem_port_attribute_list": [{
+                "pbit_map": "0b11111111",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 1,
+                "weight": 0,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              }
+            ],
+            "downstream_gem_port_attribute_list": [{
+                "pbit_map": "0b11111111",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 1,
+                "weight": 0,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              }
+            ]
+          }
diff --git a/tosca-configs/att-workflow/onf-p4-demo-pod-subscribers.yaml b/tosca-configs/att-workflow/onf-p4-demo-pod-subscribers.yaml
new file mode 100644
index 0000000..866f209
--- /dev/null
+++ b/tosca-configs/att-workflow/onf-p4-demo-pod-subscribers.yaml
@@ -0,0 +1,96 @@
+# 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 @onf-demo-pod-subscriber.yaml http://192.168.100.1:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/rcordsubscriber.yaml
+  - custom_types/bandwidthprofile.yaml
+
+description: Pre-provision subscribers
+
+topology_template:
+  node_templates:
+
+    default:
+      type: tosca.nodes.BandwidthProfile
+      properties:
+        name: Default
+        must-exist: true
+        air: 100000
+        cbs: 30
+        cir: 600
+        ebs: 30
+        eir: 400
+
+    low_speed_bp:
+      type: tosca.nodes.BandwidthProfile
+      properties:
+         air: 100000
+         cbs: 2000
+         cir: 5000
+         ebs: 2000
+         eir: 3000
+         name: 8Mbps
+
+    high_speed_bp:
+      type: tosca.nodes.BandwidthProfile
+      properties:
+        air: 120000
+        cbs: 2000
+        cir: 100000
+        ebs: 2000
+        eir: 5000
+        name: 100Mbps
+
+    edgecore_alpha_subscriber:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: "John Smith"
+        status: pre-provisioned
+        c_tag: 12
+        s_tag: 111
+        onu_device: ALPHe3d1cfe3
+        nas_port_id: "PON 1/1/04/1:1.1.1"
+        circuit_id: ""
+        remote_id: ""
+        tech_profile_id: 64
+      requirements:
+        - upstream_bps:
+            node: high_speed_bp
+            relationship: tosca.relationships.BelongsToOne
+        - downstream_bps:
+            node: high_speed_bp
+            relationship: tosca.relationships.BelongsToOne
+
+    edgecore_iskratel_subscriber:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: "Emma Brown"
+        status: pre-provisioned
+        c_tag: 11
+        s_tag: 111
+        onu_device: ISKT71e80080
+        nas_port_id : "PON 1/1/04/1:1.1.2"
+        circuit_id: ""
+        remote_id: ""
+        tech_profile_id: 64
+      requirements:
+       - upstream_bps:
+           node: low_speed_bp
+           relationship: tosca.relationships.BelongsToOne
+       - downstream_bps:
+           node: low_speed_bp
+           relationship: tosca.relationships.BelongsToOne