Class: Bosh::Deployer::InstanceManager::Vcloud
- Inherits:
-
Object
- Object
- Bosh::Deployer::InstanceManager::Vcloud
- Extended by:
- Forwardable
- Defined in:
- lib/bosh/deployer/instance_manager/vcloud.rb
Defined Under Namespace
Classes: FakeRegistry
Instance Method Summary collapse
- #check_dependencies ⇒ Object
-
#disk_size(cid) ⇒ Integer
Size in MiB.
-
#initialize(instance_manager, config, logger) ⇒ Vcloud
constructor
A new instance of Vcloud.
- #persistent_disk_changed? ⇒ Boolean
- #remote_tunnel ⇒ Object
- #start ⇒ Object
- #stop ⇒ Object
- #update_spec(spec) ⇒ Object
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_dependencies ⇒ Object
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.
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
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_tunnel ⇒ Object
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 |
#start ⇒ Object
35 36 |
# File 'lib/bosh/deployer/instance_manager/vcloud.rb', line 35 def start end |
#stop ⇒ Object
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.['properties']['vcds'].first.dup properties['vcd']['address'] ||= properties['vcd']['url'] end |