Skip to content

Instantly share code, notes, and snippets.

@jjo
Last active August 29, 2015 14:09
Show Gist options
  • Save jjo/c98a5e1a616821ac7961 to your computer and use it in GitHub Desktop.
Save jjo/c98a5e1a616821ac7961 to your computer and use it in GitHub Desktop.
HOT template to create a new neutron network plus a router to the public network
heat_template_version: 2013-05-23
description: >
HOT template to create a new neutron network plus a router to the public
network
parameters:
key_name:
type: string
description: Name of keypair to assign to servers
public_net:
type: string
description: >
ID or name of public network for which floating IP addresses will be allocated
private_net_name:
type: string
description: Name of private network to be created
private_net_cidr:
type: string
description: Private network address (CIDR notation)
private_net_gateway:
type: string
description: Private network gateway address
private_net_pool_start:
type: string
description: Start of private network IP address allocation pool
private_net_pool_end:
type: string
description: End of private network IP address allocation pool
resources:
private_net:
type: OS::Neutron::Net
properties:
name: { get_param: private_net_name }
private_subnet:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: private_net }
cidr: { get_param: private_net_cidr }
gateway_ip: { get_param: private_net_gateway }
allocation_pools:
- start: { get_param: private_net_pool_start }
end: { get_param: private_net_pool_end }
router:
type: OS::Neutron::Router
properties:
external_gateway_info:
network: { get_param: public_net }
router_interface:
type: OS::Neutron::RouterInterface
properties:
router_id: { get_resource: router }
subnet_id: { get_resource: private_subnet }
@jjo
Copy link
Author

jjo commented Nov 17, 2014

If using the heat juju charm, you'll need to be sure is fixed with:
https://code.launchpad.net/~jjo/charms/trusty/heat/fix-heat_conf-encryption_key-and-auth_uri-lp1368645-lp1368621

E.g. usage:

heat stack-create -f heat-neutron_net.yaml -P private_net_cidr=192.168.101.0/24 -P private_net_gateway=192.168.101.1 -P private_net_pool_start=192.168.101.10 -P private_net_pool_end=192.168.101.254 -P private_net_name=net_foo -P public_net=ext_net -P key_name=admin_key net_foo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment