diff --git a/devops-service/db/mongo/models/report.rb b/devops-service/db/mongo/models/report.rb index c557b22..e0d03db 100644 --- a/devops-service/db/mongo/models/report.rb +++ b/devops-service/db/mongo/models/report.rb @@ -11,6 +11,7 @@ module Devops STACK_TYPE = 5 DEPLOY_STACK_TYPE = 6 DELETE_SERVER_TYPE = 7 + EXPIRE_SERVER_TYPE = 8 attr_accessor :id, :file, :updated_at, :created_by, :project, :deploy_env, :type, :chef_node_name, :host, :status, :stack, :subreports, :job_result_code diff --git a/devops-service/lib/executors/expiration_scheduler.rb b/devops-service/lib/executors/expiration_scheduler.rb index 5eee52f..d84702d 100644 --- a/devops-service/lib/executors/expiration_scheduler.rb +++ b/devops-service/lib/executors/expiration_scheduler.rb @@ -1,4 +1,4 @@ -require "workers/delete_server_worker" +require "workers/delete_expired_server_worker" module Devops module Executor @@ -9,7 +9,7 @@ module Devops def schedule_expiration! return unless @expires - DeleteServerWorker.perform_in(interval_in_seconds, server_chef_node_name: @server.chef_node_name) + DeleteExpiredServerWorker.perform_in(interval_in_seconds, server_chef_node_name: @server.chef_node_name) end def interval_in_seconds diff --git a/devops-service/spec/executors/expiration_scheduler_spec.rb b/devops-service/spec/executors/expiration_scheduler_spec.rb index 6964e5d..f8009f8 100644 --- a/devops-service/spec/executors/expiration_scheduler_spec.rb +++ b/devops-service/spec/executors/expiration_scheduler_spec.rb @@ -5,12 +5,12 @@ RSpec.describe Devops::Executor::ExpirationScheduler do describe '#schedule_expiration!' do it 'schedules server deleting at given time' do - expect(DeleteServerWorker).to receive(:perform_in).with(120, server_chef_node_name: 'chef_node_name') + expect(DeleteExpiredServerWorker).to receive(:perform_in).with(120, server_chef_node_name: 'chef_node_name') described_class.new('2m', server).schedule_expiration! end it "doesn't schedule job if expires is nil" do - expect(DeleteServerWorker).not_to receive(:perform_in) + expect(DeleteExpiredServerWorker).not_to receive(:perform_in) described_class.new(nil, server).schedule_expiration! end end diff --git a/devops-service/spec/executors/server_executor_spec.rb b/devops-service/spec/executors/server_executor_spec.rb index de70722..142f193 100644 --- a/devops-service/spec/executors/server_executor_spec.rb +++ b/devops-service/spec/executors/server_executor_spec.rb @@ -139,14 +139,14 @@ RSpec.describe Devops::Executor::ServerExecutor, type: :executor, stubbed_connec it 'schedules expiration for server' do deploy_env.expires = '2m' - allow(DeleteServerWorker).to receive(:perform_in) - expect(DeleteServerWorker).to receive(:perform_in).with(120, {server_chef_node_name: 'node_name'}) + allow(DeleteExpiredServerWorker).to receive(:perform_in) + expect(DeleteExpiredServerWorker).to receive(:perform_in).with(120, {server_chef_node_name: 'node_name'}) create_server end it "doesn't schedule expiration if deploy_env.expires is nil" do deploy_env.expires = nil - expect(DeleteServerWorker).not_to receive(:perform_in) + expect(DeleteExpiredServerWorker).not_to receive(:perform_in) create_server end diff --git a/devops-service/workers/delete_server_worker.rb b/devops-service/workers/delete_expired_server_worker.rb similarity index 83% rename from devops-service/workers/delete_server_worker.rb rename to devops-service/workers/delete_expired_server_worker.rb index c4e02eb..a749e73 100644 --- a/devops-service/workers/delete_server_worker.rb +++ b/devops-service/workers/delete_expired_server_worker.rb @@ -3,13 +3,13 @@ require "db/mongo/models/report" require "lib/executors/server_executor" require "workers/worker" -class DeleteServerWorker < Worker +class DeleteExpiredServerWorker < Worker def perform(options) chef_node_name = options.fetch('server_chef_node_name') - puts "Expire server '#{chef_node_name}'." call() do |out, file| + out.puts "Expire server '#{chef_node_name}'." server = mongo.server_by_chef_node_name(chef_node_name) report = save_report(file, server) @@ -28,7 +28,7 @@ class DeleteServerWorker < Worker "created_by" => 'SYSTEM', "project" => server.project, "deploy_env" => server.deploy_env, - "type" => Devops::Model::Report::DELETE_SERVER_TYPE + "type" => Devops::Model::Report::EXPIRE_SERVER_TYPE ) mongo.save_report(report) report