check_backup()
click to toggle source
def check_backup
if feature(:instance).foreman_proxy_with_content?
valid_fpc_backup?
elsif feature(:katello)
valid_katello_backup?
else
valid_foreman_backup?
end
end
file_map()
click to toggle source
def file_map
@file_map ||= {
:mongo_data => map_file(@backup_dir, 'mongo_data.tar.gz'),
:pgsql_data => map_file(@backup_dir, 'pgsql_data.tar.gz'),
:pulp_data => map_file(@backup_dir, 'pulp_data.tar'),
:foreman_dump => map_file(@backup_dir, 'foreman.dump'),
:candlepin_dump => map_file(@backup_dir, 'candlepin.dump'),
:mongo_dump => map_file(@backup_dir, 'mongo_dump'),
:config_files => map_file(@backup_dir, 'config_files.tar.gz'),
:pg_globals => map_file(@backup_dir, 'pg_globals.dump'),
:metadata => map_file(@backup_dir, 'metadata.yml')
}
end
foreman_logical_backup?()
click to toggle source
def foreman_logical_backup?
file_map[:pgsql_data][:present] &&
file_map[:foreman_dump][:present] &&
!(
file_map[:candlepin_dump][:present] ||
file_map[:mongo_data][:present] ||
file_map[:mongo_dump][:present]
)
end
foreman_online_backup?()
click to toggle source
def foreman_online_backup?
file_map[:foreman_dump][:present] &&
!(
file_map[:candlepin_dump][:present] ||
file_map[:pgsql_data][:present] ||
file_map[:mongo_data][:present] ||
file_map[:mongo_dump][:present]
)
end
foreman_standard_backup?()
click to toggle source
def foreman_standard_backup?
file_map[:pgsql_data][:present] &&
!(
file_map[:candlepin_dump][:present] ||
file_map[:foreman_dump][:present] ||
file_map[:mongo_data][:present] ||
file_map[:mongo_dump][:present]
)
end
fpc_logical_backup?()
click to toggle source
def fpc_logical_backup?
file_map[:mongo_dump][:present] &&
file_map[:mongo_data][:present] &&
!(
file_map[:pgsql_data][:present] ||
file_map[:candlepin_dump][:present] ||
file_map[:foreman_dump][:present]
)
end
fpc_online_backup?()
click to toggle source
def fpc_online_backup?
file_map[:mongo_dump][:present] &&
!(
file_map[:mongo_data][:present] ||
file_map[:pgsql_data][:present] ||
file_map[:candlepin_dump][:present] ||
file_map[:foreman_dump][:present]
)
end
fpc_standard_backup?()
click to toggle source
def fpc_standard_backup?
file_map[:mongo_data][:present] &&
!(
file_map[:pgsql_data][:present] ||
file_map[:candlepin_dump][:present] ||
file_map[:foreman_dump][:present] ||
file_map[:mongo_dump][:present]
)
end
incremental?()
click to toggle source
def incremental?
!!metadata.fetch('incremental', false)
end
katello_logical_backup?()
click to toggle source
def katello_logical_backup?
file_map[:mongo_dump][:present] &&
file_map[:mongo_data][:present] &&
file_map[:pgsql_data][:present] &&
file_map[:candlepin_dump][:present] &&
file_map[:foreman_dump][:present]
end
katello_online_backup?()
click to toggle source
def katello_online_backup?
file_map[:candlepin_dump][:present] &&
file_map[:foreman_dump][:present] &&
file_map[:mongo_dump][:present] &&
!(
file_map[:mongo_data][:present] ||
file_map[:pgsql_data][:present]
)
end
katello_standard_backup?()
click to toggle source
def katello_standard_backup?
file_map[:mongo_data][:present] &&
file_map[:pgsql_data][:present] &&
!(
file_map[:candlepin_dump][:present] ||
file_map[:foreman_dump][:present] ||
file_map[:mongo_dump][:present]
)
end
map_file(backup_dir, filename)
click to toggle source
def map_file(backup_dir, filename)
file_path = File.join(backup_dir, filename)
present = File.exist?(file_path)
{
:present => present,
:path => file_path
}
end
present_files()
click to toggle source
def present_files
present_files = file_map.select { |_k, v| v[:present] }
present_files.values.map { |f| File.basename(f[:path]) }
end
pulp_tar_split?()
click to toggle source
def pulp_tar_split?
File.exist?(File.join(@backup_dir, 'pulp_data.part0002'))
end
sql_dump_files_exist?()
click to toggle source
def sql_dump_files_exist?
file_map[:foreman_dump][:present] ||
file_map[:candlepin_dump][:present]
end
tar_backups_exist?()
click to toggle source
def tar_backups_exist?
file_map[:mongo_data][:present] ||
file_map[:pulp_data][:present] ||
file_map[:pgsql_data][:present]
end
valid_backup?()
click to toggle source
def valid_backup?
file_map[:config_files][:present] && check_backup
end
valid_foreman_backup?()
click to toggle source
def valid_foreman_backup?
foreman_standard_backup? || foreman_online_backup? || foreman_logical_backup?
end
valid_fpc_backup?()
click to toggle source
def valid_fpc_backup?
fpc_online_backup? || fpc_standard_backup? || fpc_logical_backup?
end
valid_katello_backup?()
click to toggle source
def valid_katello_backup?
katello_online_backup? || katello_standard_backup? || katello_logical_backup?
end
validate_hostname?()
click to toggle source
def validate_hostname?
config_tarball = file_map[:config_files][:path]
tar_cmd = "tar zxf #{config_tarball} etc/httpd/conf/httpd.conf --to-stdout"
status, httpd_config = execute_with_status(tar_cmd)
if status == 0
match = httpd_config.match(/\s*ServerName\s+"*([^ "]+)"*\s*$/)
match ? match[1] == hostname : false
else
true
end
end