X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=azure%2Faria%2Faria-extension-cloudify%2Fsrc%2Faria%2Fexamples%2Ftosca-simple-1.0%2Fuse-cases%2Fmulti-tier-1%2Fmulti-tier-1.yaml;fp=azure%2Faria%2Faria-extension-cloudify%2Fsrc%2Faria%2Fexamples%2Ftosca-simple-1.0%2Fuse-cases%2Fmulti-tier-1%2Fmulti-tier-1.yaml;h=50401ec5385e44e9dfab457bca38684ccceff788;hb=7409dfb144cf2a06210400134d822a1393462b1f;hp=0000000000000000000000000000000000000000;hpb=9e65649dfff8f00dc0a0ef6b10d020ae0e2255ba;p=multicloud%2Fazure.git diff --git a/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml b/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml new file mode 100644 index 0000000..50401ec --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml @@ -0,0 +1,237 @@ +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 syslog and collectd are installed on a nodejs server. + +metadata: + template_name: multi-tier-1 + template_author: TOSCA Simple Profile in YAML + template_version: '1.0' + +imports: + - ../webserver-dbms-2/custom_types/paypalpizzastore_nodejs_app.yaml # ARIA NOTE: moved + - 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 + # container properties (flavor) + 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 ] + github_url: + type: string + description: The URL to download nodejs. + default: https://github.com/sample.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: scripts/nodejs/configure.sh + inputs: + github_url: { get_property: [ SELF, github_url ] } + mongodb_ip: { get_attribute: [ mongo_server, private_address ] } + start: scripts/nodejs/start.sh + + nodejs: + type: tosca.nodes.WebServer.Nodejs + requirements: + - host: app_server + interfaces: + Standard: + create: scripts/nodejs/create.sh + + mongo_db: + type: tosca.nodes.Database + properties: + name: 'pizzastore' # ARIA NOTE: missing in spec + requirements: + - host: mongo_dbms + interfaces: + Standard: + create: create_database.sh + + mongo_dbms: + type: tosca.nodes.DBMS + requirements: + - host: mongo_server + interfaces: + Standard: # ARIA NOTE: wrong in spec + create: scripts/mongodb/create.sh + configure: + implementation: scripts/mongodb/config.sh + inputs: + mongodb_ip: { get_attribute: [ mongo_server, private_address ] } # ARIA NOTE: wrong in spec + start: scripts/mongodb/start.sh + + elasticsearch: + type: tosca.nodes.SoftwareComponent.Elasticsearch + requirements: + - host: elasticsearch_server + interfaces: + Standard: # ARIA NOTE: wrong in spec + create: scripts/elasticsearch/create.sh + start: scripts/elasticsearch/start.sh + + logstash: + type: tosca.nodes.SoftwareComponent.Logstash + requirements: + - host: logstash_server + # ARIA NOTE: mangled in the spec + - search_endpoint: + node: elasticsearch + relationship: + interfaces: + Configure: + pre_configure_source: + implementation: python/logstash/configure_elasticsearch.py + inputs: + elasticsearch_ip: { get_attribute: [ elasticsearch_server, private_address ] } # ARIA NOTE: wrong in spec + interfaces: + Standard: # ARIA NOTE: wrong in spec + create: scripts/lostash/create.sh + configure: scripts/logstash/config.sh + start: scripts/logstash/start.sh + + kibana: + type: tosca.nodes.SoftwareComponent.Kibana + requirements: + - host: kibana_server + - search_endpoint: elasticsearch + interfaces: + Standard: # ARIA NOTE: wrong in spec + create: scripts/kibana/create.sh + configure: + implementation: scripts/kibana/config.sh + inputs: + elasticsearch_ip: { get_attribute: [ elasticsearch_server, private_address ] } # ARIA NOTE: wrong in spec + kibana_ip: { get_attribute: [ kibana_server, private_address ] } # ARIA NOTE: wrong in spec + start: scripts/kibana/start.sh + + app_collectd: + type: tosca.nodes.SoftwareComponent.Collectd + requirements: + - host: app_server + # ARIA NOTE: mangled in the spec + - collectd_endpoint: + node: logstash + relationship: + interfaces: + Configure: + pre_configure_target: + implementation: python/logstash/configure_collectd.py + interfaces: + Standard: # ARIA NOTE: wrong in spec + create: scripts/collectd/create.sh + configure: + implementation: python/collectd/config.py + inputs: + logstash_ip: { get_attribute: [ logstash_server, private_address ] } # ARIA NOTE: wrong in spec + start: scripts/collectd/start.sh + + app_rsyslog: + type: tosca.nodes.SoftwareComponent.Rsyslog + requirements: + - host: app_server + # ARIA NOTE: mangled in the spec + - rsyslog_endpoint: + node: logstash + relationship: + interfaces: + Configure: + pre_configure_target: + implementation: python/logstash/configure_rsyslog.py + interfaces: + Standard: # ARIA NOTE: wrong in spec + create: scripts/rsyslog/create.sh + configure: + implementation: scripts/rsyslog/config.sh + inputs: + logstash_ip: { get_attribute: [ logstash_server, private_address ] } # ARIA NOTE: wrong in spec + start: scripts/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. + 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 ] }