blob: e78c35bd2a971e7e91b5b2f972dfce8e5e30d85d [file] [log] [blame]
{%- from "neutron/map.jinja" import client with context %}
{%- if client.enabled %}
neutron_client_packages:
pkg.installed:
- names: {{ client.pkgs }}
{%- for identity_name, identity in client.server.iteritems() %}
{%- for network_name, network in identity.network.iteritems() %}
neutron_openstack_network_{{ network_name }}:
neutronng.network_present:
- name: {{ network_name }}
- profile: {{ identity_name }}
{%- if network.provider_network_type is defined %}
- provider_network_type: {{ network.provider_network_type }}
{%- endif %}
{%- if network.provider_physical_network is defined %}
- provider_physical_network: {{ network.provider_physical_network }}
{%- endif %}
{%- if network.router_external is defined %}
- router_external: {{ network.router_external }}
{%- endif %}
{%- if network.admin_state_up is defined %}
- admin_state_up: {{ network.admin_state_up }}
{%- endif %}
{%- if network.shared is defined %}
- shared: {{ network.shared }}
{%- endif %}
{%- if network.provider_segmentation_id is defined %}
- provider_segmentation_id: {{ network.provider_segmentation_id }}
{%- endif %}
{%- for subnet_name, subnet in network.subnet.iteritems() %}
neutron_openstack_subnet_{{ subnet_name }}:
neutronng.subnet_present:
- name: {{ subnet_name }}
- network: {{ network_name }}
- profile: {{ identity_name }}
{%- if subnet.cidr is defined %}
- cidr: {{ subnet.cidr }}
{%- endif %}
{%- if subnet.ip_version is defined %}
- ip_version: {{ subnet.ip_version }}
{%- endif %}
{%- if subnet.enable_dhcp is defined %}
- enable_dhcp: {{ subnet.enable_dhcp }}
{%- endif %}
{%- if subnet.allocation_pools is defined %}
- allocation_pools: {{ subnet.allocation_pools }}
{%- endif %}
{%- if subnet.gateway_ip is defined %}
- gateway_ip: {{ subnet.gateway_ip }}
{%- endif %}
{%- if subnet.dns_nameservers is defined %}
- dns_nameservers: {{ subnet.dns_nameservers }}
{%- endif %}
{%- if subnet.host_routes is defined %}
- host_routes: {{ subnet.host_routes }}
{%- endif %}
- require:
- neutronng: neutron_openstack_network_{{ network_name }}
{%- endfor %}
{%- endfor %}
{%- for router_name, router in identity.router.iteritems() %}
neutron_openstack_router_{{ router_name }}:
neutronng.router_present:
- name: {{ router_name }}
- interfaces: {{ router.interfaces }}
- gateway_network: {{ router.gateway_network }}
- profile: {{ identity_name }}
{%- endfor %}
{%- for security_group_name, security_group in identity.security_group.iteritems() %}
openstack_security_group_{{ security_group_name }}:
neutronng.security_group_present:
- name: {{ security_group_name }}
- description: {{ security_group.description }}
- rules: {{ security_group.rules }}
- profile: {{ identity_name }}
{%- endfor %}
{%- endfor %}
{%- endif %}