Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: modules/base/manifests/init.pp

Issue 29338046: Issue 3638 - Introduce type adblockplus::host (Closed)
Patch Set: Created March 9, 2016, 11:57 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « modules/adblockplus/manifests/init.pp ('k') | modules/private-stub/hiera/hosts.yaml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 class base ($zone='adblockplus.org') { 1 class base ($zone='adblockplus.org') {
2 stage {'pre': before => Stage['main']} 2 stage {'pre': before => Stage['main']}
3 stage {'post': require => Stage['main']} 3 stage {'post': require => Stage['main']}
4 4
5 class {'users': 5 class {'users':
6 stage => 'pre', 6 stage => 'pre',
7 } 7 }
8 8
9 if !defined(Class['apt']) { 9 if !defined(Class['apt']) {
10 class {'apt': 10 class {'apt':
(...skipping 23 matching lines...) Expand all
34 create_resources(base::explicit_host_record, $servers) 34 create_resources(base::explicit_host_record, $servers)
35 35
36 define explicit_host_record( 36 define explicit_host_record(
37 $ip, 37 $ip,
38 $ssh_public_key = undef, 38 $ssh_public_key = undef,
39 $role = undef, 39 $role = undef,
40 $dns = undef, 40 $dns = undef,
41 $groups = undef, 41 $groups = undef,
42 ) { 42 ) {
43 43
44 if is_array($ip) { 44 $fqdn = $dns ? {
45 $internal_ip = $ip[0] 45 undef => "$name.${base::zone}",
46 } else { 46 default => $dns,
47 $internal_ip = $ip
48 } 47 }
49 48
50 $fqdn_name = join([$name, $base::zone], '.') 49 $ips = is_array($ip) ? {
51 50 true => $ip,
52 host{$name: 51 default => [$ip],
53 ensure => present,
54 ip => $internal_ip,
55 name => $fqdn_name,
56 host_aliases => $dns ? {
57 undef => [],
58 default => $dns,
59 }
60 } 52 }
61 53
62 if $ssh_public_key != undef { 54 $public_key = $ssh_public_key ? {
55 undef => undef,
56 default => "ssh-rsa $ssh_public_key $fqdn",
57 }
63 58
64 $name_key = $dns ? { 59 adblockplus::host {$title:
65 undef => $fqdn_name, 60 fqdn => $fqdn,
66 default => $dns, 61 groups => $groups,
67 } 62 ips => $ips,
63 name => $name,
64 role => $role,
65 public_key => $public_key,
66 }
68 67
69 @sshkey {$name: 68 # Implicit realization behavior has been introduced by accident in a
70 name => $name_key, 69 # previous version, hence it should be kept until class base is obsolete
71 key => $ssh_public_key, 70 # and the obsolete records have been removed
72 type => ssh-rsa, 71 realize(Host[$title])
73 host_aliases => $ip, 72 realize(Sshkey[$title])
74 tag => 'base::explicit_host_record',
75 }
76 }
77 }
78
79 # Work around https://projects.puppetlabs.com/issues/4145
80 Sshkey<| |> ->
81 file {'/etc/ssh/ssh_known_hosts':
82 ensure => 'present',
83 mode => 0644,
84 } 73 }
85 } 74 }
OLDNEW
« no previous file with comments | « modules/adblockplus/manifests/init.pp ('k') | modules/private-stub/hiera/hosts.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld