aboutsummaryrefslogtreecommitdiffstats
path: root/net-config-static.yaml
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2016-11-23 10:39:11 -0500
committerDan Prince <dprince@redhat.com>2016-11-28 14:23:11 -0500
commit2985cd9a3a04acfe069c063c65ebf487a1413388 (patch)
treef92ed380008a0bc6a0bbd7536efc2bfa9139213e /net-config-static.yaml
parentd1deaae25f8583603c9a8d9394a81c12d5d1742c (diff)
Apply os-net-config with a script instead of element
Wire in os-net-config via a normal script heat deployment, which has the following advantages: 1. Improved error path, currently o-a-c deployments don't report any errors, thus hang and eventually the deployment times out 2. It's far more hackable from a deployer perspective, e.g it's much easier to change the os-net-config options or include a mapping file 3. Reduces our dependencies on o-a-c (it's only os-net-config and hiera which requires it), although the script does currently still use oac to get the metadata IP. 4. May enable passing os-net-config yaml via a json parameter in future, reducing the need for resource_registry mappings (although we'll have to support that for backwards compatibility) The script used is based directly on 20-os-net-config (from t-i-e at cf94c5e, we can probably improve this now that we have an error path, but for this initial commit it's a straight copy other than the changes to replace o-a-c for rendering the json config file. Co-Authored-By: Steven Hardy <shardy@redhat.com> Change-Id: I0ed08332cfc49a579de2e83960f0d8047690b97a
Diffstat (limited to 'net-config-static.yaml')
-rw-r--r--net-config-static.yaml58
1 files changed, 29 insertions, 29 deletions
diff --git a/net-config-static.yaml b/net-config-static.yaml
index 9de16cd..c67b4e9 100644
--- a/net-config-static.yaml
+++ b/net-config-static.yaml
@@ -1,8 +1,6 @@
-heat_template_version: 2015-04-30
-
+heat_template_version: '2016-10-14'
description: >
Software Config to drive os-net-config for a simple bridge.
-
parameters:
ControlPlaneIp:
default: ''
@@ -46,37 +44,39 @@ parameters:
EC2MetadataIp: # Override this via parameter_defaults
description: The IP address of the EC2 metadata server.
type: string
-
-
resources:
OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
+ type: OS::Heat::SoftwareConfig
properties:
- group: os-apply-config
+ group: script
config:
- os_net_config:
- network_config:
- -
- type: interface
- name: {get_input: interface_name}
- use_dhcp: false
- dns_servers: {get_param: DnsServers}
- addresses:
- -
- ip_netmask:
+ str_replace:
+ template:
+ get_file: network/scripts/run-os-net-config.sh
+ params:
+ $network_config:
+ network_config:
+ - type: interface
+ name: interface_name
+ use_dhcp: false
+ dns_servers:
+ get_param: DnsServers
+ addresses:
+ - ip_netmask:
list_join:
- - '/'
- - - {get_param: ControlPlaneIp}
- - {get_param: ControlPlaneSubnetCidr}
- routes:
- -
- ip_netmask: 169.254.169.254/32
- next_hop: {get_param: EC2MetadataIp}
- -
- default: true
- next_hop: {get_param: ControlPlaneDefaultRoute}
-
+ - /
+ - - get_param: ControlPlaneIp
+ - get_param: ControlPlaneSubnetCidr
+ routes:
+ - ip_netmask: 169.254.169.254/32
+ next_hop:
+ get_param: EC2MetadataIp
+ - default: true
+ next_hop:
+ get_param: ControlPlaneDefaultRoute
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
+ value:
+ get_resource: OsNetConfigImpl
+