| 
									
										
										
										
											2016-02-02 11:43:13 +03:00
										 |  |  | require "workers/worker" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class DeleteServerWorker < Worker | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-10 20:39:49 +03:00
										 |  |  |   # options must contain 'server_id', 'current_user' | 
					
						
							| 
									
										
										
										
											2016-02-02 11:43:13 +03:00
										 |  |  |   def perform(options) | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |     server_id = options.fetch('server_id') | 
					
						
							|  |  |  |     owner = options['user'] || 'SYSTEM' | 
					
						
							| 
									
										
										
										
											2016-02-02 11:43:13 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |     call do |out, task| | 
					
						
							|  |  |  |       server = Devops::Model::Server.find(server_id) | 
					
						
							|  |  |  |       set_task_data({ | 
					
						
							|  |  |  |         "created_by" => owner, | 
					
						
							|  |  |  |         "project" => server.project, | 
					
						
							|  |  |  |         "environment" => server.environment, | 
					
						
							|  |  |  |         "server_id" => server.id, | 
					
						
							|  |  |  |         "category" => server.category, | 
					
						
							|  |  |  |         "type" => Devops::Model::JobTask::DELETE_SERVER_TYPE | 
					
						
							|  |  |  |       }) | 
					
						
							| 
									
										
										
										
											2016-02-02 11:43:13 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |       msg = "Trying to delete server '#{server.id}'" | 
					
						
							|  |  |  |       logger.info msg | 
					
						
							|  |  |  |       out.puts msg | 
					
						
							|  |  |  |       out.flush | 
					
						
							|  |  |  |       e = Devops::Executor::ServerExecutor.new(server, out, owner) | 
					
						
							|  |  |  |       e.job_task = task | 
					
						
							| 
									
										
										
										
											2016-02-02 11:43:13 +03:00
										 |  |  |       e.delete_server | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | end |