module ForemanMaintain::Cli::BackupCommon

Public Class Methods

included(klass) click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 4
def self.included(klass)
  klass.extend ClassMethods
end

Public Instance Methods

backup_dir() click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 8
def backup_dir
  @backup_dir ||= preserve_directory? ? backup_root_dir : backup_subdir
end
backup_subdir() click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 16
def backup_subdir
  name = feature(:instance).product_name.downcase.tr(' ', '-')
  File.join(backup_root_dir, "#{name}-backup-" + timestamp)
end
perform_backup(strategy, options = {}) click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 21
def perform_backup(strategy, options = {})
  backup_scenario = backup_scenario(options, strategy)
  rescue_scenario = rescue_scenario(options, strategy)
  puts "Starting backup: #{Time.now}"
  run_scenario(backup_scenario, rescue_scenario)
  puts "Done with backup: #{Time.now}"
  final_message
  exit runner.exit_code
end
timestamp() click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 12
def timestamp
  DateTime.now.strftime('%Y-%m-%d-%H-%M-%S')
end

Private Instance Methods

backup_scenario(options, strategy) click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 84
def backup_scenario(options, strategy)
  Scenarios::Backup.new({
    :backup_dir => backup_dir,
    :strategy => strategy,
    :preserve_dir => preserve_directory?,
    :proxy_features => features,
    :tar_volume_size => split_pulp_tar,
    :skip_pulp_content => skip_pulp_content?,
    :incremental_dir => incremental,
    :wait_for_tasks => wait_for_tasks?,
  }.merge(options))
end
final_message() click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 97
def final_message
  if runner.quit?
    if preserve_directory?
      puts "Backup didn't finish. Incomplete backup is preserved in: #{backup_dir}"
    else
      puts "Backup didn't finish. Incomplete backup was removed."
    end
  else
    puts "**** BACKUP Complete, contents can be found in: #{backup_dir} ****"
  end
end
rescue_scenario(options, strategy) click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 76
def rescue_scenario(options, strategy)
  Scenarios::BackupRescueCleanup.new({
    :backup_dir => backup_dir,
    :strategy => strategy,
    :preserve_dir => preserve_directory?,
  }.merge(options))
end