blob: 089837dfd94d330023021d6d147e1e2e3981bd62 [file] [log] [blame]
tosca_definitions_version: tosca_simple_yaml_1_0
description: Setup CORD-related services -- vOLT, vCPE, vBNG.
imports:
- custom_types/xos.yaml
node_types:
tosca.nodes.SFlowService:
derived_from: tosca.nodes.Root
description: >
XOS SFlow Collection Service
capabilities:
scalable:
type: tosca.capabilities.Scalable
service:
type: tosca.capabilities.xos.Service
properties:
kind:
type: string
default: generic
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.
sflow_port:
type: integer
required: false
default: 6343
description: sFlow listening port
sflow_api_port:
type: integer
required: false
default: 33333
description: sFlow publish subscribe api listening port
tosca.nodes.CeilometerService:
derived_from: tosca.nodes.Root
description: >
XOS Ceilometer Service
capabilities:
scalable:
type: tosca.capabilities.Scalable
service:
type: tosca.capabilities.xos.Service
properties:
kind:
type: string
default: generic
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.
ceilometer_pub_sub_url:
type: string
required: false
description: REST URL of ceilometer PUB/SUB component
tosca.nodes.CeilometerTenant:
derived_from: tosca.nodes.Root
description: >
CORD: A Tenant of the Ceilometer Service.
properties:
kind:
type: string
default: generic
description: Kind of tenant
topology_template:
node_templates:
service_ceilometer:
type: tosca.nodes.CeilometerService
requirements:
properties:
view_url: /admin/ceilometer/ceilometerservice/$id$/
kind: ceilometer
ceilometer_pub_sub_url: http://130.127.133.58:4455/
public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
artifacts:
pubkey: /opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key
service_sflow:
type: tosca.nodes.SFlowService
requirements:
properties:
view_url: /admin/ceilometer/sflowservice/$id$/
kind: sflow
sflow_port: 6343
sflow_api_port: 33333
Private:
type: tosca.nodes.NetworkTemplate
#
# ceilometer_network:
# type: tosca.nodes.network.Network.XOS
# properties:
# ip_version: 4
# labels: ceilometer_client_access
# requirements:
# - network_template:
# node: Private
# relationship: tosca.relationships.UsesNetworkTemplate
# - owner:
# node: mysite_ceilometer
# relationship: tosca.relationships.MemberOfSlice
# - connection:
# node: mysite_ceilometer
# relationship: tosca.relationships.ConnectsToSlice
mysite:
type: tosca.nodes.Site
trusty-server-multi-nic:
type: tosca.nodes.Image
ceilometer-trusty-server-multi-nic:
type: tosca.nodes.Image
m1.small:
type: tosca.nodes.Flavor
mysite_ceilometer:
description: Ceilometer Proxy Slice
type: tosca.nodes.Slice
requirements:
- ceilometer_service:
node: service_ceilometer
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- default_image:
node: ceilometer-trusty-server-multi-nic
relationship: tosca.relationships.DefaultImage
- m1.small:
node: m1.small
relationship: tosca.relationships.DefaultFlavor
properties:
max_instances: 2
mysite_sflow:
description: Slice for sFlow service
type: tosca.nodes.Slice
requirements:
- sflow_service:
node: service_sflow
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- default_image:
node: trusty-server-multi-nic
relationship: tosca.relationships.DefaultImage
- m1.small:
node: m1.small
relationship: tosca.relationships.DefaultFlavor
properties:
max_instances: 2
my_ceilometer_tenant:
description: Ceilometer Service default Tenant
type: tosca.nodes.CeilometerTenant
requirements:
- provider_service:
node: service_ceilometer
relationship: tosca.relationships.MemberOfService
# Virtual machines
sflow_service_instance:
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_sflow
relationship: tosca.relationships.MemberOfSlice
Ceilometer:
type: tosca.nodes.DashboardView
properties:
url: template:xosCeilometerDashboard
Tenant:
type: tosca.nodes.DashboardView
properties:
no-create: true
no-update: true
no-delete: true
padmin@vicci.org:
type: tosca.nodes.User
properties:
firstname: XOS
lastname: admin
is_admin: true
requirements:
- tenant_dashboard:
node: Tenant
relationship: tosca.relationships.UsesDashboard
- ceilometer_dashboard:
node: Ceilometer
relationship: tosca.relationships.UsesDashboard