tosca-parser/samples/tests/data/tosca_elk.yaml
Yoshiro Watanabe 1b9281a22c 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
{tosca-parser_root}/toscaparser/tests to under
{tosca-parser_root}/samples/tests.

This patch also contains the following changes:
* Removed unused test samples.
* Fixed usage.rst command example.
* Changeing unit tests that reference external URL to use mock
* Mock methods used in unit tests have been made into common methods.

Change-Id: I80ab6ce0b3344f19afb4d16554c799747b1f2567
2024-07-04 06:42:25 +00:00

218 lines
6.7 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: elasticsearch
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 ] }