| {%- from "ironic/map.jinja" import client with context %} |
| {%- if client.enabled %} |
| |
| ironic_client_pkg: |
| pkg.installed: |
| - names: {{ client.pkgs }} |
| - install_recommends: False |
| |
| {%- for identity_name, nodes in client.nodes.iteritems() %} |
| {%- for node in nodes %} |
| |
| node_{{ node.name }}_present: |
| ironicng.node_present: |
| - name: {{ node.name }} |
| - driver: {{ node.driver }} |
| - properties: {{ node.properties|default({}) }} |
| - profile: {{ identity_name }} |
| - driver_info: {{ node.driver_info|default({}) }} |
| |
| {%- if node.ports is defined %} |
| {%- for port in node.ports %} |
| |
| {{ node.name }}_port{{ loop.index }}_present: |
| ironicng.port_present: |
| - address: {{ port.address }} |
| - node_name: {{ node.name }} |
| - profile: {{ identity_name }} |
| |
| {%- endfor %} # end for ports |
| {%- endif %} # end if node.ports defined |
| |
| {%- endfor %} # end for nodes |
| {%- endfor %} # end client.nodes.iteritems |
| |
| {%- endif %} # end if client.enabled |