| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  | require "commands/bootstrap_templates" | 
					
						
							|  |  |  | require "app/api3/parsers/chef" | 
					
						
							| 
									
										
										
										
											2015-07-30 15:37:43 +03:00
										 |  |  | require_relative "request_handler" | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | module Devops | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |   module API3 | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |     module Handler | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |       class Chef < RequestHandler | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         set_parser Devops::API3::Parser::ChefParser | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         include BootstrapTemplatesCommands | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         def chef_nodes | 
					
						
							|  |  |  |           KnifeFactory.instance.chef_node_list | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |         end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-30 15:37:43 +03:00
										 |  |  |         def tags node_name | 
					
						
							| 
									
										
										
										
											2015-08-14 13:28:03 +03:00
										 |  |  |           KnifeFactory.instance.tags_list(node_name) | 
					
						
							| 
									
										
										
										
											2015-07-17 20:22:29 +03:00
										 |  |  |         end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-30 15:37:43 +03:00
										 |  |  |         def set_tags node_name | 
					
						
							|  |  |  |           tags = parser.tags | 
					
						
							| 
									
										
										
										
											2015-07-17 20:22:29 +03:00
										 |  |  |           tagsStr = tags.join(" ") | 
					
						
							| 
									
										
										
										
											2015-08-14 13:28:03 +03:00
										 |  |  |           cmd = KnifeFactory.instance.tags_create(node_name, tagsStr) | 
					
						
							| 
									
										
										
										
											2015-07-30 15:37:43 +03:00
										 |  |  |           halt_response("Cannot add tags #{tagsStr} to server #{node_name}", 500) unless cmd[1] | 
					
						
							|  |  |  |           tags | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |         end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-30 15:37:43 +03:00
										 |  |  |         def unset_tags node_name | 
					
						
							|  |  |  |           tags = parser.tags | 
					
						
							| 
									
										
										
										
											2015-07-17 20:22:29 +03:00
										 |  |  |           tagsStr = tags.join(" ") | 
					
						
							| 
									
										
										
										
											2015-08-14 13:28:03 +03:00
										 |  |  |           cmd = KnifeFactory.instance.tags_delete(node_name, tagsStr) | 
					
						
							| 
									
										
										
										
											2015-07-30 15:37:43 +03:00
										 |  |  |           halt_response("Cannot delete tags #{tagsStr} from server #{node_name}: #{cmd[0]}", 500) unless cmd[1] | 
					
						
							|  |  |  |           tags | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |         end | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-22 14:22:04 +03:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 |