60b043b97178f595cdfe90abd763d568ab28c5a8
[parser.git] /
1 heat_template_version: 2013-05-23
2
3 description: >
4   TOSCA simple profile with wordpress, web server and mysql on the same server.
5
6 parameters:
7   db_name:
8     type: string
9     description: The name of the database.
10     default: wordpress
11   db_user:
12     type: string
13     description: The user name of the DB user.
14     default: wp_user
15   db_pwd:
16     type: string
17     description: The WordPress database admin account password.
18     default: wp_pass
19   cpus:
20     type: number
21     description: Number of CPUs for the server.
22     default: 8
23     constraints:
24     - allowed_values:
25       - 1
26       - 2
27       - 4
28       - 8
29   db_root_pwd:
30     type: string
31     description: Root password for MySQL.
32     default: passw0rd
33   db_port:
34     type: number
35     description: Port for the MySQL database.
36     default: 3366
37
38 resources:
39
40   mysql_dbms_create_config:
41     type: OS::Heat::SoftwareConfig
42     properties:
43       config:
44         get_file: ../Scripts/MYSQLDBMS/install.sh
45       group: script
46
47   mysql_dbms_create_deploy:
48     type: OS::Heat::SoftwareDeployment
49     properties:
50       config:
51         get_resource: mysql_dbms_create_config
52       server:
53         get_resource: server
54
55   mysql_dbms_start_config:
56     type: OS::Heat::SoftwareConfig
57     properties:
58       config:
59         get_file: ../Scripts/MYSQLDBMS/start.sh
60       group: script
61
62   mysql_dbms_start_deploy:
63     type: OS::Heat::SoftwareDeployment
64     properties:
65       config:
66         get_resource: mysql_dbms_start_config
67       server:
68         get_resource: server
69     depends_on:
70     - mysql_dbms_configure_deploy
71
72   mysql_dbms_configure_config:
73     type: OS::Heat::SoftwareConfig
74     properties:
75       config:
76         get_file: ../Scripts/MYSQLDBMS/configure.sh
77       group: script
78
79   mysql_dbms_configure_deploy:
80     type: OS::Heat::SoftwareDeployment
81     properties:
82       config:
83         get_resource: mysql_dbms_configure_config
84       input_values:
85         root_password: passw0rd
86       server:
87         get_resource: server
88     depends_on:
89     - mysql_dbms_create_deploy
90
91   mysql_database_configure_config:
92     type: OS::Heat::SoftwareConfig
93     properties:
94       config:
95         get_file: ../Scripts/MYSQLDatabase/configure.sh
96       group: script
97
98   mysql_database_configure_deploy:
99     type: OS::Heat::SoftwareDeployment
100     properties:
101       config:
102         get_resource: mysql_database_configure_config
103       input_values:
104         db_name: wordpress
105         db_password: wp_pass
106         db_root_password: passw0rd
107         db_user: wp_user
108       server:
109         get_resource: server
110     depends_on:
111     - mysql_dbms_start_deploy
112
113   webserver_create_config:
114     type: OS::Heat::SoftwareConfig
115     properties:
116       config:
117         get_file: ../Scripts/WebServer/install.sh
118       group: script
119
120   webserver_create_deploy:
121     type: OS::Heat::SoftwareDeployment
122     properties:
123       config:
124         get_resource: webserver_create_config
125       server:
126         get_resource: server
127
128   webserver_start_config:
129     type: OS::Heat::SoftwareConfig
130     properties:
131       config:
132         get_file: ../Scripts/WebServer/start.sh
133       group: script
134
135   webserver_start_deploy:
136     type: OS::Heat::SoftwareDeployment
137     properties:
138       config:
139         get_resource: webserver_start_config
140       server:
141         get_resource: server
142     depends_on:
143     - webserver_create_deploy
144
145   wordpress_create_config:
146     type: OS::Heat::SoftwareConfig
147     properties:
148       config:
149         get_file: ../Scripts/WordPress/install.sh
150       group: script
151
152   wordpress_create_deploy:
153     type: OS::Heat::SoftwareDeployment
154     properties:
155       config:
156         get_resource: wordpress_create_config
157       server:
158         get_resource: server
159     depends_on:
160     - webserver_start_deploy
161     - mysql_database_configure_deploy
162
163   wordpress_configure_config:
164     type: OS::Heat::SoftwareConfig
165     properties:
166       config:
167         get_file: ../Scripts/WordPress/configure.sh
168       group: script
169
170   wordpress_configure_deploy:
171     type: OS::Heat::SoftwareDeployment
172     properties:
173       config:
174         get_resource: wordpress_configure_config
175       input_values:
176         wp_db_name: wordpress
177         wp_db_password: wp_pass
178         wp_db_user: wp_user
179       server:
180         get_resource: server
181     depends_on:
182     - wordpress_create_deploy
183
184   server:
185     type: OS::Nova::Server
186     properties:
187       flavor: m1.xlarge
188       image: fedora-amd64-heat-config
189       key_name: userkey
190       user_data_format: SOFTWARE_CONFIG
191
192 outputs:
193   website_url:
194     description: IP address for Wordpress wiki.
195     value:
196       get_attr:
197       - server
198       - networks
199       - private
200       - 0