aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/extraconfig/all_nodes
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/extraconfig/all_nodes')
-rw-r--r--puppet/extraconfig/all_nodes/vpp-admin-ip.yaml40
1 files changed, 40 insertions, 0 deletions
diff --git a/puppet/extraconfig/all_nodes/vpp-admin-ip.yaml b/puppet/extraconfig/all_nodes/vpp-admin-ip.yaml
new file mode 100644
index 00000000..6627d70c
--- /dev/null
+++ b/puppet/extraconfig/all_nodes/vpp-admin-ip.yaml
@@ -0,0 +1,40 @@
+heat_template_version: ocata
+
+description: Configure hieradata for Network Cisco configuration
+
+parameters:
+ # Parameters passed from the parent template
+ server:
+ type: string
+
+resources:
+ VppCtlplaneIp:
+ type: OS::Neutron::Port
+ properties:
+ network: ctlplane
+ name: 'VPP IP'
+ replacement_policy: AUTO
+
+ VppAdminIpConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: hiera
+ config:
+ datafiles:
+ vpp_data:
+ map_merge:
+ - vpp_ctlplane_cidr:
+ list_join:
+ - ''
+ - - {get_attr: [VppCtlplaneIp, fixed_ips, 0, ip_address]}
+ - '/'
+ - {str_split: ['/', {get_attr: [VppCtlplaneIp, subnets, 0, cidr]}, 1]}
+
+ VppAdminIpDeployment:
+ type: OS::Heat::SoftwareDeployment
+ depends_on: VppCtlplaneIp
+ properties:
+ name: VppAdminIpDeployment
+ config: {get_resource: VppAdminIpConfig}
+ server: {get_param: server}
+ actions: ['CREATE'] # Only do this on CREATE