---
{#
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.
#}

tosca_definitions_version: tosca_simple_yaml_1_0

description: Just enough Tosca to get the vEG slice running on the CORD POD, created by ecord profile

imports:
  - custom_types/addressmanagerservice.yaml
  - custom_types/addresspool.yaml
  - custom_types/image.yaml
  - custom_types/network.yaml
  - custom_types/networkslice.yaml
  - custom_types/networktemplate.yaml
  - custom_types/nodelabel.yaml
  - custom_types/onosapp.yaml
  - custom_types/onosservice.yaml
  - custom_types/service.yaml
  - custom_types/servicedependency.yaml
  - custom_types/serviceinstanceattribute.yaml
  - custom_types/serviceinstancelink.yaml
  - custom_types/site.yaml
  - custom_types/slice.yaml
  - custom_types/vegservice.yaml
  - custom_types/vrouterservice.yaml

topology_template:
  node_templates:

# site, image, fully created in deployment.yaml
    {{ site_name }}:
      type: tosca.nodes.Site
      properties:
        name: {{ site_name }}
        must-exist: true

    image#vsg-1.1:
      type: tosca.nodes.Image
      properties:
        name: vsg-1.1

# management networks, fully created in management-net.yaml
    management:
      type: tosca.nodes.Network
      properties:
        must-exist: true
        name: management

# service that holds ecord subscribers
    service#ecord:
      type: tosca.nodes.Service
      properties:
        name: ecord

{% if use_vtn_net_management_host %}
    management_host:
      type: tosca.nodes.Network
      properties:
        name: management_host
        must-exist: true
{% endif %}

# ONOS_CORD, fully created in vtn.yaml
    service#ONOS_CORD:
      type: tosca.nodes.ONOSService
      properties:
        name: ONOS_CORD
        must-exist: true

# ONOS_Fabric, fully created in fabric.yaml
    service#ONOS_Fabric:
      type: tosca.nodes.ONOSService
      properties:
        name: ONOS_Fabric
        must-exist: true

# CORD Services

# Using same addresses as the r-cord VSG
    addresses_veg:
      type: tosca.nodes.AddressPool
      properties:
        name: addresses_veg
        addresses: {{ addresspool_vsg_cidr }}
        gateway_ip: {{ addresspool_vsg_cidr | ipaddr('1') | ipaddr('address') }}
        gateway_mac: {{ fabric_gateway_hwaddr }}
      requirements:
        - service:
            node: service#addressmanager
            relationship: tosca.relationships.BelongsToOne

    addresses_public:
      type: tosca.nodes.AddressPool
      properties:
        name: addresses_public
        addresses: {{ addresspool_public_cidr }}
        gateway_ip: {{ addresspool_public_cidr | ipaddr('1') | ipaddr('address') }}
        gateway_mac: {{ fabric_gateway_hwaddr }}
      requirements:
        - service:
            node: service#addressmanager
            relationship: tosca.relationships.BelongsToOne

    service#addressmanager:
      type: tosca.nodes.AddressManagerService
      properties:
        name: addressmanager

    label_veg:
      type: tosca.nodes.NodeLabel
      properties:
        name: label_veg

    service#veg:
      type: tosca.nodes.VEGService
      properties:
        name: veg
        public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/veg_rsa.pub') }}
        private_key_fn: /opt/xos/services/veg/keys/veg_rsa
        # node_label: label_veg

    veg_vrouter:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#veg
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#vrouter
            relationship: tosca.relationships.BelongsToOne

    # NOTE are this connected?
    veg_addressmanager:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#veg
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#addressmanager
            relationship: tosca.relationships.BelongsToOne

    service#vrouter:
      type: tosca.nodes.VRouterService
      properties:
        name: vrouter
        rest_hostname: onos-fabric.{{ site_suffix }}
        rest_port: 8181
        rest_user: onos
        rest_pass: rocks
      # NOTE: shouldn't the addresses be attached to address_manager? I don't think vRouter is used now
      # requirements:
      #   - addresses_veg:
      #       node: addresses_veg
      #       relationship: tosca.relationships.ProvidesAddresses
      #   - addresses_public:
      #       node: addresses_public
      #       relationship: tosca.relationships.ProvidesAddresses

    vRouter_ONOS_app:
      type: tosca.nodes.ONOSApp
      requirements:
        - owner:
            node: service#ONOS_Fabric
            relationship: tosca.relationships.BelongsToOne
      properties:
        name: vRouter_ONOS_app
        dependencies: org.onosproject.fpm

    vRouter_ONOS_app_autogenerate:
        type: tosca.nodes.ServiceInstanceAttribute
        requirements:
          - service_instance:
              node: vRouter_ONOS_app
              relationship: tosca.relationships.BelongsToOne
        properties:
            name: autogenerate
            value: vrouter-network-cfg

    vRouter_ONOS_app_ONOS_CORD:
        type: tosca.nodes.ServiceInstanceLink
        requirements:
          - provider_service_instance:
              node: vRouter_ONOS_app
              relationship: tosca.relationships.BelongsToOne
          - subscriber_service:
              node: service#vrouter
              relationship: tosca.relationships.BelongsToOne

    veg_template:
      type: tosca.nodes.NetworkTemplate
      properties:
        name: veg_template
        visibility: private
        translation: none
        vtn_kind: VSG

    # Networks required by the CORD setup
    {{ site_name }}_veg-access:
      type: tosca.nodes.Network
      properties:
        name: {{ site_name }}_veg-access
        # ip_version: 4
      requirements:
        - template:
            node: veg_template
            relationship: tosca.relationships.BelongsToOne
        - owner:
            node: {{ site_name }}_veg
            relationship: tosca.relationships.BelongsToOne

    networkslice#{{ site_name }}_veg-access_to_{{ site_name }}_veg:
      type: tosca.nodes.NetworkSlice
      requirements:
        - network:
            node: {{ site_name }}_veg-access
            relationship: tosca.relationships.BelongsToOne
        - slice:
            node: {{ site_name }}_veg
            relationship: tosca.relationships.BelongsToOne

    # CORD Slices
    {{ site_name }}_veg:
      description: vEG Controller Slice
      type: tosca.nodes.Slice
      properties:
        network: noauto
        name: {{ site_name }}_veg
      requirements:
        - service:
            node: service#veg
            relationship: tosca.relationships.BelongsToOne
        - site:
            node: {{ site_name }}
            relationship: tosca.relationships.BelongsToOne
        - default_image:
            node: image#vsg-1.1
            relationship: tosca.relationships.BelongsToOne

    networkslice#management_to_{{ site_name }}_veg:
        type: tosca.nodes.NetworkSlice
        requirements:
          - network:
              node: management
              relationship: tosca.relationships.BelongsToOne
          - slice:
              node: {{ site_name }}_veg
              relationship: tosca.relationships.BelongsToOne

{% if use_vtn_net_management_host %}
    networkslice#management_host_to_{{ site_name }}_veg:
        type: tosca.nodes.NetworkSlice
        requirements:
          - network:
              node: management_host
              relationship: tosca.relationships.BelongsToOne
          - slice:
            node: {{ site_name }}_veg
            relationship: tosca.relationships.BelongsToOne
{% endif %}

    # TODO: migrate interfaces when we'll start using
    # in#lanside:
    #   type: tosca.nodes.InterfaceType
    #   properties:
    #      direction: in

    # out#lanside:
    #   type: tosca.nodes.InterfaceType
    #   properties:
    #      direction: out

    # in#wanside:
    #   type: tosca.nodes.InterfaceType
    #   properties:
    #      direction: in

    # out#wanside:
    #   type: tosca.nodes.InterfaceType
    #   properties:
    #      direction: out

    # veg_lanside:
    #   type: tosca.nodes.ServiceInterface
    #   requirements:
    #     - service:
    #         node: service#veg
    #         relationship: tosca.relationships.MemberOfService
    #     - interface:
    #         node: in#lanside
    #         relationship: tosca.relationships.IsType

    # veg_wanside:
    #   type: tosca.nodes.ServiceInterface
    #   requirements:
    #     - service:
    #         node: service#veg
    #         relationship: tosca.relationships.MemberOfService
    #     - interface:
    #         node: out#wanside
    #         relationship: tosca.relationships.IsType

    # addressmanager_wanside:
    #   type: tosca.nodes.ServiceInterface
    #   requirements:
    #     - service:
    #         node: service#addressmanager
    #         relationship: tosca.relationships.MemberOfService
    #     - interface:
    #         node: in#wanside
    #         relationship: tosca.relationships.IsType

