# This describes what is deployed by this template. description: This creates an OpenFlow network connected to a user specified controller # This defines the minimum Heat version required by this template. heat_template_version: 2015-10-15 # The resources section defines what OpenStack resources are to be deployed and # how they should be configured. resources: router_to_ext: type: OS::Neutron::Router properties: name: router external_gateway_info: network: public subnet: type: OS::Neutron::Subnet properties: name: subnet cidr: { get_param: ip_subnet } enable_dhcp: true network: { get_resource: network } network: type: OS::Neutron::Net properties: name: { get_param: network_name } shared: false value_specs: description: str_replace: template: OFController=IP:PORT params: IP: { get_param: controller_ip } PORT: { get_param: controller_port } 'provider:network_type': vlan 'provider:physical_network': { get_param: provider } router_interface: type: OS::Neutron::RouterInterface properties: router: { get_resource: router_to_ext } subnet: { get_resource: subnet } # The parameters section gathers configuration from the user. parameters: network_name: label: Name of the new OpenFlow network type: string description: Name of the network to use. ip_subnet: label: Subnet in cidr type: string description: Cidr of the network default: 192.168.100.0/24 controller_ip: label: IP address of the OpenFlow controller type: string description: The IP of the OpenFlow controller. default: 1.2.3.4 controller_port: label: Port of the OpenFlow controller type: string description: The port of the OpenFlow controller. default: 5555 provider: label: "Network type: physnet1 (local) or exogeni (stitchable)" type: string description: The provider network. physnet1 for local networks or exogeni for stitched networks default: physnet1 constraints: - allowed_values: [ physnet1 ]