115: def detach(rbox, disk, index)
116:
117: raise Rudy::Metadata::UnknownObject, disk.name unless disk.exists?
118: disk.refresh!
119:
120: unless @@global.force
121: raise Rudy::Disks::NotAttached, disk.name unless disk.volume_attached?
122: end
123:
124: umount rbox, disk, index if disk.mounted?
125: raise Rudy::Disks::InUse, disk.name if disk.mounted?
126:
127: Rudy::Routines.rescue {
128: msg = "Detaching #{disk.volid}..."
129: disk.volume_detach
130: Rudy::Utils.waiter(2, 60, STDOUT, msg) {
131: disk.volume_available?
132: }
133: }
134:
135: end