class ForemanInventoryUpload::Async::QueueForUploadJob

Public Instance Methods

base_folder() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 54
def base_folder
  input[:base_folder]
end
ensure_ouput_folder() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 29
def ensure_ouput_folder
  FileUtils.mkdir_p(uploads_folder)
end
ensure_output_script() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 33
def ensure_output_script
  return if File.exist?(script_file)

  script_source = File.join(ForemanRhCloud::Engine.root, 'lib/foreman_inventory_upload/scripts/uploader.sh.erb')

  template_src = Foreman::Renderer::Source::String.new(content: File.read(script_source))
  scope = Foreman::Renderer::Scope::Base.new(
    source: template_src,
    variables: {
      upload_url: ForemanInventoryUpload.upload_url,
    }
  )
  script_source = Foreman::Renderer.render(template_src, scope)
  File.write(script_file, script_source)
  FileUtils.chmod('+x', script_file)
end
logger() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 50
def logger
  Foreman::Logging.logger('background')
end
plan(base_folder, report_file, organization_id) click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 4
def plan(base_folder, report_file, organization_id)
  enqueue_task = plan_self(base_folder: base_folder, report_file: report_file)
  plan_upload_report(enqueue_task.output[:enqueued_file_name], organization_id)
end
plan_upload_report(enqueued_file_name, organization_id) click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 62
def plan_upload_report(enqueued_file_name, organization_id)
  plan_action(UploadReportJob, enqueued_file_name, organization_id)
end
report_file() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 58
def report_file
  input[:report_file]
end
run() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 9
def run
  logger.debug('Ensuring objects')
  ensure_ouput_folder
  ensure_output_script
  logger.debug("Copying #{report_file} to #{uploads_folder}")
  enqueued_file_name = File.join(uploads_folder, report_file)
  FileUtils.mv(File.join(base_folder, report_file), enqueued_file_name)
  logger.debug("Done copying #{report_file} to #{enqueued_file_name}")

  output[:enqueued_file_name] = enqueued_file_name
end
script_file() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 25
def script_file
  @script_file ||= File.join(uploads_folder, ForemanInventoryUpload.upload_script_file)
end
uploads_folder() click to toggle source
# File lib/foreman_inventory_upload/async/queue_for_upload_job.rb, line 21
def uploads_folder
  @uploads_folder ||= ForemanInventoryUpload.uploads_folder
end