1 # ============LICENSE_START==========================================
2 # ===================================================================
3 # Copyright (c) 2017 AT&T
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #============LICENSE_END============================================
18 ###########################################################
19 # This Blueprint installs ONAP Message Router on Openstack
20 ###########################################################
22 tosca_definitions_version: cloudify_dsl_1_3
25 This blueprint creates a ONAP Message Router
28 - http://www.getcloudify.org/spec/cloudify/4.1/types.yaml
29 - http://cloudify.co/spec/openstack-plugin/2.2.0/plugin.yaml
30 - http://cloudify.co/spec/fabric-plugin/1.5/plugin.yaml
31 - http://www.getcloudify.org/spec/diamond-plugin/1.3.3/plugin.yaml
36 default: https://nexus.onap.org/content/sites/raw
40 default: nexus3.onap.org:10001
52 default: 1.1.0-SNAPSHOT
70 default: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git
77 A Ubuntu 14.04 image, along with the usual
79 default: Ubuntu 14.04 LTS Generic
83 A machine type with more than 2 CPUs, 4096 GB RAM, and 8 GB of disk space.
84 You might want to use 4 CPUs, 8192 MB RAM for the master.
90 User for connecting to agent VM
102 OpenStack keypair name
116 description: username to authenticate to OpenStack
120 description: OpenStack tenant password for openstack_username user
122 openstack_tenant_name:
124 description: OpenStack tenant for VM deploy
128 description: Authentication URL for OpenStack
132 description: OpenStack region
135 openstack_credentials: &openstack_credentials
136 username: { get_input: openstack_username }
137 password: { get_input: openstack_password }
138 tenant_name: { get_input: openstack_tenant_name }
139 auth_url: { get_input: openstack_auth_url }
140 region: { get_input: openstack_region }
145 type: cloudify.openstack.nodes.KeyPair
147 private_key_path: { get_input: key_filename }
148 use_external_resource: true
149 resource_id: { get_input: keypair_name }
150 openstack_config: *openstack_credentials
153 type: cloudify.openstack.nodes.Network
155 use_external_resource: true
156 resource_id: { get_input: app_subnet }
157 openstack_config: *openstack_credentials
160 type: cloudify.openstack.nodes.Network
162 openstack_config: *openstack_credentials
163 use_external_resource: true
164 resource_id: { get_input: external_network}
167 type: cloudify.openstack.nodes.SecurityGroup
169 openstack_config: *openstack_credentials
170 use_external_resource: true
171 resource_id: { get_input: security_group }
174 type: cloudify.openstack.nodes.Port
176 openstack_config: *openstack_credentials
178 - type: cloudify.relationships.contained_in
180 - type: cloudify.openstack.port_connected_to_security_group
181 target: app_security_group
184 type: cloudify.openstack.nodes.FloatingIP
186 openstack_config: *openstack_credentials
188 cloudify.interfaces.lifecycle:
192 floating_network_name: { get_input: external_network }
195 type: cloudify.openstack.nodes.Server
197 openstack_config: *openstack_credentials
199 image: { get_input: image }
200 flavor: { get_input: flavor }
201 resource_id: { get_input: vm_instancename }
202 management_network_name: { get_input: app_subnet }
203 ip: { get_attribute: [VM_001_floating_ip, floating_ip_address] }
205 - type: cloudify.openstack.server_connected_to_floating_ip
206 target: VM_001_floating_ip
207 - type: cloudify.openstack.server_connected_to_keypair
209 - type: cloudify.openstack.server_connected_to_port
210 target: VM_001_fixed_ip
214 type: cloudify.nodes.SoftwareComponent
217 cloudify.interfaces.lifecycle:
219 implementation: fabric.fabric_plugin.tasks.run_script
221 script_path: scripts/messagerouter.sh
225 [{ get_attribute: [VM_001_floating_ip, floating_ip_address]},
226 { get_attribute: [VM_001_fixed_ip, fixed_ip_address]},
227 { get_input: nexus_repo },
228 { get_input: docker_repo},
229 { get_input: nexus_username },
230 { get_input: nexus_password },
231 { get_input: artifacts_version },
232 { get_input: dns_ip},
233 { get_input: gerrit_branch },
235 { get_input: external_dns},
236 { get_input: mr_repo}]
238 host_string: { get_attribute: [VM_001_floating_ip, floating_ip_address]}
239 user: { get_input: ssh_user }
240 key_filename: { get_input: key_filename }
242 - type: cloudify.relationships.contained_in
244 - type: cloudify.relationships.depends_on
245 target: VM_001_floating_ip
249 description: informations about Messgae Router
251 ip: { get_attribute: [VM_001_floating_ip, floating_ip_address] }