#!/usr/bin/env python
 
-#Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
+#Copyright 2016 Open Platform for NFV Project, Inc. and its contributors
 #   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
 
 #!/usr/bin/env python
 
-#Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
+#Copyright 2016 Open Platform for NFV Project, Inc. and its contributors
 #   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
 
 .. code-block:: bash
 
   Message Type (= SUBSCRIBE)
-  UDID (= Unique Domino IDassigned during registration)
+  UDID (= Unique Domino ID assigned during registration)
   Sequence Number (=incremented after each RPC call)
   Template Operation (= APPEND)
   Label Operation (= APPEND)
 .. code-block:: bash
 
   Message Type (= SUBSCRIBE)
-  UDID (= Unique Domino IDassigned during registration)
+  UDID (= Unique Domino ID assigned during registration)
   Sequence Number (=incremented after each RPC call)
   Template Type (= TOSCA)
   Template File
 
 #!/usr/bin/env python
 
-#Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
+#Copyright 2016 Open Platform for NFV Project, Inc. and its contributors
 #   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
   try:
     # Make socket
     # NOTE that domino-cli.py and DominoClient.py are assumed to be run in the same machine
-    transport = TSocket.TSocket('localhost', cli_port)
+    transport = TSocket.TSocket('localhost', int(cli_port))
     # Buffering is critical. Raw sockets are very slow
     transport = TTransport.TBufferedTransport(transport)
     # Wrap in a protocol
 
--- /dev/null
+tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
+
+description: OpenWRT with services
+
+metadata:
+  template_name: OpenWRT
+
+topology_template:
+  node_templates:
+
+    VDU1:
+      type: tosca.nodes.nfv.VDU.Tacker
+      properties:
+        image: OpenWRT
+        flavor: m1.tiny
+        config: |
+          param0: key1
+          param1: key2
+        mgmt_driver: openwrt
+        monitoring_policy:
+          name: ping
+          parameters:
+            count: 3
+            interval: 10
+          actions:
+            failure: respawn
+
+    CP1:
+      type: tosca.nodes.nfv.CP.Tacker
+      properties:
+        management: true
+        anti_spoofing_protection: false
+      requirements:
+        - virtualLink:
+            node: VL1
+        - virtualBinding:
+            node: VDU1
+
+    CP2:
+      type: tosca.nodes.nfv.CP.Tacker
+      properties:
+        anti_spoofing_protection: false
+      requirements:
+        - virtualLink:
+            node: VL2
+        - virtualBinding:
+            node: VDU1
+
+    CP3:
+      type: tosca.nodes.nfv.CP.Tacker
+      properties:
+        anti_spoofing_protection: false
+      requirements:
+        - virtualLink:
+            node: VL3
+        - virtualBinding:
+            node: VDU1
+
+    VL1:
+      type: tosca.nodes.nfv.VL
+      properties:
+        network_name: net_mgmt
+        vendor: Tacker
+
+    VL2:
+      type: tosca.nodes.nfv.VL
+      properties:
+        network_name: pkt_in
+        vendor: Tacker
+
+    VL3:
+      type: tosca.nodes.nfv.VL
+      properties:
+        network_name: pkt_out
+        vendor: Tacker
+
+  policies:
+    - rule1:
+        type: tosca.policies.Placement.Geolocation
+        targets: [ VDU1 ]
+        properties:
+          region: [ nova1 ]
 
--- /dev/null
+tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
+
+description: Template for deploying a single server with predefined properties.
+
+topology_template:
+  node_templates:
+
+    VDU1:
+      type: tosca.nodes.nfv.VDU
+      capabilities:
+        host:
+         properties:
+           num_cpus: 2
+           disk_size: 10 GB
+           mem_size: 512 MB
+        # Guest Operating System properties
+        os:
+          properties:
+           # host Operating System image properties
+            architecture: x86_64
+            type: Linux
+            distribution: RHEL
+            version: 6.5
+    VDU2:
+      type: tosca.nodes.nfv.VDU
+      capabilities:
+        host:
+         properties:
+           num_cpus: 2
+           disk_size: 10 GB
+           mem_size: 512 MB
+        # Guest Operating System properties
+        os:
+          properties:
+           # host Operating System image properties
+            architecture: x86_64
+            type: Linux
+            distribution: RHEL
+            version: 6.5
+
+    CP1:
+      type: tosca.nodes.nfv.CP
+      properties:
+        ip_address: 192.168.0.55
+      requirements:
+        - virtualLink:
+            node: VL1
+#           relationship: tosca.relationships.nfv.VirtualLinksTo
+        - virtualBinding:
+            node: VDU1
+            relationship: tosca.relationships.nfv.VirtualBindsTo
+
+    VL1:
+      type: tosca.nodes.nfv.VL
+      properties:
+        vendor: ACME
+        cidr: '192.168.0.0/24'
+        start_ip: '192.168.0.50'
+        end_ip: '192.168.0.200'
+        gateway_ip: '192.168.0.1'
+
+  policies:
+    - rule1:
+        type: tosca.policies.Placement
+        targets: [ VDU1 ]
+        properties:
+          region: [ nova-1 ]
+    - rule2:
+        type: tosca.policies.Placement
+        targets: [ VDU2 ]
+        properties:
+          region: [ nova-2 ]
 
--- /dev/null
+tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
+
+description: Template for deploying a single server with predefined properties.
+
+topology_template:
+  node_templates:
+
+    VDU1:
+      type: tosca.nodes.nfv.VDU
+      capabilities:
+        host:
+         properties:
+           num_cpus: 1
+           disk_size: 5 GB
+           mem_size: 512 MB
+        # Guest Operating System properties
+        os:
+          properties:
+           # host Operating System image properties
+            architecture: x86_64
+            type: Linux
+            distribution: fedora
+            version: 23
+    VDU2:
+      type: tosca.nodes.nfv.VDU
+      capabilities:
+        host:
+         properties:
+           num_cpus: 1
+           disk_size: 5 GB
+           mem_size: 512 MB
+        # Guest Operating System properties
+        os:
+          properties:
+           # host Operating System image properties
+            architecture: x86_64
+            type: Linux
+            distribution: RHEL
+            version: 6.5
+
+    CP1:
+      type: tosca.nodes.nfv.CP
+      properties:
+        ip_address: 192.168.0.55
+      requirements:
+        - virtualLink:
+            node: VL1
+#           relationship: tosca.relationships.nfv.VirtualLinksTo
+        - virtualBinding:
+            node: VDU1
+            relationship: tosca.relationships.nfv.VirtualBindsTo
+
+    VL1:
+      type: tosca.nodes.nfv.VL
+      properties:
+        vendor: ACME
+        cidr: '192.168.0.0/24'
+        start_ip: '192.168.0.50'
+        end_ip: '192.168.0.200'
+        gateway_ip: '192.168.0.1'
+
+  policies:
+    - rule1:
+        type: tosca.policies.Placement
+        targets: [ VDU1 ]
+        properties:
+          region: [ nova-1 ]
+    - rule2:
+        type: tosca.policies.Placement
+        targets: [ VDU2 ]
+        properties:
+          region: [ nova-2 ]