tosca-parser/toscaparser/tests/data/test_multiple_validation_errors.yaml
Vahid Hashemian b27cd33ad8 Fix more unhandled errors for full validation
Fix some errors that are not being handled for full validation.
They include some invalid node template and outputs property names,
and references to non-existing node templates. Also, add proper
unit tests.

Change-Id: Idba3382f3c8e1fcf6671a166f21ad003fdfbcc6b
Closes-Bug: #1517728
2015-11-25 12:34:37 -08:00

126 lines
3.6 KiB
YAML

tosca_definitions_version: tosca_simple_yaml_1
description: >
TOSCA simple profile with wordpress, web server and mysql on the same server.
imports:
- custom_types/not_there.yaml
topology_template:
inputs:
cpus:
type: integer
description: Number of CPUs for the server.
constraints:
- valid_values: [ 1, 2, 4, 8 ]
default: 1
db_name:
type: string
description: The name of the database.
default: wordpress
db_user:
type: string
description: The user name of the DB user.
default: wp_user
db_pwd:
type: string
description: The WordPress database admin account password.
default: wp_pass
db_root_pwd:
type: string
description: Root password for MySQL.
db_port:
type: PortDef
description: Port for the MySQL database.
default: 3306
node_templates:
wordpress:
type: tosca.nodes.WebApplication.WordPress
requirement:
- host: webserver
- database_endpoint: mysql_database
interfaces:
Standard:
create: wordpress/wordpress_install.sh
configure:
implementation: wordpress/wordpress_configure.sh
inputs:
wp_db_name: { get_property: [ mysql_database, name ] }
wp_db_user: { get_property: [ mysql_database, user ] }
wp_db_password: { get_property: [ mysql_database, password ] }
mysql_database:
type: tosca.nodes.Database
properties:
name: { get_input: db_name }
user: { get_input: db_user }
password: { get_input: db_pwd }
capabilities:
database_endpoint:
properties:
port: { get_input: db_port }
requirements:
- host: mysql_dbms
interfaces:
Standard:
configure:
implementation: mysql/mysql_database_configure.sh
inputs:
db_name: { get_property: [ SELF, name ] }
db_user: { get_property: [ SELF, user ] }
db_password: { get_property: [ SELF, passwords ] }
db_root_password: { get_property: [ mysql_dbms, root_password ] }
mysql_dbms:
type1: tosca.nodes.DBMS
properties:
root_password: { get_input: db_root_pwd }
port: { get_input: db_port }
requirements:
- host: server
interfaces:
Standard:
create:
implementation: mysql/mysql_dbms_install.sh
inputs:
db_root_password: { get_property: [ mysql_dbms, root_password ] }
start: mysql/mysql_dbms_start.sh
configure:
implementation: mysql/mysql_dbms_configure.sh
inputs:
db_port: { get_property: [ mysql_dbms, port ] }
webserver:
type: tosca.nodes.WebServer
requirements:
- host: server1
- database_endpoint:
node: webserver
relationship:
type1: tosca.relationships.ConnectsTo
interfaces:
Standard:
create: webserver/webserver_install.sh
start: webserver/webserver_start.sh
server:
type: tosca.nodes.Compute
capabilities:
host:
properties:
disk_size: 10 GB
num_cpus: { get_input: cpus }
mem_size: 4096 MB
os:
properties:
architecture: x86_64
type: Linux
distribution: Ubuntu
version: 14.04
outputs:
website_url:
description: URL for Wordpress wiki.
value: { get_attribute: [server, private_address] }