bosh-director 1.5.0.pre.1113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. data/CHANGELOG +34 -0
  2. data/bin/bosh-director +36 -0
  3. data/bin/bosh-director-console +84 -0
  4. data/bin/bosh-director-drain-workers +42 -0
  5. data/bin/bosh-director-migrate +58 -0
  6. data/bin/bosh-director-scheduler +27 -0
  7. data/bin/bosh-director-worker +76 -0
  8. data/db/migrations/README +1 -0
  9. data/db/migrations/director/20110209010747_initial.rb +118 -0
  10. data/db/migrations/director/20110406055800_add_task_user.rb +9 -0
  11. data/db/migrations/director/20110518225809_remove_cid_constrain.rb +13 -0
  12. data/db/migrations/director/20110617211923_add_deployments_release_versions.rb +32 -0
  13. data/db/migrations/director/20110622212607_add_task_checkpoint_timestamp.rb +9 -0
  14. data/db/migrations/director/20110628023039_add_state_to_instances.rb +21 -0
  15. data/db/migrations/director/20110709012332_add_disk_size_to_instances.rb +9 -0
  16. data/db/migrations/director/20110906183441_add_log_bundles.rb +11 -0
  17. data/db/migrations/director/20110907194830_add_logs_json_to_templates.rb +9 -0
  18. data/db/migrations/director/20110915205610_add_persistent_disks.rb +51 -0
  19. data/db/migrations/director/20111005180929_add_properties.rb +14 -0
  20. data/db/migrations/director/20111110024617_add_deployment_problems.rb +24 -0
  21. data/db/migrations/director/20111216214145_recreate_support_for_vms.rb +9 -0
  22. data/db/migrations/director/20120102084027_add_credentials_to_vms.rb +7 -0
  23. data/db/migrations/director/20120427235217_allow_multiple_releases_per_deployment.rb +36 -0
  24. data/db/migrations/director/20120524175805_add_task_type.rb +44 -0
  25. data/db/migrations/director/20120614001930_delete_redundant_deployment_release_relation.rb +34 -0
  26. data/db/migrations/director/20120822004528_add_fingerprint_to_templates_and_packages.rb +17 -0
  27. data/db/migrations/director/20120830191244_add_properties_to_templates.rb +9 -0
  28. data/db/migrations/director/20121106190739_persist_vm_env.rb +9 -0
  29. data/db/migrations/director/20130222232131_add_sha1_to_stemcells.rb +9 -0
  30. data/db/migrations/director/20130312211407_add_commit_hash_to_release_versions.rb +19 -0
  31. data/db/migrations/director/20130409235338_snapshot.rb +15 -0
  32. data/db/migrations/director/20130530164918_add_paused_flag_to_instance.rb +14 -0
  33. data/db/migrations/director/20130531172604_add_director_attributes.rb +13 -0
  34. data/db/migrations/dns/20120123234908_initial.rb +27 -0
  35. data/lib/bosh/director.rb +133 -0
  36. data/lib/bosh/director/agent_client.rb +78 -0
  37. data/lib/bosh/director/api.rb +29 -0
  38. data/lib/bosh/director/api/api_helper.rb +81 -0
  39. data/lib/bosh/director/api/backup_manager.rb +15 -0
  40. data/lib/bosh/director/api/controller.rb +639 -0
  41. data/lib/bosh/director/api/controller_helpers.rb +34 -0
  42. data/lib/bosh/director/api/deployment_lookup.rb +13 -0
  43. data/lib/bosh/director/api/deployment_manager.rb +60 -0
  44. data/lib/bosh/director/api/http_constants.rb +16 -0
  45. data/lib/bosh/director/api/instance_lookup.rb +44 -0
  46. data/lib/bosh/director/api/instance_manager.rb +63 -0
  47. data/lib/bosh/director/api/problem_manager.rb +40 -0
  48. data/lib/bosh/director/api/property_manager.rb +69 -0
  49. data/lib/bosh/director/api/release_manager.rb +59 -0
  50. data/lib/bosh/director/api/resource_manager.rb +69 -0
  51. data/lib/bosh/director/api/resurrector_manager.rb +15 -0
  52. data/lib/bosh/director/api/snapshot_manager.rb +94 -0
  53. data/lib/bosh/director/api/stemcell_manager.rb +50 -0
  54. data/lib/bosh/director/api/task_helper.rb +46 -0
  55. data/lib/bosh/director/api/task_manager.rb +64 -0
  56. data/lib/bosh/director/api/user_manager.rb +72 -0
  57. data/lib/bosh/director/api/vm_state_manager.rb +11 -0
  58. data/lib/bosh/director/app.rb +35 -0
  59. data/lib/bosh/director/blob_util.rb +87 -0
  60. data/lib/bosh/director/blobstores.rb +29 -0
  61. data/lib/bosh/director/client.rb +156 -0
  62. data/lib/bosh/director/cloudcheck_helper.rb +204 -0
  63. data/lib/bosh/director/compile_task.rb +157 -0
  64. data/lib/bosh/director/config.rb +370 -0
  65. data/lib/bosh/director/configuration_hasher.rb +114 -0
  66. data/lib/bosh/director/cycle_helper.rb +36 -0
  67. data/lib/bosh/director/db_backup.rb +22 -0
  68. data/lib/bosh/director/db_backup/adapter.rb +3 -0
  69. data/lib/bosh/director/db_backup/adapter/mysql2.rb +27 -0
  70. data/lib/bosh/director/db_backup/adapter/postgres.rb +36 -0
  71. data/lib/bosh/director/db_backup/adapter/sqlite.rb +17 -0
  72. data/lib/bosh/director/db_backup/error.rb +10 -0
  73. data/lib/bosh/director/deployment_plan.rb +26 -0
  74. data/lib/bosh/director/deployment_plan/assembler.rb +430 -0
  75. data/lib/bosh/director/deployment_plan/compilation_config.rb +54 -0
  76. data/lib/bosh/director/deployment_plan/compiled_package.rb +35 -0
  77. data/lib/bosh/director/deployment_plan/dynamic_network.rb +91 -0
  78. data/lib/bosh/director/deployment_plan/idle_vm.rb +109 -0
  79. data/lib/bosh/director/deployment_plan/instance.rb +413 -0
  80. data/lib/bosh/director/deployment_plan/job.rb +470 -0
  81. data/lib/bosh/director/deployment_plan/manual_network.rb +137 -0
  82. data/lib/bosh/director/deployment_plan/network.rb +74 -0
  83. data/lib/bosh/director/deployment_plan/network_subnet.rb +167 -0
  84. data/lib/bosh/director/deployment_plan/planner.rb +288 -0
  85. data/lib/bosh/director/deployment_plan/preparer.rb +52 -0
  86. data/lib/bosh/director/deployment_plan/release.rb +126 -0
  87. data/lib/bosh/director/deployment_plan/resource_pool.rb +143 -0
  88. data/lib/bosh/director/deployment_plan/resource_pools.rb +68 -0
  89. data/lib/bosh/director/deployment_plan/stemcell.rb +56 -0
  90. data/lib/bosh/director/deployment_plan/template.rb +94 -0
  91. data/lib/bosh/director/deployment_plan/update_config.rb +80 -0
  92. data/lib/bosh/director/deployment_plan/updater.rb +55 -0
  93. data/lib/bosh/director/deployment_plan/vip_network.rb +79 -0
  94. data/lib/bosh/director/dns_helper.rb +204 -0
  95. data/lib/bosh/director/download_helper.rb +44 -0
  96. data/lib/bosh/director/duration.rb +36 -0
  97. data/lib/bosh/director/encryption_helper.rb +10 -0
  98. data/lib/bosh/director/errors.rb +198 -0
  99. data/lib/bosh/director/event_log.rb +136 -0
  100. data/lib/bosh/director/ext.rb +64 -0
  101. data/lib/bosh/director/hash_string_vals.rb +13 -0
  102. data/lib/bosh/director/instance_deleter.rb +109 -0
  103. data/lib/bosh/director/instance_updater.rb +506 -0
  104. data/lib/bosh/director/ip_util.rb +67 -0
  105. data/lib/bosh/director/job_queue.rb +16 -0
  106. data/lib/bosh/director/job_runner.rb +162 -0
  107. data/lib/bosh/director/job_updater.rb +121 -0
  108. data/lib/bosh/director/jobs/backup.rb +86 -0
  109. data/lib/bosh/director/jobs/base_job.rb +66 -0
  110. data/lib/bosh/director/jobs/cloud_check/apply_resolutions.rb +46 -0
  111. data/lib/bosh/director/jobs/cloud_check/scan.rb +38 -0
  112. data/lib/bosh/director/jobs/cloud_check/scan_and_fix.rb +73 -0
  113. data/lib/bosh/director/jobs/create_snapshot.rb +23 -0
  114. data/lib/bosh/director/jobs/delete_deployment.rb +183 -0
  115. data/lib/bosh/director/jobs/delete_deployment_snapshots.rb +34 -0
  116. data/lib/bosh/director/jobs/delete_release.rb +219 -0
  117. data/lib/bosh/director/jobs/delete_snapshots.rb +23 -0
  118. data/lib/bosh/director/jobs/delete_stemcell.rb +102 -0
  119. data/lib/bosh/director/jobs/fetch_logs.rb +99 -0
  120. data/lib/bosh/director/jobs/scheduled_backup.rb +38 -0
  121. data/lib/bosh/director/jobs/snapshot_deployment.rb +61 -0
  122. data/lib/bosh/director/jobs/snapshot_deployments.rb +23 -0
  123. data/lib/bosh/director/jobs/snapshot_self.rb +43 -0
  124. data/lib/bosh/director/jobs/ssh.rb +59 -0
  125. data/lib/bosh/director/jobs/update_deployment.rb +110 -0
  126. data/lib/bosh/director/jobs/update_release.rb +672 -0
  127. data/lib/bosh/director/jobs/update_stemcell.rb +109 -0
  128. data/lib/bosh/director/jobs/vm_state.rb +89 -0
  129. data/lib/bosh/director/lock.rb +133 -0
  130. data/lib/bosh/director/lock_helper.rb +92 -0
  131. data/lib/bosh/director/models.rb +29 -0
  132. data/lib/bosh/director/models/compiled_package.rb +33 -0
  133. data/lib/bosh/director/models/deployment.rb +22 -0
  134. data/lib/bosh/director/models/deployment_problem.rb +49 -0
  135. data/lib/bosh/director/models/deployment_property.rb +21 -0
  136. data/lib/bosh/director/models/director_attribute.rb +9 -0
  137. data/lib/bosh/director/models/dns.rb +9 -0
  138. data/lib/bosh/director/models/dns/domain.rb +9 -0
  139. data/lib/bosh/director/models/dns/record.rb +7 -0
  140. data/lib/bosh/director/models/helpers/model_helper.rb +7 -0
  141. data/lib/bosh/director/models/instance.rb +28 -0
  142. data/lib/bosh/director/models/log_bundle.rb +10 -0
  143. data/lib/bosh/director/models/package.rb +30 -0
  144. data/lib/bosh/director/models/persistent_disk.rb +13 -0
  145. data/lib/bosh/director/models/release.rb +17 -0
  146. data/lib/bosh/director/models/release_version.rb +16 -0
  147. data/lib/bosh/director/models/snapshot.rb +13 -0
  148. data/lib/bosh/director/models/stemcell.rb +18 -0
  149. data/lib/bosh/director/models/task.rb +10 -0
  150. data/lib/bosh/director/models/template.rb +44 -0
  151. data/lib/bosh/director/models/user.rb +11 -0
  152. data/lib/bosh/director/models/vm.rb +42 -0
  153. data/lib/bosh/director/nats_rpc.rb +54 -0
  154. data/lib/bosh/director/network_reservation.rb +121 -0
  155. data/lib/bosh/director/next_rebase_version.rb +20 -0
  156. data/lib/bosh/director/package_compiler.rb +423 -0
  157. data/lib/bosh/director/problem_handlers/base.rb +153 -0
  158. data/lib/bosh/director/problem_handlers/inactive_disk.rb +112 -0
  159. data/lib/bosh/director/problem_handlers/invalid_problem.rb +28 -0
  160. data/lib/bosh/director/problem_handlers/missing_vm.rb +34 -0
  161. data/lib/bosh/director/problem_handlers/mount_info_mismatch.rb +62 -0
  162. data/lib/bosh/director/problem_handlers/out_of_sync_vm.rb +64 -0
  163. data/lib/bosh/director/problem_handlers/unbound_instance_vm.rb +85 -0
  164. data/lib/bosh/director/problem_handlers/unresponsive_agent.rb +78 -0
  165. data/lib/bosh/director/problem_resolver.rb +103 -0
  166. data/lib/bosh/director/problem_scanner.rb +268 -0
  167. data/lib/bosh/director/resource_pool_updater.rb +216 -0
  168. data/lib/bosh/director/scheduler.rb +57 -0
  169. data/lib/bosh/director/sequel.rb +13 -0
  170. data/lib/bosh/director/tar_gzipper.rb +47 -0
  171. data/lib/bosh/director/task_result_file.rb +19 -0
  172. data/lib/bosh/director/thread_pool.rb +8 -0
  173. data/lib/bosh/director/validation_helper.rb +55 -0
  174. data/lib/bosh/director/version.rb +7 -0
  175. data/lib/bosh/director/vm_creator.rb +80 -0
  176. data/lib/bosh/director/vm_data.rb +63 -0
  177. data/lib/bosh/director/vm_metadata_updater.rb +29 -0
  178. data/lib/bosh/director/vm_reuser.rb +63 -0
  179. data/lib/cloud/dummy.rb +149 -0
  180. metadata +664 -0
@@ -0,0 +1,63 @@
1
+ module Bosh::Director
2
+ # A class for storing VMs and their associated data so that they can be
3
+ # accessed and deleted easily.
4
+ class VmData
5
+
6
+ # @attr [NetworkReservation] The network reservation for this VM.
7
+ attr_reader :reservation
8
+
9
+ # @attr [Models::Vm] The VM.
10
+ attr_reader :vm
11
+
12
+ # @attr[Models::Stemcell] The Stemcell this VM is running.
13
+ attr_reader :stemcell
14
+
15
+ # @attr [Hash] A hash containing the network reservation.
16
+ attr_reader :network_settings
17
+
18
+ # @attr [Integer] The agent ID running on this VM.
19
+ attr_reader :agent_id
20
+
21
+ # @attr [AgentClient] The agent running on this VM.
22
+ attr_accessor :agent
23
+
24
+ # Initializes a VmData.
25
+ # @param [NetworkReservation] reservation The network reservation for this VM.
26
+ # @param [Models::Vm] vm The VM to be reused.
27
+ # @param [Models::Stemcell] stemcell The Stemcell to make the VM on.
28
+ # @param [Hash] network_settings A hash containing the network reservation.
29
+ def initialize(reservation, vm, stemcell, network_settings)
30
+ @reservation = reservation
31
+ @vm = vm
32
+ @stemcell = stemcell
33
+ @network_settings = network_settings
34
+ @agent_id = vm.agent_id
35
+ @being_used = false
36
+ @being_used_mutex = Mutex.new
37
+ end
38
+
39
+ # Marks that this VM is being used.
40
+ # @return [Boolean] Returns whether it could successfully mark this VM as in use.
41
+ def mark_in_use
42
+ @being_used_mutex.synchronize do
43
+ if @being_used
44
+ return false
45
+ else
46
+ @being_used = true
47
+ return true
48
+ end
49
+ end
50
+ end
51
+
52
+ # Releases the current VM to be reused.
53
+ def release
54
+ @being_used_mutex.synchronize do
55
+ @being_used = false
56
+ end
57
+ end
58
+
59
+ def in_use?
60
+ @being_used
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,29 @@
1
+ module Bosh::Director
2
+ class VmMetadataUpdater
3
+ def self.build
4
+ new(Config.cloud, {director: Config.name}, Config.logger)
5
+ end
6
+
7
+ def initialize(cloud, director_metadata, logger)
8
+ @cloud = cloud
9
+ @director_metadata = director_metadata
10
+ @logger = logger
11
+ end
12
+
13
+ def update(vm, metadata)
14
+ if @cloud.respond_to?(:set_vm_metadata)
15
+ metadata = metadata.merge(@director_metadata)
16
+ metadata[:deployment] = vm.deployment.name
17
+
18
+ if vm.instance
19
+ metadata[:job] = vm.instance.job
20
+ metadata[:index] = vm.instance.index.to_s
21
+ end
22
+
23
+ @cloud.set_vm_metadata(vm.cid, metadata)
24
+ end
25
+ rescue Bosh::Clouds::NotImplemented => e
26
+ @logger.debug(e.inspect)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,63 @@
1
+ module Bosh::Director
2
+ # A class for maintaining VmData objects, making reusing VMs easier.
3
+ class VmReuser
4
+ def initialize
5
+ @stemcells_to_vms = {}
6
+ end
7
+
8
+ # Adds a VM's information to the pool of VMs that can be reused.
9
+ # @param [NetworkReservation] reservation The network reservation for this VM.
10
+ # @param [Models::Vm] vm The VM to be reused.
11
+ # @param [Models::Stemcell] stemcell The Stemcell to make the VM on.
12
+ # @param [Hash] network_settings A hash containing the network reservation.
13
+ # @return [VmData] The VmData instance for the new VM.
14
+ def add_vm(reservation, vm, stemcell, network_settings)
15
+ vm_d = VmData.new(reservation, vm, stemcell, network_settings)
16
+ @stemcells_to_vms[stemcell] ||= []
17
+ @stemcells_to_vms[stemcell] << vm_d
18
+ vm_d.mark_in_use
19
+ vm_d
20
+ end
21
+
22
+ # Returns the VmData instance of a VM that is not in use and can be reused.
23
+ # @param [Models::Stemcell] stemcell The stemcell that the VM must be running.
24
+ # @return [VmData?] The VmData instance for an existing unused VM, if one exists. Otherwise, nil.
25
+ def get_vm(stemcell)
26
+ unless @stemcells_to_vms[stemcell].nil?
27
+ @stemcells_to_vms[stemcell].each do |vm_data|
28
+ if vm_data.mark_in_use
29
+ return vm_data
30
+ end
31
+ end
32
+ end
33
+ nil
34
+ end
35
+
36
+ def remove_vm(vm)
37
+ @stemcells_to_vms.each_value do |vms|
38
+ vms.each do |vm_data|
39
+ vms.delete(vm_data) if vm_data.vm == vm
40
+ end
41
+ end
42
+ end
43
+
44
+ # Gets the total number of compilation VMs created with a given stemcell.
45
+ # @param [Models::Stemcell] stemcell The stemcell the VMs are running.
46
+ # @return [Integer] The number of VMs running a given stemcell.
47
+ def get_num_vms(stemcell)
48
+ @stemcells_to_vms[stemcell].nil? ? 0 : @stemcells_to_vms[stemcell].size
49
+ end
50
+
51
+ # An iterator for all compilation VMs on all stemcells.
52
+ # @yield [VmData] Yields each VM in VmReuser.
53
+ def each
54
+ @stemcells_to_vms.each do |stemcell, vms|
55
+ vms.each do |vm|
56
+ yield vm
57
+ end
58
+ end
59
+ end
60
+
61
+ end
62
+
63
+ end
@@ -0,0 +1,149 @@
1
+ require 'digest/sha1'
2
+ require 'fileutils'
3
+ require 'securerandom'
4
+
5
+ module Bosh
6
+
7
+ module Clouds
8
+ class Dummy
9
+
10
+ class NotImplemented < StandardError; end
11
+
12
+ def initialize(options)
13
+ if options["dir"].nil?
14
+ raise ArgumentError, "please provide base directory for dummy cloud"
15
+ end
16
+
17
+ @options = options
18
+ @base_dir = options["dir"]
19
+ FileUtils.mkdir_p(@base_dir)
20
+ rescue Errno::EACCES
21
+ raise ArgumentError, "cannot create dummy cloud base directory #{@base_dir}"
22
+ end
23
+
24
+ def create_stemcell(image, _)
25
+ stemcell_id = Digest::SHA1.hexdigest(File.read(image))
26
+ File.write(stemcell_file(stemcell_id), image)
27
+ stemcell_id
28
+ end
29
+
30
+ def delete_stemcell(stemcell_cid)
31
+ FileUtils.rm(stemcell_file(stemcell_cid))
32
+ end
33
+
34
+ def blobstore_uri
35
+ properties = @options['agent']['blobstore']['options']
36
+ uri = URI(properties['endpoint'])
37
+ uri.user = properties['user']
38
+ uri.password = properties['password']
39
+ uri.to_s
40
+ end
41
+
42
+ def nats_uri
43
+ @options['nats']
44
+ end
45
+
46
+ def create_vm(agent_id, stemcell, resource_pool, networks, disk_locality = nil, env = nil)
47
+ agent_base_dir = "#{@options['dir']}/agent-base-dir-#{agent_id}"
48
+
49
+ root_dir = File.join(agent_base_dir, 'root_dir')
50
+ FileUtils.mkdir_p(File.join(root_dir, 'etc', 'logrotate.d'))
51
+
52
+ # FIXME: if there is a need to start this dummy cloud agent with alerts turned on
53
+ # then port should be overriden for each agent, otherwise all but first won't start
54
+ # (won't be able to bind to port)
55
+ agent_cmd = %W[bosh_agent -a #{agent_id} -s #{blobstore_uri} -p simple -b #{agent_base_dir} -n #{nats_uri} -r #{root_dir} --no-alerts]
56
+ agent_log = "#{@options['dir']}/agent.#{agent_id}.log"
57
+ agent_pid = Process.spawn(*agent_cmd, chdir: agent_base_dir, out: agent_log, err: agent_log)
58
+
59
+ Process.detach(agent_pid)
60
+
61
+ FileUtils.mkdir_p(File.join(@base_dir, "running_vms"))
62
+ FileUtils.touch(vm_file(agent_pid))
63
+
64
+ agent_pid.to_s
65
+ end
66
+
67
+ def delete_vm(vm_name)
68
+ agent_pid = vm_name.to_i
69
+ Process.kill("INT", agent_pid)
70
+ rescue Errno::ESRCH
71
+ # don't care :)
72
+ ensure
73
+ FileUtils.rm_rf(File.join(@base_dir, "running_vms", vm_name))
74
+ end
75
+
76
+ def reboot_vm(vm)
77
+ raise NotImplemented, "reboot_vm"
78
+ end
79
+
80
+ def has_vm?(vm_id)
81
+ File.exists?(vm_file(vm_id))
82
+ end
83
+
84
+ def configure_networks(vm, networks)
85
+ raise NotImplemented, "configure_networks"
86
+ end
87
+
88
+ def attach_disk(vm_id, disk_id)
89
+ file = attachment_file(vm_id, disk_id)
90
+ FileUtils.mkdir_p(File.dirname(file))
91
+ FileUtils.touch(file)
92
+ end
93
+
94
+ def detach_disk(vm_id, disk_id)
95
+ FileUtils.rm(attachment_file(vm_id, disk_id))
96
+ end
97
+
98
+ def create_disk(size, vm_locality = nil)
99
+ disk_id = SecureRandom.hex
100
+ file = disk_file(disk_id)
101
+ FileUtils.mkdir_p(File.dirname(file))
102
+ File.write(file, size.to_s)
103
+ disk_id
104
+ end
105
+
106
+ def delete_disk(disk_id)
107
+ FileUtils.rm(disk_file(disk_id))
108
+ end
109
+
110
+ def snapshot_disk(_, metadata)
111
+ snapshot_id = SecureRandom.hex
112
+ file = snapshot_file(snapshot_id)
113
+ FileUtils.mkdir_p(File.dirname(file))
114
+ File.write(file, metadata.to_json)
115
+ snapshot_id
116
+ end
117
+
118
+ def delete_snapshot(snapshot_id)
119
+ FileUtils.rm(snapshot_file(snapshot_id))
120
+ end
121
+
122
+ def validate_deployment(old_manifest, new_manifest)
123
+ raise NotImplemented, "validate_deployment"
124
+ end
125
+
126
+ private
127
+
128
+ def stemcell_file(stemcell_id)
129
+ File.join(@base_dir, "stemcell_#{stemcell_id}")
130
+ end
131
+
132
+ def vm_file(vm_id)
133
+ File.join(@base_dir, "running_vms", vm_id.to_s)
134
+ end
135
+
136
+ def disk_file(disk_id)
137
+ File.join(@base_dir, "disks", disk_id)
138
+ end
139
+
140
+ def attachment_file(vm_id, disk_id)
141
+ File.join(@base_dir, "attachments", vm_id, disk_id)
142
+ end
143
+
144
+ def snapshot_file(snapshot_id)
145
+ File.join(@base_dir, "snapshots", snapshot_id)
146
+ end
147
+ end
148
+ end
149
+ end
metadata ADDED
@@ -0,0 +1,664 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bosh-director
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.0.pre.1113
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - VMware
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-10-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bcrypt-ruby
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.0.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: blobstore_client
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 1.5.0.pre.1113
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.0.pre.1113
46
+ - !ruby/object:Gem::Dependency
47
+ name: bosh-core
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.0.pre.1113
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0.pre.1113
62
+ - !ruby/object:Gem::Dependency
63
+ name: bosh_common
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.5.0.pre.1113
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.5.0.pre.1113
78
+ - !ruby/object:Gem::Dependency
79
+ name: bosh_cpi
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 1.5.0.pre.1113
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.5.0.pre.1113
94
+ - !ruby/object:Gem::Dependency
95
+ name: bosh_openstack_cpi
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 1.5.0.pre.1113
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 1.5.0.pre.1113
110
+ - !ruby/object:Gem::Dependency
111
+ name: bosh_aws_cpi
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 1.5.0.pre.1113
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 1.5.0.pre.1113
126
+ - !ruby/object:Gem::Dependency
127
+ name: bosh_vsphere_cpi
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 1.5.0.pre.1113
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.5.0.pre.1113
142
+ - !ruby/object:Gem::Dependency
143
+ name: eventmachine
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: 0.12.9
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 0.12.9
158
+ - !ruby/object:Gem::Dependency
159
+ name: fog
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: 1.14.0
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: 1.14.0
174
+ - !ruby/object:Gem::Dependency
175
+ name: httpclient
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - '='
180
+ - !ruby/object:Gem::Version
181
+ version: 2.2.4
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - '='
188
+ - !ruby/object:Gem::Version
189
+ version: 2.2.4
190
+ - !ruby/object:Gem::Dependency
191
+ name: nats
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: 0.4.28
198
+ type: :runtime
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: 0.4.28
206
+ - !ruby/object:Gem::Dependency
207
+ name: netaddr
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ~>
212
+ - !ruby/object:Gem::Version
213
+ version: 1.5.0
214
+ type: :runtime
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: 1.5.0
222
+ - !ruby/object:Gem::Dependency
223
+ name: rack-test
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ~>
228
+ - !ruby/object:Gem::Version
229
+ version: 0.6.2
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ~>
236
+ - !ruby/object:Gem::Version
237
+ version: 0.6.2
238
+ - !ruby/object:Gem::Dependency
239
+ name: rake
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ~>
244
+ - !ruby/object:Gem::Version
245
+ version: 10.0.3
246
+ type: :runtime
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ~>
252
+ - !ruby/object:Gem::Version
253
+ version: 10.0.3
254
+ - !ruby/object:Gem::Dependency
255
+ name: redis
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ~>
260
+ - !ruby/object:Gem::Version
261
+ version: 3.0.2
262
+ type: :runtime
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ~>
268
+ - !ruby/object:Gem::Version
269
+ version: 3.0.2
270
+ - !ruby/object:Gem::Dependency
271
+ name: resque
272
+ requirement: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ~>
276
+ - !ruby/object:Gem::Version
277
+ version: 1.23.0
278
+ type: :runtime
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ~>
284
+ - !ruby/object:Gem::Version
285
+ version: 1.23.0
286
+ - !ruby/object:Gem::Dependency
287
+ name: rufus-scheduler
288
+ requirement: !ruby/object:Gem::Requirement
289
+ none: false
290
+ requirements:
291
+ - - ~>
292
+ - !ruby/object:Gem::Version
293
+ version: 2.0.18
294
+ type: :runtime
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ none: false
298
+ requirements:
299
+ - - ~>
300
+ - !ruby/object:Gem::Version
301
+ version: 2.0.18
302
+ - !ruby/object:Gem::Dependency
303
+ name: sequel
304
+ requirement: !ruby/object:Gem::Requirement
305
+ none: false
306
+ requirements:
307
+ - - ~>
308
+ - !ruby/object:Gem::Version
309
+ version: 3.43.0
310
+ type: :runtime
311
+ prerelease: false
312
+ version_requirements: !ruby/object:Gem::Requirement
313
+ none: false
314
+ requirements:
315
+ - - ~>
316
+ - !ruby/object:Gem::Version
317
+ version: 3.43.0
318
+ - !ruby/object:Gem::Dependency
319
+ name: sinatra
320
+ requirement: !ruby/object:Gem::Requirement
321
+ none: false
322
+ requirements:
323
+ - - ~>
324
+ - !ruby/object:Gem::Version
325
+ version: 1.4.2
326
+ type: :runtime
327
+ prerelease: false
328
+ version_requirements: !ruby/object:Gem::Requirement
329
+ none: false
330
+ requirements:
331
+ - - ~>
332
+ - !ruby/object:Gem::Version
333
+ version: 1.4.2
334
+ - !ruby/object:Gem::Dependency
335
+ name: sys-filesystem
336
+ requirement: !ruby/object:Gem::Requirement
337
+ none: false
338
+ requirements:
339
+ - - ~>
340
+ - !ruby/object:Gem::Version
341
+ version: 1.1.0
342
+ type: :runtime
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ none: false
346
+ requirements:
347
+ - - ~>
348
+ - !ruby/object:Gem::Version
349
+ version: 1.1.0
350
+ - !ruby/object:Gem::Dependency
351
+ name: thin
352
+ requirement: !ruby/object:Gem::Requirement
353
+ none: false
354
+ requirements:
355
+ - - ~>
356
+ - !ruby/object:Gem::Version
357
+ version: 1.5.0
358
+ type: :runtime
359
+ prerelease: false
360
+ version_requirements: !ruby/object:Gem::Requirement
361
+ none: false
362
+ requirements:
363
+ - - ~>
364
+ - !ruby/object:Gem::Version
365
+ version: 1.5.0
366
+ - !ruby/object:Gem::Dependency
367
+ name: yajl-ruby
368
+ requirement: !ruby/object:Gem::Requirement
369
+ none: false
370
+ requirements:
371
+ - - ~>
372
+ - !ruby/object:Gem::Version
373
+ version: 1.1.0
374
+ type: :runtime
375
+ prerelease: false
376
+ version_requirements: !ruby/object:Gem::Requirement
377
+ none: false
378
+ requirements:
379
+ - - ~>
380
+ - !ruby/object:Gem::Version
381
+ version: 1.1.0
382
+ - !ruby/object:Gem::Dependency
383
+ name: bosh_vcloud_cpi
384
+ requirement: !ruby/object:Gem::Requirement
385
+ none: false
386
+ requirements:
387
+ - - ~>
388
+ - !ruby/object:Gem::Version
389
+ version: 0.4.9
390
+ type: :runtime
391
+ prerelease: false
392
+ version_requirements: !ruby/object:Gem::Requirement
393
+ none: false
394
+ requirements:
395
+ - - ~>
396
+ - !ruby/object:Gem::Version
397
+ version: 0.4.9
398
+ - !ruby/object:Gem::Dependency
399
+ name: rspec
400
+ requirement: !ruby/object:Gem::Requirement
401
+ none: false
402
+ requirements:
403
+ - - ! '>='
404
+ - !ruby/object:Gem::Version
405
+ version: '0'
406
+ type: :development
407
+ prerelease: false
408
+ version_requirements: !ruby/object:Gem::Requirement
409
+ none: false
410
+ requirements:
411
+ - - ! '>='
412
+ - !ruby/object:Gem::Version
413
+ version: '0'
414
+ - !ruby/object:Gem::Dependency
415
+ name: rspec-fire
416
+ requirement: !ruby/object:Gem::Requirement
417
+ none: false
418
+ requirements:
419
+ - - ! '>='
420
+ - !ruby/object:Gem::Version
421
+ version: '0'
422
+ type: :development
423
+ prerelease: false
424
+ version_requirements: !ruby/object:Gem::Requirement
425
+ none: false
426
+ requirements:
427
+ - - ! '>='
428
+ - !ruby/object:Gem::Version
429
+ version: '0'
430
+ - !ruby/object:Gem::Dependency
431
+ name: machinist
432
+ requirement: !ruby/object:Gem::Requirement
433
+ none: false
434
+ requirements:
435
+ - - ~>
436
+ - !ruby/object:Gem::Version
437
+ version: '1.0'
438
+ type: :development
439
+ prerelease: false
440
+ version_requirements: !ruby/object:Gem::Requirement
441
+ none: false
442
+ requirements:
443
+ - - ~>
444
+ - !ruby/object:Gem::Version
445
+ version: '1.0'
446
+ description: ! 'BOSH Director
447
+
448
+ cfd471'
449
+ email: support@cloudfoundry.com
450
+ executables:
451
+ - bosh-director
452
+ - bosh-director-console
453
+ - bosh-director-drain-workers
454
+ - bosh-director-migrate
455
+ - bosh-director-scheduler
456
+ - bosh-director-worker
457
+ extensions: []
458
+ extra_rdoc_files: []
459
+ files:
460
+ - db/migrations/README
461
+ - db/migrations/director/20110209010747_initial.rb
462
+ - db/migrations/director/20110406055800_add_task_user.rb
463
+ - db/migrations/director/20110518225809_remove_cid_constrain.rb
464
+ - db/migrations/director/20110617211923_add_deployments_release_versions.rb
465
+ - db/migrations/director/20110622212607_add_task_checkpoint_timestamp.rb
466
+ - db/migrations/director/20110628023039_add_state_to_instances.rb
467
+ - db/migrations/director/20110709012332_add_disk_size_to_instances.rb
468
+ - db/migrations/director/20110906183441_add_log_bundles.rb
469
+ - db/migrations/director/20110907194830_add_logs_json_to_templates.rb
470
+ - db/migrations/director/20110915205610_add_persistent_disks.rb
471
+ - db/migrations/director/20111005180929_add_properties.rb
472
+ - db/migrations/director/20111110024617_add_deployment_problems.rb
473
+ - db/migrations/director/20111216214145_recreate_support_for_vms.rb
474
+ - db/migrations/director/20120102084027_add_credentials_to_vms.rb
475
+ - db/migrations/director/20120427235217_allow_multiple_releases_per_deployment.rb
476
+ - db/migrations/director/20120524175805_add_task_type.rb
477
+ - db/migrations/director/20120614001930_delete_redundant_deployment_release_relation.rb
478
+ - db/migrations/director/20120822004528_add_fingerprint_to_templates_and_packages.rb
479
+ - db/migrations/director/20120830191244_add_properties_to_templates.rb
480
+ - db/migrations/director/20121106190739_persist_vm_env.rb
481
+ - db/migrations/director/20130222232131_add_sha1_to_stemcells.rb
482
+ - db/migrations/director/20130312211407_add_commit_hash_to_release_versions.rb
483
+ - db/migrations/director/20130409235338_snapshot.rb
484
+ - db/migrations/director/20130530164918_add_paused_flag_to_instance.rb
485
+ - db/migrations/director/20130531172604_add_director_attributes.rb
486
+ - db/migrations/dns/20120123234908_initial.rb
487
+ - lib/bosh/director.rb
488
+ - lib/bosh/director/agent_client.rb
489
+ - lib/bosh/director/api.rb
490
+ - lib/bosh/director/api/api_helper.rb
491
+ - lib/bosh/director/api/backup_manager.rb
492
+ - lib/bosh/director/api/controller.rb
493
+ - lib/bosh/director/api/controller_helpers.rb
494
+ - lib/bosh/director/api/deployment_lookup.rb
495
+ - lib/bosh/director/api/deployment_manager.rb
496
+ - lib/bosh/director/api/http_constants.rb
497
+ - lib/bosh/director/api/instance_lookup.rb
498
+ - lib/bosh/director/api/instance_manager.rb
499
+ - lib/bosh/director/api/problem_manager.rb
500
+ - lib/bosh/director/api/property_manager.rb
501
+ - lib/bosh/director/api/release_manager.rb
502
+ - lib/bosh/director/api/resource_manager.rb
503
+ - lib/bosh/director/api/resurrector_manager.rb
504
+ - lib/bosh/director/api/snapshot_manager.rb
505
+ - lib/bosh/director/api/stemcell_manager.rb
506
+ - lib/bosh/director/api/task_helper.rb
507
+ - lib/bosh/director/api/task_manager.rb
508
+ - lib/bosh/director/api/user_manager.rb
509
+ - lib/bosh/director/api/vm_state_manager.rb
510
+ - lib/bosh/director/app.rb
511
+ - lib/bosh/director/blob_util.rb
512
+ - lib/bosh/director/blobstores.rb
513
+ - lib/bosh/director/client.rb
514
+ - lib/bosh/director/cloudcheck_helper.rb
515
+ - lib/bosh/director/compile_task.rb
516
+ - lib/bosh/director/config.rb
517
+ - lib/bosh/director/configuration_hasher.rb
518
+ - lib/bosh/director/cycle_helper.rb
519
+ - lib/bosh/director/db_backup.rb
520
+ - lib/bosh/director/db_backup/adapter.rb
521
+ - lib/bosh/director/db_backup/adapter/mysql2.rb
522
+ - lib/bosh/director/db_backup/adapter/postgres.rb
523
+ - lib/bosh/director/db_backup/adapter/sqlite.rb
524
+ - lib/bosh/director/db_backup/error.rb
525
+ - lib/bosh/director/deployment_plan.rb
526
+ - lib/bosh/director/deployment_plan/assembler.rb
527
+ - lib/bosh/director/deployment_plan/compilation_config.rb
528
+ - lib/bosh/director/deployment_plan/compiled_package.rb
529
+ - lib/bosh/director/deployment_plan/dynamic_network.rb
530
+ - lib/bosh/director/deployment_plan/idle_vm.rb
531
+ - lib/bosh/director/deployment_plan/instance.rb
532
+ - lib/bosh/director/deployment_plan/job.rb
533
+ - lib/bosh/director/deployment_plan/manual_network.rb
534
+ - lib/bosh/director/deployment_plan/network.rb
535
+ - lib/bosh/director/deployment_plan/network_subnet.rb
536
+ - lib/bosh/director/deployment_plan/planner.rb
537
+ - lib/bosh/director/deployment_plan/preparer.rb
538
+ - lib/bosh/director/deployment_plan/release.rb
539
+ - lib/bosh/director/deployment_plan/resource_pool.rb
540
+ - lib/bosh/director/deployment_plan/resource_pools.rb
541
+ - lib/bosh/director/deployment_plan/stemcell.rb
542
+ - lib/bosh/director/deployment_plan/template.rb
543
+ - lib/bosh/director/deployment_plan/update_config.rb
544
+ - lib/bosh/director/deployment_plan/updater.rb
545
+ - lib/bosh/director/deployment_plan/vip_network.rb
546
+ - lib/bosh/director/dns_helper.rb
547
+ - lib/bosh/director/download_helper.rb
548
+ - lib/bosh/director/duration.rb
549
+ - lib/bosh/director/encryption_helper.rb
550
+ - lib/bosh/director/errors.rb
551
+ - lib/bosh/director/event_log.rb
552
+ - lib/bosh/director/ext.rb
553
+ - lib/bosh/director/hash_string_vals.rb
554
+ - lib/bosh/director/instance_deleter.rb
555
+ - lib/bosh/director/instance_updater.rb
556
+ - lib/bosh/director/ip_util.rb
557
+ - lib/bosh/director/job_queue.rb
558
+ - lib/bosh/director/job_runner.rb
559
+ - lib/bosh/director/job_updater.rb
560
+ - lib/bosh/director/jobs/backup.rb
561
+ - lib/bosh/director/jobs/base_job.rb
562
+ - lib/bosh/director/jobs/cloud_check/apply_resolutions.rb
563
+ - lib/bosh/director/jobs/cloud_check/scan.rb
564
+ - lib/bosh/director/jobs/cloud_check/scan_and_fix.rb
565
+ - lib/bosh/director/jobs/create_snapshot.rb
566
+ - lib/bosh/director/jobs/delete_deployment.rb
567
+ - lib/bosh/director/jobs/delete_deployment_snapshots.rb
568
+ - lib/bosh/director/jobs/delete_release.rb
569
+ - lib/bosh/director/jobs/delete_snapshots.rb
570
+ - lib/bosh/director/jobs/delete_stemcell.rb
571
+ - lib/bosh/director/jobs/fetch_logs.rb
572
+ - lib/bosh/director/jobs/scheduled_backup.rb
573
+ - lib/bosh/director/jobs/snapshot_deployment.rb
574
+ - lib/bosh/director/jobs/snapshot_deployments.rb
575
+ - lib/bosh/director/jobs/snapshot_self.rb
576
+ - lib/bosh/director/jobs/ssh.rb
577
+ - lib/bosh/director/jobs/update_deployment.rb
578
+ - lib/bosh/director/jobs/update_release.rb
579
+ - lib/bosh/director/jobs/update_stemcell.rb
580
+ - lib/bosh/director/jobs/vm_state.rb
581
+ - lib/bosh/director/lock.rb
582
+ - lib/bosh/director/lock_helper.rb
583
+ - lib/bosh/director/models.rb
584
+ - lib/bosh/director/models/compiled_package.rb
585
+ - lib/bosh/director/models/deployment.rb
586
+ - lib/bosh/director/models/deployment_problem.rb
587
+ - lib/bosh/director/models/deployment_property.rb
588
+ - lib/bosh/director/models/director_attribute.rb
589
+ - lib/bosh/director/models/dns.rb
590
+ - lib/bosh/director/models/dns/domain.rb
591
+ - lib/bosh/director/models/dns/record.rb
592
+ - lib/bosh/director/models/helpers/model_helper.rb
593
+ - lib/bosh/director/models/instance.rb
594
+ - lib/bosh/director/models/log_bundle.rb
595
+ - lib/bosh/director/models/package.rb
596
+ - lib/bosh/director/models/persistent_disk.rb
597
+ - lib/bosh/director/models/release.rb
598
+ - lib/bosh/director/models/release_version.rb
599
+ - lib/bosh/director/models/snapshot.rb
600
+ - lib/bosh/director/models/stemcell.rb
601
+ - lib/bosh/director/models/task.rb
602
+ - lib/bosh/director/models/template.rb
603
+ - lib/bosh/director/models/user.rb
604
+ - lib/bosh/director/models/vm.rb
605
+ - lib/bosh/director/nats_rpc.rb
606
+ - lib/bosh/director/network_reservation.rb
607
+ - lib/bosh/director/next_rebase_version.rb
608
+ - lib/bosh/director/package_compiler.rb
609
+ - lib/bosh/director/problem_handlers/base.rb
610
+ - lib/bosh/director/problem_handlers/inactive_disk.rb
611
+ - lib/bosh/director/problem_handlers/invalid_problem.rb
612
+ - lib/bosh/director/problem_handlers/missing_vm.rb
613
+ - lib/bosh/director/problem_handlers/mount_info_mismatch.rb
614
+ - lib/bosh/director/problem_handlers/out_of_sync_vm.rb
615
+ - lib/bosh/director/problem_handlers/unbound_instance_vm.rb
616
+ - lib/bosh/director/problem_handlers/unresponsive_agent.rb
617
+ - lib/bosh/director/problem_resolver.rb
618
+ - lib/bosh/director/problem_scanner.rb
619
+ - lib/bosh/director/resource_pool_updater.rb
620
+ - lib/bosh/director/scheduler.rb
621
+ - lib/bosh/director/sequel.rb
622
+ - lib/bosh/director/tar_gzipper.rb
623
+ - lib/bosh/director/task_result_file.rb
624
+ - lib/bosh/director/thread_pool.rb
625
+ - lib/bosh/director/validation_helper.rb
626
+ - lib/bosh/director/version.rb
627
+ - lib/bosh/director/vm_creator.rb
628
+ - lib/bosh/director/vm_data.rb
629
+ - lib/bosh/director/vm_metadata_updater.rb
630
+ - lib/bosh/director/vm_reuser.rb
631
+ - lib/cloud/dummy.rb
632
+ - CHANGELOG
633
+ - bin/bosh-director
634
+ - bin/bosh-director-console
635
+ - bin/bosh-director-drain-workers
636
+ - bin/bosh-director-migrate
637
+ - bin/bosh-director-scheduler
638
+ - bin/bosh-director-worker
639
+ homepage: https://github.com/cloudfoundry/bosh
640
+ licenses:
641
+ - Apache 2.0
642
+ post_install_message:
643
+ rdoc_options: []
644
+ require_paths:
645
+ - lib
646
+ required_ruby_version: !ruby/object:Gem::Requirement
647
+ none: false
648
+ requirements:
649
+ - - ! '>='
650
+ - !ruby/object:Gem::Version
651
+ version: 1.9.3
652
+ required_rubygems_version: !ruby/object:Gem::Requirement
653
+ none: false
654
+ requirements:
655
+ - - ! '>'
656
+ - !ruby/object:Gem::Version
657
+ version: 1.3.1
658
+ requirements: []
659
+ rubyforge_project:
660
+ rubygems_version: 1.8.23
661
+ signing_key:
662
+ specification_version: 3
663
+ summary: BOSH Director
664
+ test_files: []