tosca_definitions_version: tosca_simple_yaml_1_0

description: Just enough Tosca to get the vSG slice running on the CORD POD

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
          replaces: service_vtr

    service#volt:
      type: tosca.nodes.VOLTService
      requirements:
          - vsg_tenant:
              node: service#vsg
              relationship: tosca.relationships.TenantOfService
      properties:
          view_url: /admin/volt/voltservice/$id$/
          kind: vOLT
          replaces: service_volt
          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
          private_key_fn: /opt/xos/services/volt/keys/volt_rsa
      artifacts:
          pubkey: /opt/xos/services/volt/keys/volt_rsa.pub

    addresses_vsg:
      type: tosca.nodes.AddressPool
      properties:
          addresses: 10.168.0.0/24
          gateway_ip: 10.168.0.1
          gateway_mac: 02:42:0a:a8:00:01

    addresses_exampleservice-public:
      type: tosca.nodes.AddressPool
      properties:
          addresses: 10.168.1.0/24
          gateway_ip: 10.168.1.1
          gateway_mac: 02:42:0a:a8:00:01

    service#vsg:
      type: tosca.nodes.VSGService
      requirements:
          - vrouter_tenant:
              node: service#vrouter
              relationship: tosca.relationships.TenantOfService
      properties:
          view_url: /admin/vsg/vsgservice/$id$/
          backend_network_label: hpc_client
          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
          private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
#          node_label: label_vsg
          replaces: service_vsg
      artifacts:
          pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub

    service#vrouter:
      type: tosca.nodes.VRouterService
      properties:
          view_url: /admin/vrouter/vrouterservice/$id$/
          replaces: service_vrouter
      requirements:
          - addresses_vsg:
              node: addresses_vsg
              relationship: tosca.relationships.ProvidesAddresses
          - addresses_service1:
              node: addresses_exampleservice-public
              relationship: tosca.relationships.ProvidesAddresses


    service#ONOS_CORD:
      type: tosca.nodes.ONOSService
      properties:
          no-delete: true
          no-create: true
          no-update: true

    service#ONOS_Fabric:
      type: tosca.nodes.ONOSService
      properties:
          no-delete: true
          no-create: true
          no-update: true

    # The vOLT ONOS app is not yet fully integrated
    #vOLT_ONOS_app:
    #  type: tosca.nodes.ONOSvOLTApp
    #  requirements:
    #      - onos_tenant:
    #          node: service#ONOS_CORD
    #          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
    #      autogenerate: volt-network-cfg

    vRouter_ONOS_app:
      type: tosca.nodes.ONOSvRouterApp
      requirements:
          - onos_tenant:
              node: service#ONOS_Fabric
              relationship: tosca.relationships.TenantOfService
          - vrouter_service:
              node: service#vrouter
              relationship: tosca.relationships.UsedByService
      properties:
          dependencies: org.onosproject.vrouter
          autogenerate: vrouter-network-cfg

    Private:
      type: tosca.nodes.NetworkTemplate

    management:
      type: tosca.nodes.network.Network.XOS
      properties:
          no-create: true
          no-delete: true
          no-update: true

    image#vsg-1.0:
      type: tosca.nodes.Image

    mysite:
      type: tosca.nodes.Site

    label_vsg:
      type: tosca.nodes.NodeLabel

    # Networks required by the CORD setup
    mysite_vsg-access:
      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

    # CORD Slices
    mysite_vsg:
      description: vSG Controller Slice
      type: tosca.nodes.Slice
      properties:
          network: noauto
      requirements:
          - vsg_service:
              node: service#vsg
              relationship: tosca.relationships.MemberOfService
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite
          - management:
              node: management
              relationship: tosca.relationships.ConnectsToNetwork
          - image:
              node: image#vsg-1.0
              relationship: tosca.relationships.DefaultImage

    # 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
          - dependency:
                node: mysite_vsg
                relationship: tosca.relationships.DependsOn

    # 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: 111
        requirements:
            - provider_service:
                node: service#volt
                relationship: tosca.relationships.MemberOfService
            - subscriber:
                node: My House
                relationship: tosca.relationships.BelongsToSubscriber
            - dependency:
                node: mysite_vsg
                relationship: tosca.relationships.DependsOn
