9
9
10
10
case fact ( 'operatingsystem' )
11
11
when 'Ubuntu'
12
- case fact ( 'lsbdistrelease' )
13
- when '14.04'
14
- passenger_root = '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini'
15
- passenger_default_ruby = '/usr/bin/ruby'
16
- when '16.04'
17
- passenger_root = '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini'
18
- passenger_default_ruby = '/usr/bin/ruby'
19
- else
20
- # Includes 10.04 and 12.04
21
- # This may or may not work on Ubuntu releases other than the above
22
- passenger_root = '/usr'
23
- passenger_ruby = '/usr/bin/ruby'
24
- end
12
+ passenger_root = '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini'
13
+ passenger_default_ruby = '/usr/bin/ruby'
25
14
when 'Debian'
26
15
case fact ( 'operatingsystemmajrelease' )
27
16
when '8'
@@ -116,6 +105,11 @@ class { 'apache::mod::passenger':
116
105
end
117
106
end
118
107
context 'default passenger config' do
108
+ # We need to set passenger_instance_registry_dir on every sane distro
109
+ # with systemd. Systemd can force processes into a seperate/private
110
+ # tmpdir. This is the default for apache on Ubuntu 18.04. As a result,
111
+ # passenger CLI tools can't find the config/socket, which defaults to /tmp
112
+ # we enable it for ubuntu 16.04/18.04, centos7 and debian 9
119
113
pp = if [ '7' , '9' , '16.04' , '18.04' ] . include? ( fact ( 'operatingsystemmajrelease' ) )
120
114
<<-MANIFEST
121
115
/* stock apache and mod_passenger */
@@ -150,19 +144,8 @@ class { 'apache::mod::passenger': }
150
144
it { is_expected . to contain %(PassengerRoot "#{ passenger_root } ") }
151
145
case fact ( 'operatingsystem' )
152
146
when 'Ubuntu'
153
- case fact ( 'lsbdistrelease' )
154
- when '14.04'
155
- it { is_expected . to contain %(PassengerDefaultRuby "#{ passenger_default_ruby } ") }
156
- it { is_expected . not_to contain '/PassengerRuby/' }
157
- when '16.04'
158
- it { is_expected . to contain %(PassengerDefaultRuby "#{ passenger_default_ruby } ") }
159
- it { is_expected . not_to contain '/PassengerRuby/' }
160
- else
161
- # Includes 10.04 and 12.04
162
- # This may or may not work on Ubuntu releases other than the above
163
- it { is_expected . to contain %(PassengerRuby "#{ passenger_ruby } ) }
164
- it { is_expected . not_to contain '/PassengerDefaultRuby/' }
165
- end
147
+ it { is_expected . to contain %(PassengerDefaultRuby "#{ passenger_default_ruby } ") }
148
+ it { is_expected . not_to contain '/PassengerRuby/' }
166
149
when 'Debian'
167
150
case fact ( 'operatingsystemmajrelease' )
168
151
when '8'
@@ -188,10 +171,10 @@ class { 'apache::mod::passenger': }
188
171
expected_one = [ %r{Apache processes} , %r{Nginx processes} , %r{Passenger processes} ]
189
172
# passenger-memory-stats output on newer Debian/Ubuntu verions do not contain
190
173
# these two lines
191
- unless ( fact ( 'operatingsystem' ) == 'Ubuntu ' && fact ( 'operatingsystemrelease ' ) == '14.04 ' ) ||
192
- ( fact ( 'operatingsystem' ) == 'Ubuntu ' && fact ( 'operatingsystemrelease ' ) == '16.04 ' ) ||
193
- ( fact ( 'operatingsystem' ) == 'Debian ' && fact ( 'operatingsystemmajrelease' ) == '8 ' ) ||
194
- ( fact ( 'operatingsystem' ) == 'Debian ' && fact ( 'operatingsystemmajrelease' ) == '9 ' )
174
+ unless ( fact ( 'operatingsystem' ) == 'Debian ' && fact ( 'operatingsystemmajrelease ' ) == '8 ' ) ||
175
+ ( fact ( 'operatingsystem' ) == 'Debian ' && fact ( 'operatingsystemmajrelease ' ) == '9 ' ) ||
176
+ ( fact ( 'operatingsystem' ) == 'Ubuntu ' && fact ( 'operatingsystemmajrelease' ) == '16.04 ' ) ||
177
+ ( fact ( 'operatingsystem' ) == 'Ubuntu ' && fact ( 'operatingsystemmajrelease' ) == '18.04 ' )
195
178
expected_one << [ %r{### Processes: [0-9]+} , %r{### Total private dirty RSS: [0-9\. ]+ MB} ]
196
179
end
197
180
it 'outputs status via passenger-memory-stats #stdout' do
@@ -207,34 +190,29 @@ class { 'apache::mod::passenger': }
207
190
end
208
191
end
209
192
210
- # passenger-status fails under stock ubuntu-server-12042-x64 + mod_passenger,
211
- # even when the passenger process is successfully installed and running
212
- unless fact ( 'operatingsystem' ) == 'Ubuntu' && fact ( 'operatingsystemrelease' ) == '12.04'
213
- it 'outputs status via passenger-status #General information' do
214
- shell ( 'PATH=/usr/bin:$PATH PASSENGER_INSTANCE_REGISTRY_DIR=/var/run /usr/sbin/passenger-status' ) do |r |
215
- # spacing may vary
216
- expect ( r . stdout ) . to match ( %r{[\- ]+ General information [\- ]+} )
217
- end
193
+ it 'outputs status via passenger-status #General information' do
194
+ shell ( 'PATH=/usr/bin:$PATH PASSENGER_INSTANCE_REGISTRY_DIR=/var/run /usr/sbin/passenger-status' ) do |r |
195
+ # spacing may vary
196
+ expect ( r . stdout ) . to match ( %r{[\- ]+ General information [\- ]+} )
218
197
end
219
- expected_two = if ( fact ( 'operatingsystem' ) == 'Ubuntu' && fact ( 'operatingsystemrelease' ) == '14.04' ) ||
220
- ( fact ( 'operatingsystem' ) == 'Ubuntu' && fact ( 'operatingsystemrelease' ) == '16.04' ) ||
221
- ( fact ( 'operatingsystem' ) == 'Debian' && fact ( 'operatingsystemmajrelease' ) == '8' ) ||
222
- ( fact ( 'operatingsystem' ) == 'Debian' && fact ( 'operatingsystemmajrelease' ) == '9' )
223
- [ %r{Max pool size[ ]+: [0-9]+} , %r{Processes[ ]+: [0-9]+} , %r{Requests in top-level queue[ ]+: [0-9]+} ]
224
- else
225
- [ %r{max[ ]+= [0-9]+} , %r{count[ ]+= [0-9]+} , %r{active[ ]+= [0-9]+} , %r{inactive[ ]+= [0-9]+} , %r{Waiting on global queue: [0-9]+} ]
226
- end
227
- it 'outputs status via passenger-status #stdout' do
228
- shell ( 'PATH=/usr/bin:$PATH PASSENGER_INSTANCE_REGISTRY_DIR=/var/run /usr/sbin/passenger-status' ) do |r |
229
- expected_two . each do |expect |
230
- expect ( r . stdout ) . to match ( expect )
231
- end
198
+ end
199
+ expected_two = if ( fact ( 'operatingsystem' ) == 'Ubuntu' ) ||
200
+ ( fact ( 'operatingsystem' ) == 'Debian' && fact ( 'operatingsystemmajrelease' ) == '8' ) ||
201
+ ( fact ( 'operatingsystem' ) == 'Debian' && fact ( 'operatingsystemmajrelease' ) == '9' )
202
+ [ %r{Max pool size[ ]+: [0-9]+} , %r{Processes[ ]+: [0-9]+} , %r{Requests in top-level queue[ ]+: [0-9]+} ]
203
+ else
204
+ [ %r{max[ ]+= [0-9]+} , %r{count[ ]+= [0-9]+} , %r{active[ ]+= [0-9]+} , %r{inactive[ ]+= [0-9]+} , %r{Waiting on global queue: [0-9]+} ]
205
+ end
206
+ it 'outputs status via passenger-status #stdout' do
207
+ shell ( 'PATH=/usr/bin:$PATH PASSENGER_INSTANCE_REGISTRY_DIR=/var/run /usr/sbin/passenger-status' ) do |r |
208
+ expected_two . each do |expect |
209
+ expect ( r . stdout ) . to match ( expect )
232
210
end
233
211
end
234
- it 'outputs status via passenger-status #exit_code' do
235
- shell ( 'PATH=/usr/bin:$PATH PASSENGER_INSTANCE_REGISTRY_DIR=/var/run /usr/sbin/ passenger-status' ) do | r |
236
- expect ( r . exit_code ) . to eq ( 0 )
237
- end
212
+ end
213
+ it 'outputs status via passenger-status #exit_code' do
214
+ shell ( 'PATH=/usr/bin:$PATH PASSENGER_INSTANCE_REGISTRY_DIR=/var/run /usr/sbin/passenger-status' ) do | r |
215
+ expect ( r . exit_code ) . to eq ( 0 )
238
216
end
239
217
end
240
218
0 commit comments