blob: 7b2b37b1747999eb2f7ff8f05d81dd4b8106d5ba [file] [log] [blame]
tosca_definitions_version: tosca_simple_yaml_1_0
description: Setup MCORD-related services.
imports:
- custom_types/xos.yaml
node_types:
tosca.nodes.MCORDService:
derived_from: tosca.nodes.Root
description: >
An XOS Service object. Services may be listed in the Service
directory and may be linked together via Tenancy Relationships.
capabilities:
scalable:
type: tosca.capabilities.Scalable
service:
type: tosca.capabilities.xos.Service
properties:
no-delete:
type: boolean
default: false
description: Do not allow Tosca to delete this object
no-create:
type: boolean
default: false
description: Do not allow Tosca to create this object
no-update:
type: boolean
default: false
description: Do not allow Tosca to update this object
kind:
type: string
default: RAN
description: Type of service.
view_url:
type: string
required: false
description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
description: Public key to install into Instances to allows Services to SSH into them.
private_key_fn:
type: string
required: false
description: Location of private key file
versionNumber:
type: string
required: false
description: Version number of Service.
#VMME service node type; should probably be switched with generic MCORDservice node
tosca.nodes.VMMEService:
derived_from: tosca.nodes.Root
description: >
An XOS Service object. Services may be listed in the Service
directory and may be linked together via Tenancy Relationships.
capabilities:
scalable:
type: tosca.capabilities.Scalable
service:
type: tosca.capabilities.xos.Service
properties:
no-delete:
type: boolean
default: false
description: Do not allow Tosca to delete this object
no-create:
type: boolean
default: false
description: Do not allow Tosca to create this object
no-update:
type: boolean
default: false
description: Do not allow Tosca to update this object
kind:
type: string
default: RAN
description: Type of service.
view_url:
type: string
required: false
description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
description: Public key to install into Instances to allows Services to SSH into them.
private_key_fn:
type: string
required: false
description: Location of private key file
versionNumber:
type: string
required: false
description: Version number of Service.
#VMME tenant node type
tosca.nodes.VMMETenant:
derived_from: tosca.nodes.Root
description: >
A Tenant of the VMME Service
properties:
kind:
type: string
default: vEPC
description: Kind of tenant
service_specific_id:
type: string
required: false
description: Service specific ID opaque to XOS but meaningful to service
s1mme_tag:
type: string
required: false
default: 600 #chosen at random
description: VTN stag port-name
tenant_message:
type: string
required: false
default: New vMME Tenant
description: Just a message
tosca.nodes.VBBUComponent:
derived_from: tosca.nodes.Root
description: >
CORD: vBBU Component of MCORD Service.
properties:
kind:
type: string
default: RAN
description: Kind of component
s1u_tag:
type: string
required: false
default: 901
description: VTN stag port-name
s1mme_tag:
type: string
required: false
default: 900
description: VTN stag port-name
rru_tag:
type: string
required: false
default: 999
description: VTN stag port-name
display_message:
type: string
required: false
default: New vBBU Component
description: Just a message
tosca.nodes.VPGWCComponent:
derived_from: tosca.nodes.Root
description: >
CORD: vPGWC Component of MCORD Service.
properties:
kind:
type: string
default: VPGWC_KIND
description: Kind of component
s5s8_pgw_tag:
type: string
required: false
default: 300
description: VTN stag port-name
display_message:
type: string
required: false
default: New vPGWc Component
description: Just a message
tosca.nodes.VSGWTenant:
derived_from: tosca.nodes.Root
description: >
A Tenant of the VSGW Service
properties:
kind:
type: string
default: generic
description: Kind of tenant
service_specific_id:
type: string
required: false
description: Service specific ID opaque to XOS but meaningful to service
tenant_message:
type: string
required: false
default: New vSGW Tenant
description: Just a message
topology_template:
node_templates:
vBBU:
type: tosca.nodes.MCORDService
requirements:
properties:
kind: RAN
icon_url: /static/mCordServices/service_server.png
view_url: /admin/vbbu/vbbucomponent
public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
private_key_fn: /opt/xos/services/vbbu/keys/vBBU_rsa
artifacts:
pubkey: /opt/xos/services/vbbu/keys/vBBU_rsa.pub
vPGWC:
type: tosca.nodes.MCORDService
requirements:
properties:
kind: vEPC
icon_url: /static/mCordServices/service_server.png
view_url: /admin/vpgwc/vpgwccomponent
public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
private_key_fn: /opt/xos/services/vpgwc/keys/vPGWC_rsa
artifacts:
pubkey: /opt/xos/services/vpgwc/keys/vPGWC_rsa.pub
vSGW:
type: tosca.nodes.MCORDService
requirements:
properties:
kind: vEPC
icon_url: /static/mCordServices/service_server.png
view_url: /admin/vsgw/vsgwtenant
public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
private_key_fn: /opt/xos/services/vsgw/keys/vSGW_rsa
artifacts:
pubkey: /opt/xos/services/vsgw/keys/vSGW_rsa.pub
m1.xlarge:
type: tosca.nodes.Flavor
Private:
type: tosca.nodes.NetworkTemplate
External:
type: tosca.nodes.NetworkTemplate
management_template:
type: tosca.nodes.NetworkTemplate
properties:
visibility: private
translation: none
management:
type: tosca.nodes.network.Network.XOS
# properties:
# no-create: true
# no-delete: true
# no-update: true
lan_3gpp_s1mme_network:
type: tosca.nodes.network.Network.XOS
properties:
ip_version: 4
labels: lan_3gpp_s1uc_net
cidr: 172.16.1.0/24
start_ip: 172.16.1.3
end_ip: 172.16.1.12
gateway_ip: 172.16.1.1
requirements:
- network_template:
node: External
relationship: tosca.relationships.UsesNetworkTemplate
- owner:
node: mysite_mobile_net
relationship: tosca.relationships.MemberOfSlice
- connection:
node: mysite_vbbu_slice1
relationship: tosca.relationships.ConnectsToSlice
lan_3gpp_s1u_network:
type: tosca.nodes.network.Network.XOS
properties:
ip_version: 4
labels: lan_3gpp_s1u_net
cidr: 172.16.2.0/24
start_ip: 172.16.2.3
end_ip: 172.16.2.12
gateway_ip: 172.16.16.1
requirements:
- network_template:
node: External
relationship: tosca.relationships.UsesNetworkTemplate
- owner:
node: mysite_mobile_net
relationship: tosca.relationships.MemberOfSlice
- connection:
node: mysite_vbbu_slice1
relationship: tosca.relationships.ConnectsToSlice
lan_rru_network:
type: tosca.nodes.network.Network.XOS
properties:
ip_version: 4
labels: lan_rru_net
cidr: 172.16.0.0/24
start_ip: 172.16.0.3
end_ip: 172.16.0.12
gateway_ip: 172.16.0.1
requirements:
- network_template:
node: External
relationship: tosca.relationships.UsesNetworkTemplate
- owner:
node: mysite_mobile_net
relationship: tosca.relationships.MemberOfSlice
- connection:
node: mysite_vbbu_slice1
relationship: tosca.relationships.ConnectsToSlice
lan_3gpp_s5s8_pgw_network:
type: tosca.nodes.network.Network.XOS
properties:
ip_version: 4
labels: lan_3gpp_s5s8_pgw_net
cidr: 172.17.1.0/24
start_ip: 172.17.1.2
end_ip: 172.17.1.8
gateway_ip: 172.17.1.1
requirements:
- network_template:
node: External
relationship: tosca.relationships.UsesNetworkTemplate
- owner:
node: mysite_mobile_net
relationship: tosca.relationships.MemberOfSlice
- connection:
node: mysite_vpgwc_slice1
relationship: tosca.relationships.ConnectsToSlice
shared_network:
type: tosca.nodes.network.Network.XOS
properties:
ip_version: 4
cidr: 172.17.8.0/24
requirements:
- network_template:
node: External
relationship: tosca.relationships.UsesNetworkTemplate
- owner:
node: mysite_mobile_net
relationship: tosca.relationships.MemberOfSlice
- slice:
node: mysite_mobile_net
relationship: tosca.relationships.ConnectsToSlice
mysite:
type: tosca.nodes.Site
mcord-bbu-multi-nic:
type: tosca.nodes.Image
mcord-vpgwc-onos-multi-nic:
type: tosca.nodes.Image
trusty-server-multi-nic:
type: tosca.nodes.Image
mysite_management:
description: This slice exists solely to own the management network
type: tosca.nodes.Slice
properties:
network: noauto
requirements:
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
mysite_mobile_net:
description: This slice exists solely to own the mobile network
type: tosca.nodes.Slice
properties:
network: noauto
requirements:
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
mysite_vbbu_slice1:
description: vBBU Service Slice 1
type: tosca.nodes.Slice
requirements:
- vBBU:
node: vBBU
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- default_image:
node: mcord-bbu-multi-nic
relationship: tosca.relationships.DefaultImage
- default_flavor:
node: m1.xlarge
relationship: tosca.relationships.DefaultFlavor
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
- connection:
node: shared_network
relationship: tosca.relationships.ConnectsToNetwork
properties:
network: noauto
# default_flavor: m1.xlarge
#default_node: computeBBU2
mysite_vpgwc_slice1:
description: vPGWC Service Slice 1
type: tosca.nodes.Slice
requirements:
- vPGWC:
node: vPGWC
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- default_image:
node: mcord-vpgwc-onos-multi-nic
relationship: tosca.relationships.DefaultImage
- default_flavor:
node: m1.xlarge
relationship: tosca.relationships.DefaultFlavor
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
- connection:
node: shared_network
relationship: tosca.relationships.ConnectsToNetwork
properties:
network: noauto
mysite_vsgw_slice1:
description: vSGW Service Slice 1
type: tosca.nodes.Slice
requirements:
- vSGW:
node: vSGW
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- default_image:
node: trusty-server-multi-nic
relationship: tosca.relationships.DefaultImage
- default_flavor:
node: m1.xlarge
relationship: tosca.relationships.DefaultFlavor
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
properties:
network: noauto
mysite_vmme_slice1:
description: vMME Service Slice 1
type: tosca.nodes.Slice
requirements:
- vMME:
node: vMME
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- default_image:
node: trusty-server-multi-nic
relationship: tosca.relationships.DefaultImage
- default_flavor:
node: m1.xlarge
relationship: tosca.relationships.DefaultFlavor
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
properties:
network: noauto
#vMME node type
vMME:
type: tosca.nodes.VMMEService
requirements:
- management:
node: management
relationship: tosca.relationships.UsesNetwork
properties:
kind: vEPC
icon_url: /static/mCordServices/service_server.png
view_url: /admin/vmme/vmmetenant
public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
private_key_fn: /opt/xos/services/vmme/keys/vMME_rsa
artifacts:
pubkey: /opt/xos/services/vmme/keys/vMME_rsa.pub
tenant#vmmetenant1:
type: tosca.nodes.VMMETenant
properties:
tenant_message: just a message
requirements:
- tenant:
node: vMME
relationship: tosca.relationships.MemberOfService
- dependency:
node: mysite_vmme_slice1
relationship: tosca.relationships.DependsOn
#default_node: compute10
# mysite_VPGWC_Component:
# description: MCORD Service default Component
# type: tosca.nodes.VPGWCComponent
# requirements:
# - provider_service:
# node: vPGWC
# relationship: tosca.relationships.MemberOfService
# - vpgwc_slice:
# node: mysite_vpgwc_slice1
# relationship: tosca.relationships.MemberOfSlice
# properties:
# display_message: vPGWC looks good!
# s5s8_pgw_tag: 300