Class: OsCtld::Commands::Container::LocalTransfer::Cleanup
- Inherits:
-
Base
- Object
- Commands::Base
- Logged
- Base
- OsCtld::Commands::Container::LocalTransfer::Cleanup
show all
- Defined in:
- lib/osctld/commands/container/local_transfer/cleanup.rb
Instance Method Summary
collapse
Methods inherited from Base
#build_dataset_map, #cleanup_target_container!, #clear_failed_state_snapshot, #complete_target!, #destroy_local_transfer_snapshots, #ensure_target_staged_or_complete!, #find, #force_writeout, #operation, #require_local_transfer_log!, #snapshot_datasets, #snapshot_name, #start_target!, #target_ct, #target_pool, #transfer_dataset, #validate_dataset_layout!
Methods inherited from Logged
#base_execute, #find
Instance Method Details
#cleanup_after_snapshots(ct, _log) ⇒ Object
26
27
28
|
# File 'lib/osctld/commands/container/local_transfer/cleanup.rb', line 26
def cleanup_after_snapshots(ct, _log)
ct.close_local_transfer_log
end
|
#execute(ct) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/osctld/commands/container/local_transfer/cleanup.rb', line 5
def execute(ct)
manipulate(ct) do
log = ct.exclusively do
ret = require_local_transfer_log!(ct)
unless %i[transfer cleanup].include?(ret.state) && ret.can_local_continue?(:cleanup)
error!('invalid local transfer sequence')
end
ret.state = :cleanup
ct.save_config
ret
end
destroy_local_transfer_snapshots(log)
cleanup_after_snapshots(ct, log)
end
ok
end
|