Class: Bosh::Deployer::InstanceManager::Vcloud

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/bosh/deployer/instance_manager/vcloud.rb

Defined Under Namespace

Classes: FakeRegistry

Instance Method Summary collapse

Constructor Details

#initialize(instance_manager, config, logger) ⇒ Vcloud

Returns a new instance of Vcloud.



8
9
10
11
12
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 8

def initialize(instance_manager, config, logger)
  @instance_manager = instance_manager
  @config = config
  @logger = logger
end

Instance Method Details

#check_dependenciesObject



29
30
31
32
33
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 29

def check_dependencies
  if Bosh::Common.which(%w[genisoimage mkisofs]).nil?
    err("either of 'genisoimage' or 'mkisofs' commands must be present")
  end
end

#disk_size(cid) ⇒ Integer

Returns size in MiB.

Returns:

  • (Integer)

    size in MiB



49
50
51
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 49

def disk_size(cid)
  instance_manager.cloud.get_disk_size_mb(cid)
end

#persistent_disk_changed?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 53

def persistent_disk_changed?
  config.resources['persistent_disk'] != disk_size(instance_manager.state.disk_cid)
end

#remote_tunnelObject



14
15
16
17
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 14

def remote_tunnel
  # VCloud / vsphere does not use bosh-registry so no remote_tunnel
  # to bosh-registry is required
end

#startObject



35
36
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 35

def start
end

#stopObject



38
39
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 38

def stop
end

#update_spec(spec) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 19

def update_spec(spec)
  properties = spec.properties

  properties['vcd'] =
    config.spec_properties['vcd'] ||
      config.cloud_options['properties']['vcds'].first.dup

  properties['vcd']['address'] ||= properties['vcd']['url']
end