blob: 6e76a43c58c727d40e2d57260c52a9a2d4ce9bde [file] [log] [blame]
Zack Williams682450e2016-11-19 09:04:41 -07001tosca_definitions_version: tosca_simple_yaml_1_0
2
3imports:
4 - custom_types/xos.yaml
5
Zack Williamsa2763112017-01-03 11:38:38 -07006description: Adds OpenStack compute nodes
Zack Williams682450e2016-11-19 09:04:41 -07007
8topology_template:
9 node_templates:
10
11# Site/Deployment, fully defined in deployment.yaml
12 {{ site_name }}:
13 type: tosca.nodes.Site
Zack Williamsa2763112017-01-03 11:38:38 -070014 properties:
15 no-delete: true
16 no-create: true
17 no-update: true
Zack Williams682450e2016-11-19 09:04:41 -070018
19 {{ deployment_type }}:
20 type: tosca.nodes.Deployment
Zack Williamsa2763112017-01-03 11:38:38 -070021 properties:
22 no-delete: true
23 no-create: true
24 no-update: true
Zack Williams682450e2016-11-19 09:04:41 -070025
Zack Williamsa2763112017-01-03 11:38:38 -070026# OpenStack compute nodes
Zack Williams5223dd92017-02-28 23:38:02 -070027{% for node in groups['compute'] %}
Zack Williams6ccbed22017-06-26 13:18:05 -070028{% for ext_if in compute_external_interfaces %}
29{% set ansible_ext_if = 'ansible_' ~ ext_if | regex_replace('\W', '_') %}
30{% if hostvars[node][ansible_ext_if] is defined and 'ipv4' in hostvars[node][ansible_ext_if] %}
31{% set node_interface = hostvars[node][ansible_ext_if] %}
32
33# Compute node: {{ node }}, with interface {{ ansible_ext_if }}
Zack Williams682450e2016-11-19 09:04:41 -070034 {{ hostvars[node]['ansible_hostname'] }}:
35 type: tosca.nodes.Node
36 requirements:
37 - site:
38 node: {{ site_name }}
39 relationship: tosca.relationships.MemberOfSite
40 - deployment:
41 node: {{ deployment_type }}
42 relationship: tosca.relationships.MemberOfDeployment
43
Zack Williamsa2763112017-01-03 11:38:38 -070044{% endif %}
Zack Williams682450e2016-11-19 09:04:41 -070045{% endfor %}
Zack Williams6ccbed22017-06-26 13:18:05 -070046{% endfor %}
Zack Williams682450e2016-11-19 09:04:41 -070047