81 lines
2.3 KiB
YAML
81 lines
2.3 KiB
YAML
tosca_definitions_version: tosca_simple_yaml_1_0
|
|
|
|
description: >
|
|
A template to test host assignment for translated hot resources.
|
|
It makes sure if a resource depends on multiple hosts only the
|
|
one with the "HostedOn" relationship is picked as the host. In
|
|
this template, the translated resource 'app_collectd_create_deploy'
|
|
would depend on 'logstash_server' and 'app_server'. But it would
|
|
have "HostedOn" relationship with 'app_server', and that server
|
|
would be its host.
|
|
|
|
imports:
|
|
- custom_types/logstash.yaml
|
|
- custom_types/collectd.yaml
|
|
- custom_types/rsyslog.yaml
|
|
- custom_types/elasticsearch.yaml
|
|
|
|
dsl_definitions:
|
|
host_capabilities: &host_capabilities
|
|
# compute properties (flavor)
|
|
disk_size: 10 GB
|
|
num_cpus: 1
|
|
mem_size: 4096 MB
|
|
os_capabilities: &os_capabilities
|
|
architecture: x86_64
|
|
type: Linux
|
|
distribution: Ubuntu
|
|
version: 14.04
|
|
|
|
topology_template:
|
|
node_templates:
|
|
app_collectd:
|
|
type: tosca.nodes.SoftwareComponent.Collectd
|
|
requirements:
|
|
- host:
|
|
node: app_server
|
|
- log_endpoint:
|
|
node: logstash
|
|
capability: log_endpoint
|
|
relationship:
|
|
type: tosca.relationships.ConnectsTo
|
|
interfaces:
|
|
Configure:
|
|
pre_configure_target:
|
|
implementation: logstash/configure_collectd.py
|
|
interfaces:
|
|
Standard:
|
|
create: collectd/create.sh
|
|
configure:
|
|
implementation: collectd/config.py
|
|
inputs:
|
|
logstash_ip: { get_attribute: [logstash_server, private_address] }
|
|
start: collectd/start.sh
|
|
|
|
logstash:
|
|
type: tosca.nodes.SoftwareComponent.Logstash
|
|
requirements:
|
|
- host:
|
|
node: logstash_server
|
|
interfaces:
|
|
Standard:
|
|
create: logstash/create.sh
|
|
start: logstash/start.sh
|
|
|
|
app_server:
|
|
type: tosca.nodes.Compute
|
|
capabilities:
|
|
os:
|
|
properties: *os_capabilities
|
|
host:
|
|
properties: *host_capabilities
|
|
|
|
logstash_server:
|
|
type: tosca.nodes.Compute
|
|
capabilities:
|
|
os:
|
|
properties: *os_capabilities
|
|
host:
|
|
properties: *host_capabilities
|
|
|