bosh-director 1.3215.4.0 → 1.3232.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bosh-director-console +1 -1
  3. data/bin/bosh-director-drain-workers +8 -2
  4. data/bin/bosh-director-worker +34 -53
  5. data/db/migrations/director/20110617211923_add_deployments_release_versions.rb +2 -2
  6. data/db/migrations/director/20120524175805_add_task_type.rb +23 -23
  7. data/db/migrations/director/20130531172604_add_director_attributes.rb +1 -2
  8. data/db/migrations/director/20140116002324_pivot_director_attributes.rb +1 -2
  9. data/db/migrations/director/20160210201838_denormalize_compiled_package_stemcell_id_to_stemcell_name_and_version.rb +7 -9
  10. data/db/migrations/director/20160211174110_add_events.rb +22 -0
  11. data/db/migrations/director/20160324181932_create_delayed_jobs.rb +22 -0
  12. data/db/migrations/director/20160324182211_add_locks.rb +15 -0
  13. data/db/migrations/director/20160329201256_set_instances_with_nil_serial_to_false.rb +15 -0
  14. data/db/migrations/director/20160331225404_backfill_stemcell_os.rb +9 -0
  15. data/db/migrations/director/20160411104407_add_task_started_at.rb +9 -0
  16. data/lib/bosh/director.rb +9 -2
  17. data/lib/bosh/director/agent_client.rb +22 -9
  18. data/lib/bosh/director/api.rb +0 -1
  19. data/lib/bosh/director/api/api_helper.rb +1 -1
  20. data/lib/bosh/director/api/controllers/base_controller.rb +5 -1
  21. data/lib/bosh/director/api/controllers/cloud_configs_controller.rb +18 -2
  22. data/lib/bosh/director/api/controllers/deployments_controller.rb +16 -9
  23. data/lib/bosh/director/api/controllers/events_controller.rb +37 -0
  24. data/lib/bosh/director/api/controllers/locks_controller.rb +7 -11
  25. data/lib/bosh/director/api/controllers/packages_controller.rb +1 -1
  26. data/lib/bosh/director/api/controllers/runtime_configs_controller.rb +18 -2
  27. data/lib/bosh/director/api/controllers/tasks_controller.rb +7 -2
  28. data/lib/bosh/director/api/deployment_lookup.rb +1 -1
  29. data/lib/bosh/director/api/deployment_manager.rb +1 -1
  30. data/lib/bosh/director/api/event_manager.rb +68 -0
  31. data/lib/bosh/director/api/extensions/scoping.rb +2 -2
  32. data/lib/bosh/director/api/extensions/syslog_request_logger.rb +75 -0
  33. data/lib/bosh/director/api/instance_lookup.rb +2 -2
  34. data/lib/bosh/director/api/instance_manager.rb +2 -2
  35. data/lib/bosh/director/api/local_identity_provider.rb +8 -0
  36. data/lib/bosh/director/api/property_manager.rb +6 -5
  37. data/lib/bosh/director/api/release_manager.rb +3 -3
  38. data/lib/bosh/director/api/resource_manager.rb +2 -2
  39. data/lib/bosh/director/api/resurrector_manager.rb +1 -1
  40. data/lib/bosh/director/api/route_configuration.rb +1 -0
  41. data/lib/bosh/director/api/stemcell_manager.rb +5 -5
  42. data/lib/bosh/director/api/task_manager.rb +1 -0
  43. data/lib/bosh/director/api/task_remover.rb +1 -1
  44. data/lib/bosh/director/api/uaa_identity_provider.rb +9 -1
  45. data/lib/bosh/director/api/user/database_user_manager.rb +1 -1
  46. data/lib/bosh/director/app.rb +1 -1
  47. data/lib/bosh/director/arp_flusher.rb +23 -0
  48. data/lib/bosh/director/cloudcheck_helper.rb +4 -3
  49. data/lib/bosh/director/compile_task.rb +6 -6
  50. data/lib/bosh/director/compile_task_generator.rb +6 -6
  51. data/lib/bosh/director/compiled_release_downloader.rb +4 -4
  52. data/lib/bosh/director/config.rb +29 -87
  53. data/lib/bosh/director/deployment_deleter.rb +6 -6
  54. data/lib/bosh/director/deployment_plan/agent_state_migrator.rb +2 -2
  55. data/lib/bosh/director/deployment_plan/assembler.rb +1 -1
  56. data/lib/bosh/director/deployment_plan/compilation_instance_pool.rb +26 -1
  57. data/lib/bosh/director/deployment_plan/deployment_repo.rb +1 -1
  58. data/lib/bosh/director/deployment_plan/disk_type.rb +1 -1
  59. data/lib/bosh/director/deployment_plan/instance.rb +2 -2
  60. data/lib/bosh/director/deployment_plan/instance_plan.rb +2 -2
  61. data/lib/bosh/director/deployment_plan/instance_spec.rb +2 -0
  62. data/lib/bosh/director/deployment_plan/ip_provider/ip_provider.rb +7 -3
  63. data/lib/bosh/director/deployment_plan/job.rb +12 -10
  64. data/lib/bosh/director/deployment_plan/job_spec_parser.rb +4 -4
  65. data/lib/bosh/director/deployment_plan/links/link.rb +1 -0
  66. data/lib/bosh/director/deployment_plan/links/link_path.rb +18 -19
  67. data/lib/bosh/director/deployment_plan/links/links_resolver.rb +2 -0
  68. data/lib/bosh/director/deployment_plan/links/template_link.rb +1 -1
  69. data/lib/bosh/director/deployment_plan/manual_network.rb +1 -1
  70. data/lib/bosh/director/deployment_plan/manual_network_subnet.rb +6 -6
  71. data/lib/bosh/director/deployment_plan/planner.rb +3 -3
  72. data/lib/bosh/director/deployment_plan/planner_factory.rb +38 -40
  73. data/lib/bosh/director/deployment_plan/release_version.rb +5 -5
  74. data/lib/bosh/director/deployment_plan/runtime_manifest_parser.rb +22 -18
  75. data/lib/bosh/director/deployment_plan/steps/package_compile_step.rb +14 -16
  76. data/lib/bosh/director/deployment_plan/steps/update_step.rb +5 -5
  77. data/lib/bosh/director/deployment_plan/template.rb +61 -1
  78. data/lib/bosh/director/deployment_plan/update_config.rb +1 -1
  79. data/lib/bosh/director/disk_manager.rb +49 -40
  80. data/lib/bosh/director/dns/canonicalizer.rb +2 -2
  81. data/lib/bosh/director/dns/dns_manager.rb +2 -2
  82. data/lib/bosh/director/dns/powerdns.rb +2 -2
  83. data/lib/bosh/director/download_helper.rb +5 -5
  84. data/lib/bosh/director/errand/job_manager.rb +5 -6
  85. data/lib/bosh/director/errand/result.rb +1 -1
  86. data/lib/bosh/director/errand/runner.rb +2 -3
  87. data/lib/bosh/director/event_log.rb +1 -7
  88. data/lib/bosh/director/ext.rb +0 -6
  89. data/lib/bosh/director/instance_deleter.rb +23 -2
  90. data/lib/bosh/director/instance_updater.rb +62 -6
  91. data/lib/bosh/director/instance_updater/state_applier.rb +2 -2
  92. data/lib/bosh/director/job_queue.rb +4 -2
  93. data/lib/bosh/director/job_runner.rb +3 -8
  94. data/lib/bosh/director/jobs/backup.rb +1 -1
  95. data/lib/bosh/director/jobs/base_job.rb +10 -6
  96. data/lib/bosh/director/jobs/cleanup_artifacts.rb +6 -6
  97. data/lib/bosh/director/jobs/db_job.rb +87 -0
  98. data/lib/bosh/director/jobs/delete_deployment.rb +23 -2
  99. data/lib/bosh/director/jobs/delete_deployment_snapshots.rb +1 -1
  100. data/lib/bosh/director/jobs/delete_orphan_disks.rb +2 -2
  101. data/lib/bosh/director/jobs/delete_release.rb +2 -2
  102. data/lib/bosh/director/jobs/delete_stemcell.rb +1 -1
  103. data/lib/bosh/director/jobs/export_release.rb +4 -2
  104. data/lib/bosh/director/jobs/fetch_logs.rb +1 -1
  105. data/lib/bosh/director/jobs/helpers/blob_deleter.rb +1 -1
  106. data/lib/bosh/director/jobs/helpers/name_version_release_deleter.rb +3 -3
  107. data/lib/bosh/director/jobs/helpers/release_version_deleter.rb +1 -1
  108. data/lib/bosh/director/jobs/helpers/stemcell_deleter.rb +2 -12
  109. data/lib/bosh/director/jobs/release/release_job.rb +13 -28
  110. data/lib/bosh/director/jobs/run_errand.rb +6 -6
  111. data/lib/bosh/director/jobs/scheduled_backup.rb +1 -1
  112. data/lib/bosh/director/jobs/scheduled_events_cleanup.rb +31 -0
  113. data/lib/bosh/director/jobs/scheduled_orphan_cleanup.rb +1 -1
  114. data/lib/bosh/director/jobs/snapshot_deployment.rb +4 -1
  115. data/lib/bosh/director/jobs/ssh.rb +36 -14
  116. data/lib/bosh/director/jobs/update_deployment.rb +28 -6
  117. data/lib/bosh/director/jobs/update_release.rb +31 -41
  118. data/lib/bosh/director/jobs/update_stemcell.rb +4 -4
  119. data/lib/bosh/director/jobs/vm_state.rb +1 -2
  120. data/lib/bosh/director/lock.rb +30 -55
  121. data/lib/bosh/director/logs_fetcher.rb +2 -3
  122. data/lib/bosh/director/manifest/changeset.rb +88 -42
  123. data/lib/bosh/director/manifest/manifest.rb +1 -1
  124. data/lib/bosh/director/models.rb +3 -0
  125. data/lib/bosh/director/models/event.rb +18 -0
  126. data/lib/bosh/director/models/lock.rb +9 -0
  127. data/lib/bosh/director/models/release_version.rb +3 -1
  128. data/lib/bosh/director/problem_handlers/base.rb +3 -3
  129. data/lib/bosh/director/problem_handlers/inactive_disk.rb +4 -4
  130. data/lib/bosh/director/problem_handlers/missing_disk.rb +3 -3
  131. data/lib/bosh/director/problem_handlers/missing_vm.rb +1 -1
  132. data/lib/bosh/director/problem_handlers/mount_info_mismatch.rb +3 -3
  133. data/lib/bosh/director/problem_handlers/unresponsive_agent.rb +2 -2
  134. data/lib/bosh/director/problem_resolver.rb +5 -5
  135. data/lib/bosh/director/problem_scanner/problem_register.rb +1 -1
  136. data/lib/bosh/director/problem_scanner/scanner.rb +3 -2
  137. data/lib/bosh/director/scheduler.rb +3 -3
  138. data/lib/bosh/director/sequel.rb +1 -3
  139. data/lib/bosh/director/stopper.rb +1 -1
  140. data/lib/bosh/director/validation_helper.rb +60 -37
  141. data/lib/bosh/director/version.rb +1 -1
  142. data/lib/bosh/director/vm_creator.rb +39 -7
  143. data/lib/bosh/director/vm_deleter.rb +29 -2
  144. data/lib/bosh/director/vm_metadata_updater.rb +4 -0
  145. data/lib/bosh/director/worker.rb +52 -0
  146. metadata +47 -61
  147. data/lib/bosh/director/manifest/redactor.rb +0 -44
@@ -10,8 +10,17 @@ module Bosh::Director
10
10
 
11
11
  def delete_for_instance(instance)
12
12
  if instance.vm_cid
13
- delete_vm(instance.vm_cid)
14
- instance.update(vm_cid: nil, agent_id: nil, trusted_certs_sha1: nil, credentials: nil)
13
+ begin
14
+ vm_cid = instance.vm_cid
15
+ instance_name = "#{instance.job}/#{instance.uuid}"
16
+ parent_id = add_event(instance.deployment.name, instance_name, vm_cid)
17
+ delete_vm(instance.vm_cid)
18
+ instance.update(vm_cid: nil, agent_id: nil, trusted_certs_sha1: nil, credentials: nil)
19
+ rescue Exception => e
20
+ raise e
21
+ ensure
22
+ add_event(instance.deployment.name, instance_name, vm_cid, parent_id, e)
23
+ end
15
24
  end
16
25
  end
17
26
 
@@ -19,5 +28,23 @@ module Bosh::Director
19
28
  @logger.info('Deleting VM')
20
29
  @error_ignorer.with_force_check { @cloud.delete_vm(vm_cid) }
21
30
  end
31
+
32
+ private
33
+
34
+ def add_event(deployment_name, instance_name, object_name = nil, parent_id = nil, error = nil)
35
+ event = Config.current_job.event_manager.create_event(
36
+ {
37
+ parent_id: parent_id,
38
+ user: Config.current_job.username,
39
+ action: 'delete',
40
+ object_type: 'vm',
41
+ object_name: object_name,
42
+ task: Config.current_job.task_id,
43
+ deployment: deployment_name,
44
+ instance: instance_name,
45
+ error: error
46
+ })
47
+ event.id
48
+ end
22
49
  end
23
50
  end
@@ -15,8 +15,12 @@ module Bosh::Director
15
15
  metadata = metadata.merge(@director_metadata)
16
16
  metadata[:deployment] = instance.deployment.name
17
17
 
18
+ metadata[:id] = instance.uuid
18
19
  metadata[:job] = instance.job
19
20
  metadata[:index] = instance.index.to_s
21
+ metadata[:name] = "#{instance.job}/#{instance.uuid}"
22
+
23
+ metadata[:created_at] = Time.new.getutc.strftime('%Y-%m-%dT%H:%M:%SZ')
20
24
 
21
25
  @cloud.set_vm_metadata(instance.vm_cid, metadata)
22
26
  end
@@ -0,0 +1,52 @@
1
+ module Bosh::Director
2
+ class Worker
3
+
4
+ def initialize(config, index=0)
5
+ @config = config
6
+ @index = index
7
+ end
8
+
9
+ def prep
10
+ Delayed::Worker.logger = @config.worker_logger
11
+
12
+ Bosh::Director::App.new(@config)
13
+
14
+ Delayed::Worker.backend = :sequel
15
+ Delayed::Worker.destroy_failed_jobs = true
16
+ Delayed::Worker.sleep_delay = ENV['INTERVAL'] || 1
17
+ Delayed::Worker.max_attempts = 0
18
+ Delayed::Worker.max_run_time = 31536000
19
+
20
+ @delayed_job_worker = nil
21
+ queues = (ENV['QUEUES'] || ENV['QUEUE']).to_s.split(',')
22
+
23
+ @delayed_job_worker = Delayed::Worker.new({:queues => queues})
24
+ trap('USR1') {
25
+ @delayed_job_worker.queues = [ 'non_existent_queue' ]
26
+ } #stop accepting new jobs when USR1 is sent
27
+ end
28
+
29
+ def start
30
+ @delayed_job_worker.name = "worker_#{@index}"
31
+ @delayed_job_worker.logger.info("Starting worker #{@delayed_job_worker.name}.")
32
+
33
+ begin
34
+ @delayed_job_worker_retries ||= 0
35
+ @delayed_job_worker.start
36
+ rescue Exception => e
37
+ @delayed_job_worker.logger.error("Something goes wrong during worker start. Attempt #{@delayed_job_worker_retries}. Error: #{e.inspect}")
38
+ while @delayed_job_worker_retries < 10
39
+ @delayed_job_worker_retries += 1
40
+ sleep 0.5
41
+ retry
42
+ end
43
+ @delayed_job_worker.logger.error("Max retries reached. Error: #{e.inspect}")
44
+ raise e
45
+ end
46
+ end
47
+
48
+ def queues
49
+ @delayed_job_worker.queues
50
+ end
51
+ end
52
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-director
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3215.4.0
4
+ version: 1.3232.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - VMware
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-14 00:00:00.000000000 Z
11
+ date: 2016-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_common
@@ -16,98 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3215.4.0
19
+ version: 1.3232.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3215.4.0
26
+ version: 1.3232.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bosh_cpi
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.3215.4.0
33
+ version: 1.3232.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.3215.4.0
40
+ version: 1.3232.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bosh-registry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3215.4.0
47
+ version: 1.3232.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3215.4.0
54
+ version: 1.3232.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: blobstore_client
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.3215.4.0
61
+ version: 1.3232.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.3215.4.0
68
+ version: 1.3232.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bosh-core
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.3215.4.0
75
+ version: 1.3232.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.3215.4.0
82
+ version: 1.3232.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bosh-director-core
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 1.3215.4.0
89
+ version: 1.3232.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 1.3215.4.0
96
+ version: 1.3232.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bosh-template
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.3215.4.0
103
+ version: 1.3232.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.3215.4.0
110
+ version: 1.3232.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bosh_openstack_cpi
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -304,48 +304,6 @@ dependencies:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
306
  version: '10.0'
307
- - !ruby/object:Gem::Dependency
308
- name: redis
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - "~>"
312
- - !ruby/object:Gem::Version
313
- version: 3.0.2
314
- type: :runtime
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - "~>"
319
- - !ruby/object:Gem::Version
320
- version: 3.0.2
321
- - !ruby/object:Gem::Dependency
322
- name: resque
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - "~>"
326
- - !ruby/object:Gem::Version
327
- version: 1.25.0
328
- type: :runtime
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - "~>"
333
- - !ruby/object:Gem::Version
334
- version: 1.25.0
335
- - !ruby/object:Gem::Dependency
336
- name: resque-backtrace
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - "~>"
340
- - !ruby/object:Gem::Version
341
- version: 0.0.1
342
- type: :runtime
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: 0.0.1
349
307
  - !ruby/object:Gem::Dependency
350
308
  name: rufus-scheduler
351
309
  requirement: !ruby/object:Gem::Requirement
@@ -366,14 +324,14 @@ dependencies:
366
324
  requirements:
367
325
  - - "~>"
368
326
  - !ruby/object:Gem::Version
369
- version: 3.43.0
327
+ version: 4.32.0
370
328
  type: :runtime
371
329
  prerelease: false
372
330
  version_requirements: !ruby/object:Gem::Requirement
373
331
  requirements:
374
332
  - - "~>"
375
333
  - !ruby/object:Gem::Version
376
- version: 3.43.0
334
+ version: 4.32.0
377
335
  - !ruby/object:Gem::Dependency
378
336
  name: sinatra
379
337
  requirement: !ruby/object:Gem::Requirement
@@ -472,6 +430,20 @@ dependencies:
472
430
  - - "~>"
473
431
  - !ruby/object:Gem::Version
474
432
  version: 3.2.1
433
+ - !ruby/object:Gem::Dependency
434
+ name: talentbox-delayed_job_sequel
435
+ requirement: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - "~>"
438
+ - !ruby/object:Gem::Version
439
+ version: 4.1.0
440
+ type: :runtime
441
+ prerelease: false
442
+ version_requirements: !ruby/object:Gem::Requirement
443
+ requirements:
444
+ - - "~>"
445
+ - !ruby/object:Gem::Version
446
+ version: 4.1.0
475
447
  - !ruby/object:Gem::Dependency
476
448
  name: unix-crypt
477
449
  requirement: !ruby/object:Gem::Requirement
@@ -677,10 +649,16 @@ files:
677
649
  - db/migrations/director/20160121003800_drop_vms_fkeys.rb
678
650
  - db/migrations/director/20160202162216_add_post_start_completed_to_instance.rb
679
651
  - db/migrations/director/20160210201838_denormalize_compiled_package_stemcell_id_to_stemcell_name_and_version.rb
652
+ - db/migrations/director/20160211174110_add_events.rb
680
653
  - db/migrations/director/20160211193904_add_scopes_to_deployment.rb
681
654
  - db/migrations/director/20160219175840_add_column_teams_to_deployments.rb
682
655
  - db/migrations/director/20160224222508_add_deployment_name_to_task.rb
683
656
  - db/migrations/director/20160225182206_rename_post_start_completed.rb
657
+ - db/migrations/director/20160324181932_create_delayed_jobs.rb
658
+ - db/migrations/director/20160324182211_add_locks.rb
659
+ - db/migrations/director/20160329201256_set_instances_with_nil_serial_to_false.rb
660
+ - db/migrations/director/20160331225404_backfill_stemcell_os.rb
661
+ - db/migrations/director/20160411104407_add_task_started_at.rb
684
662
  - db/migrations/dns/20120123234908_initial.rb
685
663
  - lib/bosh/director.rb
686
664
  - lib/bosh/director/agent_client.rb
@@ -695,6 +673,7 @@ files:
695
673
  - lib/bosh/director/api/controllers/cloud_configs_controller.rb
696
674
  - lib/bosh/director/api/controllers/deployments_controller.rb
697
675
  - lib/bosh/director/api/controllers/disks_controller.rb
676
+ - lib/bosh/director/api/controllers/events_controller.rb
698
677
  - lib/bosh/director/api/controllers/info_controller.rb
699
678
  - lib/bosh/director/api/controllers/locks_controller.rb
700
679
  - lib/bosh/director/api/controllers/packages_controller.rb
@@ -710,7 +689,9 @@ files:
710
689
  - lib/bosh/director/api/deployment_lookup.rb
711
690
  - lib/bosh/director/api/deployment_manager.rb
712
691
  - lib/bosh/director/api/director_uuid_provider.rb
692
+ - lib/bosh/director/api/event_manager.rb
713
693
  - lib/bosh/director/api/extensions/scoping.rb
694
+ - lib/bosh/director/api/extensions/syslog_request_logger.rb
714
695
  - lib/bosh/director/api/http_constants.rb
715
696
  - lib/bosh/director/api/instance_lookup.rb
716
697
  - lib/bosh/director/api/instance_manager.rb
@@ -733,6 +714,7 @@ files:
733
714
  - lib/bosh/director/api/user/database_user_manager.rb
734
715
  - lib/bosh/director/api/user/user_manager_provider.rb
735
716
  - lib/bosh/director/app.rb
717
+ - lib/bosh/director/arp_flusher.rb
736
718
  - lib/bosh/director/blob_util.rb
737
719
  - lib/bosh/director/blobstores.rb
738
720
  - lib/bosh/director/cloudcheck_helper.rb
@@ -868,6 +850,7 @@ files:
868
850
  - lib/bosh/director/jobs/cloud_check/scan.rb
869
851
  - lib/bosh/director/jobs/cloud_check/scan_and_fix.rb
870
852
  - lib/bosh/director/jobs/create_snapshot.rb
853
+ - lib/bosh/director/jobs/db_job.rb
871
854
  - lib/bosh/director/jobs/delete_deployment.rb
872
855
  - lib/bosh/director/jobs/delete_deployment_snapshots.rb
873
856
  - lib/bosh/director/jobs/delete_orphan_disks.rb
@@ -890,6 +873,7 @@ files:
890
873
  - lib/bosh/director/jobs/release/release_job.rb
891
874
  - lib/bosh/director/jobs/run_errand.rb
892
875
  - lib/bosh/director/jobs/scheduled_backup.rb
876
+ - lib/bosh/director/jobs/scheduled_events_cleanup.rb
893
877
  - lib/bosh/director/jobs/scheduled_orphan_cleanup.rb
894
878
  - lib/bosh/director/jobs/snapshot_deployment.rb
895
879
  - lib/bosh/director/jobs/snapshot_deployments.rb
@@ -907,7 +891,6 @@ files:
907
891
  - lib/bosh/director/manifest/changeset.rb
908
892
  - lib/bosh/director/manifest/diff_lines.rb
909
893
  - lib/bosh/director/manifest/manifest.rb
910
- - lib/bosh/director/manifest/redactor.rb
911
894
  - lib/bosh/director/models.rb
912
895
  - lib/bosh/director/models/cloud_config.rb
913
896
  - lib/bosh/director/models/compiled_package.rb
@@ -918,9 +901,11 @@ files:
918
901
  - lib/bosh/director/models/dns.rb
919
902
  - lib/bosh/director/models/dns/domain.rb
920
903
  - lib/bosh/director/models/dns/record.rb
904
+ - lib/bosh/director/models/event.rb
921
905
  - lib/bosh/director/models/helpers/model_helper.rb
922
906
  - lib/bosh/director/models/instance.rb
923
907
  - lib/bosh/director/models/ip_address.rb
908
+ - lib/bosh/director/models/lock.rb
924
909
  - lib/bosh/director/models/log_bundle.rb
925
910
  - lib/bosh/director/models/orphan_disk.rb
926
911
  - lib/bosh/director/models/orphan_snapshot.rb
@@ -968,6 +953,7 @@ files:
968
953
  - lib/bosh/director/vm_deleter.rb
969
954
  - lib/bosh/director/vm_metadata_updater.rb
970
955
  - lib/bosh/director/vm_recreator.rb
956
+ - lib/bosh/director/worker.rb
971
957
  - lib/cloud/dummy.rb
972
958
  homepage: https://github.com/cloudfoundry/bosh
973
959
  licenses:
@@ -1,44 +0,0 @@
1
- module Bosh::Director
2
- class Redactor
3
- REDACT_KEY_NAMES = %w(
4
- properties
5
- bosh
6
- )
7
-
8
- def self.redact_properties(obj, redact = true ,redact_key_is_ancestor = false)
9
- return obj unless redact
10
- if redact_key_is_ancestor
11
- if obj.respond_to?(:key?)
12
- obj.keys.each{ |key|
13
- if obj[key].respond_to?(:each)
14
- redact_properties(obj[key], redact, true)
15
- else
16
- obj[key] = '<redacted>'
17
- end
18
- }
19
- elsif obj.respond_to?(:each_index)
20
- obj.each_index { |i|
21
- if obj[i].respond_to?(:each)
22
- redact_properties(obj[i], redact, true)
23
- else
24
- obj[i] = '<redacted>'
25
- end
26
- }
27
- end
28
- else
29
- if obj.respond_to?(:each)
30
- obj.each{ |a|
31
- if obj.respond_to?(:key?) && REDACT_KEY_NAMES.any? { |key| key == a.first } && a.last.respond_to?(:key?)
32
- redact_properties(a.last, redact, true)
33
- else
34
- redact_properties(a.respond_to?(:last) ? a.last : a, redact)
35
- end
36
-
37
- }
38
- end
39
- end
40
-
41
- obj
42
- end
43
- end
44
- end