bosh-director 1.5.0.pre.1113
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +34 -0
- data/bin/bosh-director +36 -0
- data/bin/bosh-director-console +84 -0
- data/bin/bosh-director-drain-workers +42 -0
- data/bin/bosh-director-migrate +58 -0
- data/bin/bosh-director-scheduler +27 -0
- data/bin/bosh-director-worker +76 -0
- data/db/migrations/README +1 -0
- data/db/migrations/director/20110209010747_initial.rb +118 -0
- data/db/migrations/director/20110406055800_add_task_user.rb +9 -0
- data/db/migrations/director/20110518225809_remove_cid_constrain.rb +13 -0
- data/db/migrations/director/20110617211923_add_deployments_release_versions.rb +32 -0
- data/db/migrations/director/20110622212607_add_task_checkpoint_timestamp.rb +9 -0
- data/db/migrations/director/20110628023039_add_state_to_instances.rb +21 -0
- data/db/migrations/director/20110709012332_add_disk_size_to_instances.rb +9 -0
- data/db/migrations/director/20110906183441_add_log_bundles.rb +11 -0
- data/db/migrations/director/20110907194830_add_logs_json_to_templates.rb +9 -0
- data/db/migrations/director/20110915205610_add_persistent_disks.rb +51 -0
- data/db/migrations/director/20111005180929_add_properties.rb +14 -0
- data/db/migrations/director/20111110024617_add_deployment_problems.rb +24 -0
- data/db/migrations/director/20111216214145_recreate_support_for_vms.rb +9 -0
- data/db/migrations/director/20120102084027_add_credentials_to_vms.rb +7 -0
- data/db/migrations/director/20120427235217_allow_multiple_releases_per_deployment.rb +36 -0
- data/db/migrations/director/20120524175805_add_task_type.rb +44 -0
- data/db/migrations/director/20120614001930_delete_redundant_deployment_release_relation.rb +34 -0
- data/db/migrations/director/20120822004528_add_fingerprint_to_templates_and_packages.rb +17 -0
- data/db/migrations/director/20120830191244_add_properties_to_templates.rb +9 -0
- data/db/migrations/director/20121106190739_persist_vm_env.rb +9 -0
- data/db/migrations/director/20130222232131_add_sha1_to_stemcells.rb +9 -0
- data/db/migrations/director/20130312211407_add_commit_hash_to_release_versions.rb +19 -0
- data/db/migrations/director/20130409235338_snapshot.rb +15 -0
- data/db/migrations/director/20130530164918_add_paused_flag_to_instance.rb +14 -0
- data/db/migrations/director/20130531172604_add_director_attributes.rb +13 -0
- data/db/migrations/dns/20120123234908_initial.rb +27 -0
- data/lib/bosh/director.rb +133 -0
- data/lib/bosh/director/agent_client.rb +78 -0
- data/lib/bosh/director/api.rb +29 -0
- data/lib/bosh/director/api/api_helper.rb +81 -0
- data/lib/bosh/director/api/backup_manager.rb +15 -0
- data/lib/bosh/director/api/controller.rb +639 -0
- data/lib/bosh/director/api/controller_helpers.rb +34 -0
- data/lib/bosh/director/api/deployment_lookup.rb +13 -0
- data/lib/bosh/director/api/deployment_manager.rb +60 -0
- data/lib/bosh/director/api/http_constants.rb +16 -0
- data/lib/bosh/director/api/instance_lookup.rb +44 -0
- data/lib/bosh/director/api/instance_manager.rb +63 -0
- data/lib/bosh/director/api/problem_manager.rb +40 -0
- data/lib/bosh/director/api/property_manager.rb +69 -0
- data/lib/bosh/director/api/release_manager.rb +59 -0
- data/lib/bosh/director/api/resource_manager.rb +69 -0
- data/lib/bosh/director/api/resurrector_manager.rb +15 -0
- data/lib/bosh/director/api/snapshot_manager.rb +94 -0
- data/lib/bosh/director/api/stemcell_manager.rb +50 -0
- data/lib/bosh/director/api/task_helper.rb +46 -0
- data/lib/bosh/director/api/task_manager.rb +64 -0
- data/lib/bosh/director/api/user_manager.rb +72 -0
- data/lib/bosh/director/api/vm_state_manager.rb +11 -0
- data/lib/bosh/director/app.rb +35 -0
- data/lib/bosh/director/blob_util.rb +87 -0
- data/lib/bosh/director/blobstores.rb +29 -0
- data/lib/bosh/director/client.rb +156 -0
- data/lib/bosh/director/cloudcheck_helper.rb +204 -0
- data/lib/bosh/director/compile_task.rb +157 -0
- data/lib/bosh/director/config.rb +370 -0
- data/lib/bosh/director/configuration_hasher.rb +114 -0
- data/lib/bosh/director/cycle_helper.rb +36 -0
- data/lib/bosh/director/db_backup.rb +22 -0
- data/lib/bosh/director/db_backup/adapter.rb +3 -0
- data/lib/bosh/director/db_backup/adapter/mysql2.rb +27 -0
- data/lib/bosh/director/db_backup/adapter/postgres.rb +36 -0
- data/lib/bosh/director/db_backup/adapter/sqlite.rb +17 -0
- data/lib/bosh/director/db_backup/error.rb +10 -0
- data/lib/bosh/director/deployment_plan.rb +26 -0
- data/lib/bosh/director/deployment_plan/assembler.rb +430 -0
- data/lib/bosh/director/deployment_plan/compilation_config.rb +54 -0
- data/lib/bosh/director/deployment_plan/compiled_package.rb +35 -0
- data/lib/bosh/director/deployment_plan/dynamic_network.rb +91 -0
- data/lib/bosh/director/deployment_plan/idle_vm.rb +109 -0
- data/lib/bosh/director/deployment_plan/instance.rb +413 -0
- data/lib/bosh/director/deployment_plan/job.rb +470 -0
- data/lib/bosh/director/deployment_plan/manual_network.rb +137 -0
- data/lib/bosh/director/deployment_plan/network.rb +74 -0
- data/lib/bosh/director/deployment_plan/network_subnet.rb +167 -0
- data/lib/bosh/director/deployment_plan/planner.rb +288 -0
- data/lib/bosh/director/deployment_plan/preparer.rb +52 -0
- data/lib/bosh/director/deployment_plan/release.rb +126 -0
- data/lib/bosh/director/deployment_plan/resource_pool.rb +143 -0
- data/lib/bosh/director/deployment_plan/resource_pools.rb +68 -0
- data/lib/bosh/director/deployment_plan/stemcell.rb +56 -0
- data/lib/bosh/director/deployment_plan/template.rb +94 -0
- data/lib/bosh/director/deployment_plan/update_config.rb +80 -0
- data/lib/bosh/director/deployment_plan/updater.rb +55 -0
- data/lib/bosh/director/deployment_plan/vip_network.rb +79 -0
- data/lib/bosh/director/dns_helper.rb +204 -0
- data/lib/bosh/director/download_helper.rb +44 -0
- data/lib/bosh/director/duration.rb +36 -0
- data/lib/bosh/director/encryption_helper.rb +10 -0
- data/lib/bosh/director/errors.rb +198 -0
- data/lib/bosh/director/event_log.rb +136 -0
- data/lib/bosh/director/ext.rb +64 -0
- data/lib/bosh/director/hash_string_vals.rb +13 -0
- data/lib/bosh/director/instance_deleter.rb +109 -0
- data/lib/bosh/director/instance_updater.rb +506 -0
- data/lib/bosh/director/ip_util.rb +67 -0
- data/lib/bosh/director/job_queue.rb +16 -0
- data/lib/bosh/director/job_runner.rb +162 -0
- data/lib/bosh/director/job_updater.rb +121 -0
- data/lib/bosh/director/jobs/backup.rb +86 -0
- data/lib/bosh/director/jobs/base_job.rb +66 -0
- data/lib/bosh/director/jobs/cloud_check/apply_resolutions.rb +46 -0
- data/lib/bosh/director/jobs/cloud_check/scan.rb +38 -0
- data/lib/bosh/director/jobs/cloud_check/scan_and_fix.rb +73 -0
- data/lib/bosh/director/jobs/create_snapshot.rb +23 -0
- data/lib/bosh/director/jobs/delete_deployment.rb +183 -0
- data/lib/bosh/director/jobs/delete_deployment_snapshots.rb +34 -0
- data/lib/bosh/director/jobs/delete_release.rb +219 -0
- data/lib/bosh/director/jobs/delete_snapshots.rb +23 -0
- data/lib/bosh/director/jobs/delete_stemcell.rb +102 -0
- data/lib/bosh/director/jobs/fetch_logs.rb +99 -0
- data/lib/bosh/director/jobs/scheduled_backup.rb +38 -0
- data/lib/bosh/director/jobs/snapshot_deployment.rb +61 -0
- data/lib/bosh/director/jobs/snapshot_deployments.rb +23 -0
- data/lib/bosh/director/jobs/snapshot_self.rb +43 -0
- data/lib/bosh/director/jobs/ssh.rb +59 -0
- data/lib/bosh/director/jobs/update_deployment.rb +110 -0
- data/lib/bosh/director/jobs/update_release.rb +672 -0
- data/lib/bosh/director/jobs/update_stemcell.rb +109 -0
- data/lib/bosh/director/jobs/vm_state.rb +89 -0
- data/lib/bosh/director/lock.rb +133 -0
- data/lib/bosh/director/lock_helper.rb +92 -0
- data/lib/bosh/director/models.rb +29 -0
- data/lib/bosh/director/models/compiled_package.rb +33 -0
- data/lib/bosh/director/models/deployment.rb +22 -0
- data/lib/bosh/director/models/deployment_problem.rb +49 -0
- data/lib/bosh/director/models/deployment_property.rb +21 -0
- data/lib/bosh/director/models/director_attribute.rb +9 -0
- data/lib/bosh/director/models/dns.rb +9 -0
- data/lib/bosh/director/models/dns/domain.rb +9 -0
- data/lib/bosh/director/models/dns/record.rb +7 -0
- data/lib/bosh/director/models/helpers/model_helper.rb +7 -0
- data/lib/bosh/director/models/instance.rb +28 -0
- data/lib/bosh/director/models/log_bundle.rb +10 -0
- data/lib/bosh/director/models/package.rb +30 -0
- data/lib/bosh/director/models/persistent_disk.rb +13 -0
- data/lib/bosh/director/models/release.rb +17 -0
- data/lib/bosh/director/models/release_version.rb +16 -0
- data/lib/bosh/director/models/snapshot.rb +13 -0
- data/lib/bosh/director/models/stemcell.rb +18 -0
- data/lib/bosh/director/models/task.rb +10 -0
- data/lib/bosh/director/models/template.rb +44 -0
- data/lib/bosh/director/models/user.rb +11 -0
- data/lib/bosh/director/models/vm.rb +42 -0
- data/lib/bosh/director/nats_rpc.rb +54 -0
- data/lib/bosh/director/network_reservation.rb +121 -0
- data/lib/bosh/director/next_rebase_version.rb +20 -0
- data/lib/bosh/director/package_compiler.rb +423 -0
- data/lib/bosh/director/problem_handlers/base.rb +153 -0
- data/lib/bosh/director/problem_handlers/inactive_disk.rb +112 -0
- data/lib/bosh/director/problem_handlers/invalid_problem.rb +28 -0
- data/lib/bosh/director/problem_handlers/missing_vm.rb +34 -0
- data/lib/bosh/director/problem_handlers/mount_info_mismatch.rb +62 -0
- data/lib/bosh/director/problem_handlers/out_of_sync_vm.rb +64 -0
- data/lib/bosh/director/problem_handlers/unbound_instance_vm.rb +85 -0
- data/lib/bosh/director/problem_handlers/unresponsive_agent.rb +78 -0
- data/lib/bosh/director/problem_resolver.rb +103 -0
- data/lib/bosh/director/problem_scanner.rb +268 -0
- data/lib/bosh/director/resource_pool_updater.rb +216 -0
- data/lib/bosh/director/scheduler.rb +57 -0
- data/lib/bosh/director/sequel.rb +13 -0
- data/lib/bosh/director/tar_gzipper.rb +47 -0
- data/lib/bosh/director/task_result_file.rb +19 -0
- data/lib/bosh/director/thread_pool.rb +8 -0
- data/lib/bosh/director/validation_helper.rb +55 -0
- data/lib/bosh/director/version.rb +7 -0
- data/lib/bosh/director/vm_creator.rb +80 -0
- data/lib/bosh/director/vm_data.rb +63 -0
- data/lib/bosh/director/vm_metadata_updater.rb +29 -0
- data/lib/bosh/director/vm_reuser.rb +63 -0
- data/lib/cloud/dummy.rb +149 -0
- 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
|
data/lib/cloud/dummy.rb
ADDED
@@ -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: []
|