1 ###########################################################
2 # This Blueprint installs ONAP SO on Openstack
3 ###########################################################
5 tosca_definitions_version: cloudify_dsl_1_3
8 This blueprint creates a ONAP service orchestrator
11 - http://www.getcloudify.org/spec/cloudify/4.1/types.yaml
12 - http://cloudify.co/spec/openstack-plugin/2.2.0/plugin.yaml
13 - http://cloudify.co/spec/fabric-plugin/1.5/plugin.yaml
14 - http://www.getcloudify.org/spec/diamond-plugin/1.3.3/plugin.yaml
19 default: https://nexus.onap.org/content/sites/raw
23 default: nexus3.onap.org:10001
35 default: 1.1.0-SNAPSHOT
61 default: http://gerrit.onap.org/r/so/docker-config.git
68 A Ubuntu 16.04 image, along with the usual
70 default: Ubuntu 16.04 LTS Generic
74 A machine type with more than 2 CPUs, 4096 GB RAM, and 8 GB of disk space.
75 You might want to use 4 CPUs, 8192 MB RAM for the master.
81 User for connecting to agent VM
86 description: openstack security_group
91 OpenStack keypair name
106 description: username to authenticate to OpenStack
110 description: OpenStack tenant password for openstack_username user
112 openstack_tenant_name:
114 description: OpenStack tenant for VM deploy
118 description: Authentication URL for OpenStack
122 description: OpenStack region
125 openstack_credentials: &openstack_credentials
126 username: { get_input: openstack_username }
127 password: { get_input: openstack_password }
128 tenant_name: { get_input: openstack_tenant_name }
129 auth_url: { get_input: openstack_auth_url }
130 region: { get_input: openstack_region }
135 type: cloudify.openstack.nodes.KeyPair
137 private_key_path: { get_input: key_filename }
138 use_external_resource: true
139 resource_id: { get_input: keypair_name }
140 openstack_config: *openstack_credentials
143 type: cloudify.openstack.nodes.Network
145 use_external_resource: true
146 resource_id: { get_input: app_subnet }
147 openstack_config: *openstack_credentials
150 type: cloudify.openstack.nodes.Network
152 openstack_config: *openstack_credentials
153 use_external_resource: true
154 resource_id: { get_input: external_network}
157 type: cloudify.openstack.nodes.SecurityGroup
159 openstack_config: *openstack_credentials
160 use_external_resource: true
161 resource_id: { get_input: security_group }
164 type: cloudify.openstack.nodes.Port
166 openstack_config: *openstack_credentials
168 - type: cloudify.relationships.contained_in
170 - type: cloudify.openstack.port_connected_to_security_group
171 target: app_security_group
174 type: cloudify.openstack.nodes.FloatingIP
176 openstack_config: *openstack_credentials
178 cloudify.interfaces.lifecycle:
182 floating_network_name: { get_input: external_network }
185 type: cloudify.openstack.nodes.Server
187 openstack_config: *openstack_credentials
189 image: { get_input: image }
190 flavor: { get_input: flavor }
191 resource_id: { get_input: vm_instancename }
192 management_network_name: { get_input: app_subnet }
193 ip: { get_attribute: [VM_001_floating_ip, floating_ip_address] }
195 - type: cloudify.openstack.server_connected_to_floating_ip
196 target: VM_001_floating_ip
197 - type: cloudify.openstack.server_connected_to_keypair
199 - type: cloudify.openstack.server_connected_to_port
200 target: VM_001_fixed_ip
204 type: cloudify.nodes.SoftwareComponent
207 cloudify.interfaces.lifecycle:
209 implementation: fabric.fabric_plugin.tasks.run_script
211 script_path: scripts/so.sh
215 [{ get_attribute: [VM_001_floating_ip, floating_ip_address]},
216 { get_attribute: [VM_001_fixed_ip, fixed_ip_address]},
217 { get_input: nexus_repo },
218 { get_input: docker_repo},
219 { get_input: nexus_username },
220 { get_input: nexus_password },
221 { get_input: artifacts_version },
222 { get_input: dns_ip},
223 { get_input: gerrit_branch },
225 { get_input: external_dns},
226 { get_input: dmaap_topic},
227 { get_input: openstack_username},
228 { get_input: openstack_tenant_name},
229 { get_input: openstack_password},
230 { get_input: openstack_region},
231 { get_input: openstack_auth_url},
232 { get_input: so_repo},
233 { get_input: docker_version }]
235 host_string: { get_attribute: [VM_001_floating_ip, floating_ip_address]}
236 user: { get_input: ssh_user }
237 key_filename: { get_input: key_filename }
239 - type: cloudify.relationships.contained_in
241 - type: cloudify.relationships.depends_on
242 target: VM_001_floating_ip
245 ONAP_Service_Orchestrator:
246 description: informations about Service Orchestrator
248 ip: { get_attribute: [VM_001_floating_ip, floating_ip_address] }