7febd72cce
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>
220 lines
6.8 KiB
YAML
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 ] }
|