Class: Bosh::Director::InstanceUpdater::VmUpdater::DiskDetacher
- Defined in:
- lib/bosh/director/instance_updater/vm_updater.rb
Instance Method Summary collapse
- #detach ⇒ Object
-
#initialize(instance, vm_model, agent_client, cloud, logger) ⇒ DiskDetacher
constructor
A new instance of DiskDetacher.
Constructor Details
#initialize(instance, vm_model, agent_client, cloud, logger) ⇒ DiskDetacher
Returns a new instance of DiskDetacher.
162 163 164 165 166 167 168 |
# File 'lib/bosh/director/instance_updater/vm_updater.rb', line 162 def initialize(instance, vm_model, agent_client, cloud, logger) @instance = instance @vm_model = vm_model @agent_client = agent_client @cloud = cloud @logger = logger end |
Instance Method Details
#detach ⇒ Object
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/bosh/director/instance_updater/vm_updater.rb', line 170 def detach unless @instance.disk_currently_attached? @logger.info('Skipping disk detaching') return end if @instance.model.persistent_disk_cid.nil? raise AgentUnexpectedDisk, "`#{@instance}' VM has disk attached but it's not reflected in director DB" end @agent_client.unmount_disk(@instance.model.persistent_disk_cid) @cloud.detach_disk(@vm_model.cid, @instance.model.persistent_disk_cid) end |