Class: OsCtld::Commands::Container::LocalTransfer::Cleanup
- Defined in:
- lib/osctld/commands/container/local_transfer/cleanup.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Base
#client, #client_handler, #id, #opts
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
Methods inherited from Base
#base_execute, #call_cmd, #call_cmd!, #error, #error!, handle, #handled, #indirect?, #initialize, #manipulate, #manipulation_holder, #ok, #progress, #request_stop, run, run!
Constructor Details
This class inherits a constructor from OsCtld::Commands::Base
Instance Method Details
#cleanup_after_snapshots(ct, _log) ⇒ Object (protected)
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 |