summaryrefslogtreecommitdiffstats
path: root/fuel-build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp
diff options
context:
space:
mode:
Diffstat (limited to 'fuel-build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp')
-rw-r--r--fuel-build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp63
1 files changed, 63 insertions, 0 deletions
diff --git a/fuel-build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp b/fuel-build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp
new file mode 100644
index 0000000..be4e67d
--- /dev/null
+++ b/fuel-build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp
@@ -0,0 +1,63 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Class: opnfv::resolver
+#
+# Add resolver content passed through astute.yaml into resolv.conf
+# depending on the role
+#
+# Suitable yaml content:
+# <begin>
+# opnfv:
+# dns:
+# compute:
+# - 100.100.100.2
+# - 100.100.100.3
+# controller:
+# - 100.100.100.102
+# - 100.100.100.104
+# <end>
+#
+#
+#
+
+class opnfv::resolver()
+{
+ if $::fuel_settings['role'] {
+ if $::fuel_settings['role'] == 'primary-controller' {
+ $role = 'controller'
+ } else {
+ $role = $::fuel_settings['role']
+ }
+
+ if ($::fuel_settings['opnfv']
+ and $::fuel_settings['opnfv']['dns']
+ and $::fuel_settings['opnfv']['dns'][$role]) {
+ $nameservers=$::fuel_settings['opnfv']['dns'][$role]
+
+ file { '/etc/resolv.conf':
+ owner => root,
+ group => root,
+ mode => '0644',
+ content => template('opnfv/resolv.conf.erb'),
+ }
+# /etc/resolv.conf is re-generated at each boot by resolvconf, so we
+# need to store there as well.
+ file { '/etc/resolvconf/resolv.conf.d/head':
+ owner => root,
+ group => root,
+ mode => '0644',
+ content => template('opnfv/resolv.conf.erb'),
+ }
+ }
+ }
+}
+
+