|
106 | 106 | before => Postgresql_conf[$name],
|
107 | 107 | }
|
108 | 108 | }
|
109 |
| - } |
110 |
| - if $facts['os']['family'] == 'RedHat' { |
111 |
| - if ! ($facts['os']['release']['major'] in ['7', '8'] or $facts['os']['name'] == 'Fedora') { |
112 |
| - if $name == 'port' { |
113 |
| - # We need to force postgresql to stop before updating the port |
114 |
| - # because puppet becomes confused and is unable to manage the |
115 |
| - # service appropriately. |
116 |
| - exec { "postgresql_stop_${name}": |
117 |
| - command => "service ${postgresql::server::service_name} stop", |
118 |
| - onlyif => "service ${postgresql::server::service_name} status", |
119 |
| - unless => "grep 'PGPORT=${value}' /etc/sysconfig/pgsql/postgresql", |
120 |
| - path => '/sbin:/bin:/usr/bin:/usr/local/bin', |
121 |
| - require => File['/etc/sysconfig/pgsql/postgresql'], |
122 |
| - } |
123 |
| - -> augeas { 'override PGPORT in /etc/sysconfig/pgsql/postgresql': |
124 |
| - lens => 'Shellvars.lns', |
125 |
| - incl => '/etc/sysconfig/pgsql/postgresql', |
126 |
| - context => '/files/etc/sysconfig/pgsql/postgresql', |
127 |
| - changes => "set PGPORT ${value}", |
128 |
| - require => File['/etc/sysconfig/pgsql/postgresql'], |
129 |
| - notify => Class['postgresql::server::service'], |
130 |
| - before => Class['postgresql::server::reload'], |
131 |
| - } |
132 |
| - } elsif $name == 'data_directory' { |
133 |
| - # We need to force postgresql to stop before updating the data directory |
134 |
| - # otherwise init script breaks |
135 |
| - exec { "postgresql_${name}": |
136 |
| - command => "service ${postgresql::server::service_name} stop", |
137 |
| - onlyif => "service ${postgresql::server::service_name} status", |
138 |
| - unless => "grep 'PGDATA=${value}' /etc/sysconfig/pgsql/postgresql", |
139 |
| - path => '/sbin:/bin:/usr/bin:/usr/local/bin', |
140 |
| - require => File['/etc/sysconfig/pgsql/postgresql'], |
141 |
| - } |
142 |
| - -> augeas { 'override PGDATA in /etc/sysconfig/pgsql/postgresql': |
143 |
| - lens => 'Shellvars.lns', |
144 |
| - incl => '/etc/sysconfig/pgsql/postgresql', |
145 |
| - context => '/files/etc/sysconfig/pgsql/postgresql', |
146 |
| - changes => "set PGDATA ${value}", |
147 |
| - require => File['/etc/sysconfig/pgsql/postgresql'], |
148 |
| - notify => Class['postgresql::server::service'], |
149 |
| - before => Class['postgresql::server::reload'], |
150 |
| - } |
| 109 | + } elsif $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '7') < 0 { |
| 110 | + if $name == 'port' { |
| 111 | + # We need to force postgresql to stop before updating the port |
| 112 | + # because puppet becomes confused and is unable to manage the |
| 113 | + # service appropriately. |
| 114 | + exec { "postgresql_stop_${name}": |
| 115 | + command => "service ${postgresql::server::service_name} stop", |
| 116 | + onlyif => "service ${postgresql::server::service_name} status", |
| 117 | + unless => "grep 'PGPORT=${value}' /etc/sysconfig/pgsql/postgresql", |
| 118 | + path => '/sbin:/bin:/usr/bin:/usr/local/bin', |
| 119 | + require => File['/etc/sysconfig/pgsql/postgresql'], |
| 120 | + } |
| 121 | + -> augeas { 'override PGPORT in /etc/sysconfig/pgsql/postgresql': |
| 122 | + lens => 'Shellvars.lns', |
| 123 | + incl => '/etc/sysconfig/pgsql/postgresql', |
| 124 | + context => '/files/etc/sysconfig/pgsql/postgresql', |
| 125 | + changes => "set PGPORT ${value}", |
| 126 | + require => File['/etc/sysconfig/pgsql/postgresql'], |
| 127 | + notify => Class['postgresql::server::service'], |
| 128 | + before => Class['postgresql::server::reload'], |
| 129 | + } |
| 130 | + } elsif $name == 'data_directory' { |
| 131 | + # We need to force postgresql to stop before updating the data directory |
| 132 | + # otherwise init script breaks |
| 133 | + exec { "postgresql_${name}": |
| 134 | + command => "service ${postgresql::server::service_name} stop", |
| 135 | + onlyif => "service ${postgresql::server::service_name} status", |
| 136 | + unless => "grep 'PGDATA=${value}' /etc/sysconfig/pgsql/postgresql", |
| 137 | + path => '/sbin:/bin:/usr/bin:/usr/local/bin', |
| 138 | + require => File['/etc/sysconfig/pgsql/postgresql'], |
| 139 | + } |
| 140 | + -> augeas { 'override PGDATA in /etc/sysconfig/pgsql/postgresql': |
| 141 | + lens => 'Shellvars.lns', |
| 142 | + incl => '/etc/sysconfig/pgsql/postgresql', |
| 143 | + context => '/files/etc/sysconfig/pgsql/postgresql', |
| 144 | + changes => "set PGDATA ${value}", |
| 145 | + require => File['/etc/sysconfig/pgsql/postgresql'], |
| 146 | + notify => Class['postgresql::server::service'], |
| 147 | + before => Class['postgresql::server::reload'], |
151 | 148 | }
|
152 | 149 | }
|
153 | 150 | }
|
|
0 commit comments