tripleo-heat-templates/net-config-standalone.j2.yaml
Alex Schultz 0a642a10da Add basics for standalone node
For a standalone all-in-one, we need to create a basic role that has
some of the services, a network config for a single node and an
environment file that has all the services defined but disabled so
that we can enable just the services we will need. In the future, we
will likely make the service list more dynamic but for now it contains a
minimal set of services for a keystone/openshift/kubernetes deployment.

Change-Id: Ieb7c94563bd0132393b5fa268d743981f6e0b6f2
Related-Blueprint: all-in-one
2018-05-16 14:19:43 -06:00

92 lines
3.0 KiB
YAML

heat_template_version: rocky
description: >
Software Config to drive os-net-config for a simple bridge configured with a
static IP address for the ctlplane network.
parameters:
ControlPlaneIp:
default: ''
description: IP address/subnet on the ctlplane network
type: string
{%- for network in networks %}
{{network.name}}IpSubnet:
default: ''
description: IP address/subnet on the {{network.name_lower}} network
type: string
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
type: string
ControlPlaneStaticRoutes:
default: []
description: A list of static routes
type: json
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
type: comma_delimited_list
InterfaceLocalMtu: # Override this via parameter_defaults
default: 1500
description: MTU to use for the local_interface.
type: number
constraints:
- range: { min: 1000, max: 65536 }
StandaloneNetConfigOverride:
default: {}
description: >
Custom JSON data to be used to override the os-net-config data in this
template. This is meant to be used by net_config_override parameter in
tripleoclient to provide an easy means to pass in custom net configs
for a standalone node.
type: json
conditions:
standalone_net_config_override:
not:
equals: [{get_param: StandaloneNetConfigOverride}, {}]
resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
inputs:
- name: disable_configure_safe_defaults
default: true
config:
str_replace:
template:
get_file: network/scripts/run-os-net-config.sh
params:
$network_config:
if:
- standalone_net_config_override
- {get_param: StandaloneNetConfigOverride}
- network_config:
- type: ovs_bridge
name: br-ctlplane
use_dhcp: false
dns_servers:
get_param: DnsServers
ovs_extra:
- "br-set-external-id br-ctlplane bridge-id br-ctlplane"
addresses:
- ip_netmask:
list_join:
- /
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes: {get_param: ControlPlaneStaticRoutes}
members:
- type: interface
name: interface_name
# force the MAC address of the bridge to this interface
primary: true
mtu: {get_param: InterfaceLocalMtu}
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl