aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'puppet')
-rw-r--r--puppet/compute-role.yaml1
-rw-r--r--puppet/controller-role.yaml1
-rw-r--r--puppet/extraconfig/all_nodes/vpp-admin-ip.yaml40
3 files changed, 42 insertions, 0 deletions
diff --git a/puppet/compute-role.yaml b/puppet/compute-role.yaml
index fff5c01c..816601ab 100644
--- a/puppet/compute-role.yaml
+++ b/puppet/compute-role.yaml
@@ -426,6 +426,7 @@ resources:
- midonet_data # Optionally provided by AllNodesExtraConfig
- neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
- cisco_aci_data # Optionally provided by ComputeExtraConfigPre
+ - vpp_data # Optionally provided by NodeExtraConfig
- common # provided by os-net-config
merge_behavior: deeper
datafiles:
diff --git a/puppet/controller-role.yaml b/puppet/controller-role.yaml
index badab487..85c59468 100644
--- a/puppet/controller-role.yaml
+++ b/puppet/controller-role.yaml
@@ -472,6 +472,7 @@ resources:
- cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
- midonet_data #Optionally provided by AllNodesExtraConfig
- cisco_aci_data # Optionally provided by ControllerExtraConfigPre
+ - vpp_data # Optionally provided by NodeExtraConfig
- common # provided by os-net-config
merge_behavior: deeper
datafiles:
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