tosca_definitions_version: tosca_simple_yaml_1_0

description: Setup CORD-related services -- vOLT, vCPE, vBNG.

imports:
   - custom_types/xos.yaml

topology_template:
  node_templates:
    # CORD Services
    service_vtr:
      type: tosca.nodes.Service
      properties:
          view_url: /admin/vtr/vtrservice/$id$/
          kind: vTR

    service_volt:
      type: tosca.nodes.Service
      requirements:
          - vsg_tenant:
              node: service_vsg
              relationship: tosca.relationships.TenantOfService
          - lan_network:
              node: lan_network
              relationship: tosca.relationships.UsesNetwork
          - wan_network:
              node: wan_network
              relationship: tosca.relationships.UsesNetwork
      properties:
          view_url: /admin/cord/voltservice/$id$/
          kind: vOLT

    # set a pool of addresses that we can hand out for the VSG Wan.
    public_addresses:
      type: tosca.nodes.AddressPool
      properties:
          addresses: 10.123.0.0/24 10.124.0.0/24

    service_vsg:
      type: tosca.nodes.VSGService
      requirements:
          - vbng_tenant:
              node: service_vbng
              relationship: tosca.relationships.TenantOfService
      properties:
          view_url: /admin/cord/vsgservice/$id$/
          backend_network_label: hpc_client
          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
          private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
#          node_label: label_vsg
      artifacts:
          pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key

    service_vbng:
      type: tosca.nodes.VBNGService
      properties:
          view_url: /admin/cord/vbngservice/$id$/
# if unspecified, vbng observer will look for an ONOSApp Tenant and
# generate a URL from its IP address
#          vbng_url: http://10.11.10.24:8181/onos/virtualbng/

    service_ONOS_vBNG:
      type: tosca.nodes.ONOSService
      requirements:
      properties:
          kind: onos
          view_url: /admin/onos/onosservice/$id$/
          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
      artifacts:
          pubkey: /opt/xos/synchronizers/onos/onos_key.pub

#
# To actually bring up the vBNG app
# - Set up the dataplane using the ansible script
# - Log into the vBNG ONOS and run 'devices' to get switch dpID
# - Change the dpID values in vBNG ONOS app in XOS GUI
# - (Synchronizer should copy the files to ONOS container immediately)
# - Log into service_ONOS_vBNG VM and restart ONOS Docker container
#   (Should roll this step into a Synchronizer)
#f
    vBNG_ONOS_app:
      type: tosca.nodes.ONOSvBNGApp
      requirements:
          - onos_tenant:
              node: service_ONOS_vBNG
              relationship: tosca.relationships.TenantOfService
          - vbng_service:
              node: service_vbng
              relationship: tosca.relationships.UsedByService
      properties:
          dependencies: org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd
          config_network-cfg.json: >
            {
              "ports" : {
                "of:0000000000000001/1" : {
                  "interfaces" : [
                    {
                      "ips"  : [ "10.0.1.253/24" ],
                      "mac"  : "00:00:00:00:00:99"
                    }
                  ]
                },
                "of:0000000000000001/2" : {
                  "interfaces" : [
                    {
                      "ips"  : [ "10.254.0.2/24" ],
                      "mac"  : "00:00:00:00:00:98"
                    }
                  ]
                }
              }
            }
          config_virtualbng.json: { get_artifact: [ SELF, virtualbng_json, LOCAL_FILE] }
      artifacts:
          virtualbng_json: /root/setup/virtualbng.json

    service_ONOS_vOLT:
      type: tosca.nodes.ONOSService
      requirements:
      properties:
          kind: onos
          view_url: /admin/onos/onosservice/$id$/
          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
          rest_onos/v1/network/configuration/: >
            {
              "devices" : {
                "of:0000000000000001" : {
                  "accessDevice" : {
                    "uplink" : "2",
                    "vlan"   : "222",
                    "defaultVlan" : "1"
                  },
                  "basic" : {
                    "driver" : "pmc-olt"
                  }
                }
              }
            }
      artifacts:
          pubkey: /opt/xos/synchronizers/onos/onos_key.pub


    vOLT_ONOS_app:
      type: tosca.nodes.ONOSvOLTApp
      requirements:
          - onos_tenant:
              node: service_ONOS_vOLT
              relationship: tosca.relationships.TenantOfService
          - volt_service:
              node: service_volt
              relationship: tosca.relationships.UsedByService
      properties:
          install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
          dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
          component_config: >
             {
                "org.ciena.onos.ext_notifier.KafkaNotificationBridge":{
                   "rabbit.user": "<rabbit_user>",
                   "rabbit.password": "<rabbit_password>",
                   "rabbit.host": "<rabbit_host>",
                   "publish.kafka": "false",
                   "publish.rabbit": "true",
                   "volt.events.rabbit.topic": "notifications.info",
                   "volt.events.rabbit.exchange": "voltlistener",
                   "volt.events.opaque.info": "{project_id: <keystone_tenant_id>, user_id: <keystone_user_id>}",
                   "publish.volt.events": "true"
                }
             }
#          config_network-cfg.json: >
#            {
#              "devices" : {
#                "of:0000000000000001" : {
#                  "accessDevice" : {
#                    "uplink" : "2",
#                    "vlan"   : "222",
#                    "defaultVlan" : "1"
#                  },
#                  "basic" : {
#                    "driver" : "default"
#                  }
#                }
#              }
#            }

    # Network templates
    Private:
      type: tosca.nodes.NetworkTemplate

    Public network hack:
      type: tosca.nodes.NetworkTemplate
      properties:
          visibility: private
          translation: NAT
          shared_network_name: tun0-net


    # Networks required by the CORD setup
    lan_network:
      type: tosca.nodes.network.Network
      properties:
          ip_version: 4
      requirements:
          - network_template:
              node: Private
              relationship: tosca.relationships.UsesNetworkTemplate
          - owner:
              node: mysite_vsg
              relationship: tosca.relationships.MemberOfSlice
          - connection:
              node: mysite_vsg
              relationship: tosca.relationships.ConnectsToSlice
          - connection:
              node: mysite_vsg
              relationship: tosca.relationships.ConnectsToSlice

    wan_network:
      type: tosca.nodes.network.Network
      properties:
          ip_version: 4
      requirements:
          - network_template:
              node: Private
              relationship: tosca.relationships.UsesNetworkTemplate
          - owner:
              node: mysite_vsg
              relationship: tosca.relationships.MemberOfSlice
          - connection:
              node: mysite_vsg
              relationship: tosca.relationships.ConnectsToSlice
          - connection:
              node: mysite_vsg
              relationship: tosca.relationships.ConnectsToSlice

    Private-Direct:
      type: tosca.nodes.NetworkTemplate
      properties:
          access: direct

    Private-Indirect:
      type: tosca.nodes.NetworkTemplate
      properties:
          access: indirect

    subscriber_network:
      type: tosca.nodes.network.Network
      properties:
          ip_version: 4
      requirements:
          - network_template:
              node: Private
              relationship: tosca.relationships.UsesNetworkTemplate
          - owner:
              node: mysite_volt
              relationship: tosca.relationships.MemberOfSlice
          - connection:
              node: mysite_volt
              relationship: tosca.relationships.ConnectsToSlice
          - connection:
              node: mysite_clients
              relationship: tosca.relationships.ConnectsToSlice

    public_network:
      type: tosca.nodes.network.Network
      properties:
      requirements:
          - network_template:
              node: Public network hack
              relationship: tosca.relationships.UsesNetworkTemplate
          - owner:
              node: mysite_vbng
              relationship: tosca.relationships.MemberOfSlice
          - connection:
              node: mysite_vbng
              relationship: tosca.relationships.ConnectsToSlice


    mysite:
      type: tosca.nodes.Site

    label_vsg:
      type: tosca.nodes.NodeLabel

    # CORD Slices
    mysite_vsg:
      description: vSG Controller Slice
      type: tosca.nodes.Slice
      requirements:
          - vsg_service:
              node: service_vsg
              relationship: tosca.relationships.MemberOfService
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite
          - vsg_docker_image:
              node: docker-vsg
              relationship: tosca.relationships.UsesImage
#      properties:
#          default_isolation: container

    mysite_onos_vbng:
      description: ONOS Controller Slice for vBNG
      type: tosca.nodes.Slice
      requirements:
          - ONOS:
              node: service_ONOS_vBNG
              relationship: tosca.relationships.MemberOfService
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite

    mysite_onos_volt:
      description: ONOS Controller Slice for vOLT
      type: tosca.nodes.Slice
      requirements:
          - ONOS:
              node: service_ONOS_vOLT
              relationship: tosca.relationships.MemberOfService
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite

    mysite_vbng:
      description: slice running OVS controlled by vBNG
      type: tosca.nodes.Slice
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite

    mysite_volt:
      description: OVS controlled by vOLT
      type: tosca.nodes.Slice
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite

    mysite_clients:
      description: slice for clients at the subscriber
      type: tosca.nodes.Slice
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite


    # Virtual machines
    onos_app_1:
      type: tosca.nodes.Compute
      capabilities:
        # Host container properties
        host:
         properties:
           num_cpus: 1
           disk_size: 10 GB
           mem_size: 4 MB
        # Guest Operating System properties
        os:
          properties:
            # host Operating System image properties
            architecture: x86_64
            type: linux
            distribution: Ubuntu
            version: 14.10
      requirements:
          - slice:
                node: mysite_onos_vbng
                relationship: tosca.relationships.MemberOfSlice

    onos_app_2:
      type: tosca.nodes.Compute
      capabilities:
        # Host container properties
        host:
         properties:
           num_cpus: 1
           disk_size: 10 GB
           mem_size: 4 MB
        # Guest Operating System properties
        os:
          properties:
            # host Operating System image properties
            architecture: x86_64
            type: linux
            distribution: Ubuntu
            version: 14.10
      requirements:
          - slice:
                node: mysite_onos_volt
                relationship: tosca.relationships.MemberOfSlice

    # VM for running the OVS controlled by vBNG
    ovs_vbng:
      type: tosca.nodes.Compute
      capabilities:
        # Host container properties
        host:
         properties:
           num_cpus: 1
           disk_size: 10 GB
           mem_size: 4 MB
        # Guest Operating System properties
        os:
          properties:
            # host Operating System image properties
            architecture: x86_64
            type: linux
            distribution: ubuntu
            version: 14.04
      requirements:
          - slice:
                node: mysite_vbng
                relationship: tosca.relationships.MemberOfSlice

    # VM for running the OVS controlled by vOLT
    ovs_volt:
      type: tosca.nodes.Compute
      capabilities:
        # Host container properties
        host:
         properties:
           num_cpus: 1
           disk_size: 10 GB
           mem_size: 4 MB
        # Guest Operating System properties
        os:
          properties:
            # host Operating System image properties
            architecture: x86_64
            type: linux
            distribution: ubuntu
            version: 14.04
      requirements:
          - slice:
                node: mysite_volt
                relationship: tosca.relationships.MemberOfSlice

    # A subscriber client VM
    client1:
      type: tosca.nodes.Compute
      capabilities:
        # Host container properties
        host:
         properties:
           num_cpus: 1
           disk_size: 10 GB
           mem_size: 4 MB
        # Guest Operating System properties
        os:
          properties:
            # host Operating System image properties
            architecture: x86_64
            type: linux
            distribution: ubuntu
            version: 14.04
      requirements:
          - slice:
                node: mysite_clients
                relationship: tosca.relationships.MemberOfSlice

    # docker image for vsg containers
    docker-vsg:
      # TODO: need to attach this to mydeployment
      type: tosca.nodes.Image
      properties:
        kind: container
        container_format: na
        disk_format: na
        path: andybavier/docker-vcpe
        tag: develop

    # Let's add a user who can be administrator of the household
    johndoe@myhouse.com:
      type: tosca.nodes.User
      properties:
          password: letmein
          firstname: john
          lastname: doe
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite

    # A subscriber
    My House:
       type: tosca.nodes.CORDSubscriber
       properties:
           service_specific_id: 123
           firewall_enable: false
           cdn_enable: false
           url_filter_enable: false
           url_filter_level: R
       requirements:
          - house_admin:
              node: johndoe@myhouse.com
              relationship: tosca.relationships.AdminPrivilege

    Mom's PC:
       type: tosca.nodes.CORDUser
       properties:
           mac: 01:02:03:04:05:06
           level: PG_13
       requirements:
           - household:
               node: My House
               relationship: tosca.relationships.SubscriberDevice

    Dad's PC:
       type: tosca.nodes.CORDUser
       properties:
           mac: 90:E2:BA:82:F9:75
           level: PG_13
       requirements:
           - household:
               node: My House
               relationship: tosca.relationships.SubscriberDevice

    Jack's Laptop:
       type: tosca.nodes.CORDUser
       properties:
           mac: 68:5B:35:9D:91:D5
           level: PG_13
       requirements:
           - household:
               node: My House
               relationship: tosca.relationships.SubscriberDevice

    Jill's Laptop:
       type: tosca.nodes.CORDUser
       properties:
           mac: 34:36:3B:C9:B6:A6
           level: PG_13
       requirements:
           - household:
               node: My House
               relationship: tosca.relationships.SubscriberDevice

    My Volt:
        type: tosca.nodes.VOLTTenant
        properties:
            service_specific_id: 123
            s_tag: 222
            c_tag: 432
        requirements:
            - provider_service:
                node: service_volt
                relationship: tosca.relationships.MemberOfService
            - subscriber:
                node: My House
                relationship: tosca.relationships.BelongsToSubscriber
