|
271 | 271 | let(:rendered_template) { template.render(properties) } |
272 | 272 |
|
273 | 273 | let(:enable_dedicated_status_worker) { false } |
| 274 | + let(:dynamic_disks_workers) { 0 } |
274 | 275 | let(:properties) do |
275 | 276 | properties = default_properties.dup |
276 | 277 | properties['director']['enable_dedicated_status_worker'] = enable_dedicated_status_worker |
| 278 | + properties['director']['dynamic_disks_workers'] = dynamic_disks_workers |
277 | 279 | properties |
278 | 280 | end |
279 | 281 |
|
280 | | - it 'renders' do |
281 | | - expect(rendered_template).to match(/.+stop_worker 1.+stop_worker 2.+stop_worker 3/m) |
282 | | - expect(rendered_template).to include('bosh-director-drain-workers') |
| 282 | + it 'renders to drain all jobs' do |
| 283 | + expect(rendered_template).to match(/.+stop_worker worker_1.+stop_worker worker_2.+stop_worker worker_3/m) |
| 284 | + expect(rendered_template).to include('bosh-director-drain-workers -c /var/vcap/jobs/director/config/director.yml') |
| 285 | + expect(rendered_template).to_not include('--queue normal') |
| 286 | + expect(rendered_template).to_not include('--queue dynamic_disks') |
| 287 | + end |
| 288 | + |
| 289 | + context 'dynamic disks workers' do |
| 290 | + let(:dynamic_disks_workers) { 2 } |
| 291 | + |
| 292 | + it 'renders to drain all jobs' do |
| 293 | + expect(rendered_template).to match(/.+stop_worker worker_2.+stop_worker worker_3.+.+stop_worker dynamic_disks_worker_1.+stop_worker dynamic_disks_worker_2/m) |
| 294 | + |
| 295 | + expect(rendered_template).to include('bosh-director-drain-workers -c /var/vcap/jobs/director/config/director.yml') |
| 296 | + expect(rendered_template).to_not include('--queue normal') |
| 297 | + expect(rendered_template).to_not include('--queue dynamic_disks') |
| 298 | + end |
283 | 299 | end |
284 | 300 |
|
285 | 301 | context 'dedicated status workers' do |
286 | 302 | let(:enable_dedicated_status_worker) { true } |
287 | 303 |
|
288 | | - it 'renders' do |
289 | | - expect(rendered_template).to match(/.+stop_worker 2.+stop_worker 3.+stop_dedicated_worker 1/m) |
| 304 | + it 'renders to drain normal jobs and then the rest' do |
| 305 | + expect(rendered_template).to match(/.+stop_worker worker_2.+stop_worker worker_3.+stop_dedicated_worker worker_1/m) |
| 306 | + |
| 307 | + expect(rendered_template).to include('bosh-director-drain-workers -c /var/vcap/jobs/director/config/director.yml --queue normal') |
| 308 | + expect(rendered_template).to_not include('bosh-director-drain-workers -c /var/vcap/jobs/director/config/director.yml --queue dynamic_disks') |
| 309 | + end |
| 310 | + |
| 311 | + context 'dynamic disks workers' do |
| 312 | + let(:dynamic_disks_workers) { 2 } |
290 | 313 |
|
291 | | - expect(rendered_template).to include('--queue normal') |
292 | | - expect(rendered_template).to include('bosh-director-drain-workers') |
| 314 | + it 'renders to drain normal jobs, then dynamic_disks jobs and then the rest' do |
| 315 | + expect(rendered_template).to match(/.+stop_worker worker_2.+stop_worker worker_3.+.+stop_worker dynamic_disks_worker_1.+stop_worker dynamic_disks_worker_2.+stop_dedicated_worker worker_1/m) |
| 316 | + |
| 317 | + expect(rendered_template).to include('bosh-director-drain-workers -c /var/vcap/jobs/director/config/director.yml --queue normal') |
| 318 | + expect(rendered_template).to include('bosh-director-drain-workers -c /var/vcap/jobs/director/config/director.yml --queue dynamic_disks') |
| 319 | + end |
293 | 320 | end |
294 | 321 | end |
295 | 322 | end |
|
438 | 465 | end |
439 | 466 | end |
440 | 467 | end |
| 468 | + |
| 469 | + describe 'worker_ctl' do |
| 470 | + let(:template) { job.template('bin/worker_ctl') } |
| 471 | + let(:rendered_template) { template.render(properties) } |
| 472 | + |
| 473 | + let(:enable_dedicated_status_worker) { false } |
| 474 | + let(:properties) do |
| 475 | + properties = default_properties.dup |
| 476 | + properties['director']['enable_dedicated_status_worker'] = enable_dedicated_status_worker |
| 477 | + properties |
| 478 | + end |
| 479 | + |
| 480 | + it 'renders' do |
| 481 | + expect(rendered_template).to include('export QUEUE="${3:-normal,urgent}"') |
| 482 | + end |
| 483 | + |
| 484 | + context 'dedicated status workers' do |
| 485 | + let(:enable_dedicated_status_worker) { true } |
| 486 | + |
| 487 | + it 'renders' do |
| 488 | + expect(rendered_template).to include('export QUEUE="urgent"') |
| 489 | + end |
| 490 | + end |
| 491 | + end |
441 | 492 | end |
442 | 493 | end |
443 | 494 |
|
|
0 commit comments