tosca_definitions_version: tosca_simple_yaml_1_0

description: >
    * Adds OpenCloud Sites, Deployments, and Controllers.

imports:
   - custom_types/xos.yaml

topology_template:
  node_templates:

    Stanford_Deployment:
      type: tosca.nodes.Deployment
      properties:
          flavors: m1.large, m1.medium, m1.small

    computeBBU1:
      type: tosca.nodes.Node
      requirements:
        - site:
            node: Stanford_University
            relationship: tosca.relationships.MemberOfSite
        - deployment:
            node: Stanford_Deployment
            relationship: tosca.relationships.MemberOfDeployment

    computeBBU2:
      type: tosca.nodes.Node
      requirements:
        - site:
            node: Stanford_University
            relationship: tosca.relationships.MemberOfSite
        - deployment:
            node: Stanford_Deployment
            relationship: tosca.relationships.MemberOfDeployment

    McordOpenStack:
      type: tosca.nodes.Controller
      requirements:
          - deployment:
              node: Stanford_Deployment
              relationship: tosca.relationships.ControllerDeployment
      properties:
          backend_type: OpenStack
          version: Kilo
          auth_url: { get_script_env: [ SELF, adminrc, OS_AUTH_URL, LOCAL_FILE] }
          admin_user: { get_script_env: [ SELF, adminrc, OS_USERNAME, LOCAL_FILE] }
          admin_password: { get_script_env: [ SELF, adminrc, OS_PASSWORD, LOCAL_FILE] }
          admin_tenant: { get_script_env: [ SELF, adminrc, OS_TENANT_NAME, LOCAL_FILE] }
          domain: Default
      artifacts:
          adminrc: /root/setup/admin-openrc.sh

    Stanford_University:
      type: tosca.nodes.Site
      properties:
          display_name: Stanford University
          site_url: http://xosproject.org/
      requirements:
          - deployment:
               node: Stanford_Deployment
               relationship: tosca.relationships.SiteDeployment
               requirements:
                   - controller:
                       node: McordOpenStack
                       relationship: tosca.relationships.UsesController

    # This user already exists in XOS with this password
    # It's an example of how to create new users
    padmin@vicci.org:
      type: tosca.nodes.User
      requirements:
          - site:
              node: Stanford_University
              relationship: tosca.relationships.MemberOfSite
      properties:
          is_admin: true
          is_active: true
          firstname: XOS
          lastname: admin
          password: letmein

    johndoe@stanford.us:
      type: tosca.nodes.User
      properties:
          password: letmein
          firstname: john
          lastname: doe
      requirements:
          - site:
              node: Stanford_University
              relationship: tosca.relationships.MemberOfSite
    
    # A subscriber
    Stanford:
       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@stanford.us
              relationship: tosca.relationships.AdminPrivilege

    Barbera Lapinski:
       type: tosca.nodes.CORDUser
       properties:
           mac: 01:02:03:04:05:06
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    Norbert Shumway:
       type: tosca.nodes.CORDUser
       properties:
           mac: 90:E2:BA:82:F9:75
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    Fay Muldoon:
       type: tosca.nodes.CORDUser
       properties:
           mac: 68:5B:35:9D:91:D5
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    Janene Earnest:
       type: tosca.nodes.CORDUser
       properties:
           mac: 34:36:3B:C9:B6:A6
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    RRU:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vBBU
          icon_url: /static/mCordServices/service_rru.png
          kind: RAN
    vBBU:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vBBU
          icon_url: /static/mCordServices/service_server.png
          kind: RAN

    eSON:
      type: tosca.nodes.Service
      properties:
          icon_url: /static/mCordServices/service_server.png
          view_url: http://www.google.com
          kind: RAN

    # EPC
    vMME:
      type: tosca.nodes.Service
      properties:
          icon_url: /static/mCordServices/service_server.png
          view_url: /mcord/?service=vMME
          kind: vEPC

    vSGW:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vSGW
          icon_url: /static/mCordServices/service_server.png
          kind: vEPC

    vPGW:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vPGW
          icon_url: /static/mCordServices/service_server.png
          kind: vEPC

    # EDGE
    Cache:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Cache
          icon_url: /static/mCordServices/service_cache.png
          kind: EDGE

    Firewall:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Firewall
          icon_url: /static/mCordServices/service_firewall.png
          kind: EDGE

    Video Optimization:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Video%20Optimization
          icon_url: /static/mCordServices/service_video.png
          kind: EDGE


