heat-translator/samples/tests/data/tosca_elk.yaml
Yasufumi Ogawa 7febd72cce Move test samples to reduce setuptools warnings
Previously there are a lot of warning messages of setuptools in the log
files of tox jobs. This is mainly caused by test samples because these
are in python codes directories.

This patch moves test samples from under
{heat-translator_root}/translator/tests to under
{heat-translator_root}/samples/tests.

This patch also contains the following changes:
- Remove "skipsdist = True" from tox.ini
- Fixed usage.rst command example

Change-Id: Ibde711a4778e238076de328641da7b0edd1d4f4b
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Co-Authored-By: Yoshiro Watanabe <fj3838ct@fujitsu.com>
2024-11-21 09:45:09 +00:00

220 lines
6.8 KiB
YAML

tosca_definitions_version: tosca_simple_yaml_1_0
description: >
This TOSCA simple profile deploys nodejs, mongodb, elasticsearch, logstash
and kibana each on a separate server with monitoring enabled for nodejs
server where a sample nodejs application is running. The rsyslog and collectd
are installed on a nodejs server.
imports:
- custom_types/paypalpizzastore_nodejs_app.yaml
- custom_types/elasticsearch.yaml
- custom_types/logstash.yaml
- custom_types/kibana.yaml
- custom_types/collectd.yaml
- custom_types/rsyslog.yaml
dsl_definitions:
host_capabilities: &host_capabilities
disk_size: 10 GB
num_cpus: { get_input: my_cpus }
mem_size: 4096 MB
os_capabilities: &os_capabilities
architecture: x86_64
type: Linux
distribution: Ubuntu
version: 14.04
topology_template:
inputs:
my_cpus:
type: integer
description: Number of CPUs for the server.
constraints:
- valid_values: [ 1, 2, 4, 8 ]
default: 1
github_url:
type: string
description: The URL to download nodejs.
default: http://github.com/paypal/rest-api-sample-app-nodejs.git
node_templates:
paypal_pizzastore:
type: tosca.nodes.WebApplication.PayPalPizzaStore
properties:
github_url: { get_input: github_url }
requirements:
- host: nodejs
- database_connection: mongo_db
interfaces:
Standard:
configure:
implementation: nodejs/config.sh
inputs:
github_url: { get_property: [ SELF, github_url ] }
mongodb_ip: { get_attribute: [mongo_server, private_address] }
start: nodejs/start.sh
nodejs:
type: tosca.nodes.WebServer
requirements:
- host: app_server
interfaces:
Standard:
create: nodejs/create.sh
mongo_db:
type: tosca.nodes.Database
requirements:
- host: mongo_dbms
interfaces:
Standard:
create: mongodb/create_database.sh
mongo_dbms:
type: tosca.nodes.DBMS
requirements:
- host: mongo_server
interfaces:
Standard:
create: mongodb/create.sh
configure:
implementation: mongodb/config.sh
inputs:
mongodb_ip: { get_attribute: [mongo_server, private_address] }
start: mongodb/start.sh
elasticsearch:
type: tosca.nodes.SoftwareComponent.Elasticsearch
requirements:
- host: elasticsearch_server
interfaces:
Standard:
create: elasticsearch/create.sh
start: elasticsearch/start.sh
logstash:
type: tosca.nodes.SoftwareComponent.Logstash
requirements:
- host: logstash_server
- search_endpoint:
node: elasticsearch
capability: search_endpoint
relationship:
type: tosca.relationships.ConnectsTo
interfaces:
Configure:
pre_configure_source:
implementation: logstash/configure_elasticsearch.py
inputs:
elasticsearch_ip: { get_attribute: [elasticsearch_server, private_address] }
interfaces:
Standard:
create: logstash/create.sh
start: logstash/start.sh
kibana:
type: tosca.nodes.SoftwareComponent.Kibana
requirements:
- host: kibana_server
- search_endpoint:
node: elasticsearch
capability: search_endpoint
interfaces:
Standard:
create: kibana/create.sh
configure:
implementation: kibana/config.sh
inputs:
elasticsearch_ip: { get_attribute: [elasticsearch_server, private_address] }
kibana_ip: { get_attribute: [kibana_server, private_address] }
start: kibana/start.sh
app_collectd:
type: tosca.nodes.SoftwareComponent.Collectd
requirements:
- host: 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
app_rsyslog:
type: tosca.nodes.SoftwareComponent.Rsyslog
requirements:
- host: app_server
- log_endpoint:
node: logstash
capability: log_endpoint
relationship:
type: tosca.relationships.ConnectsTo
interfaces:
Configure:
pre_configure_target:
implementation: logstash/configure_rsyslog.py
interfaces:
Standard:
create: rsyslog/create.sh
configure:
implementation: rsyslog/config.sh
inputs:
logstash_ip: { get_attribute: [logstash_server, private_address] }
start: rsyslog/start.sh
app_server:
type: tosca.nodes.Compute
capabilities:
host:
properties: *host_capabilities
os:
properties: *os_capabilities
mongo_server:
type: tosca.nodes.Compute
capabilities:
host:
properties: *host_capabilities
os:
properties: *os_capabilities
elasticsearch_server:
type: tosca.nodes.Compute
capabilities:
host:
properties: *host_capabilities
os:
properties: *os_capabilities
logstash_server:
type: tosca.nodes.Compute
capabilities:
host:
properties: *host_capabilities
os:
properties: *os_capabilities
kibana_server:
type: tosca.nodes.Compute
capabilities:
host:
properties: *host_capabilities
os:
properties: *os_capabilities
outputs:
nodejs_url:
description: URL for the nodejs server, http://<IP>:3000
value: { get_attribute: [ app_server, private_address ] }
mongodb_url:
description: URL for the mongodb server.
value: { get_attribute: [ mongo_server, private_address ] }
elasticsearch_url:
description: URL for the elasticsearch server.
value: { get_attribute: [ elasticsearch_server, private_address ] }
logstash_url:
description: URL for the logstash server.
value: { get_attribute: [ logstash_server, private_address ] }
kibana_url:
description: URL for the kibana server.
value: { get_attribute: [ kibana_server, private_address ] }