From 44ad70b01bc429e1b35b0a65ca5c016749fcef87 Mon Sep 17 00:00:00 2001 From: amartynov Date: Tue, 18 Aug 2015 16:37:33 +0300 Subject: [PATCH] find stack by name --- devops-service/app/api2/handlers/stack.rb | 4 ++-- devops-service/db/mongo/connectors/stack.rb | 9 ++++++++- devops-service/providers/ec2.rb | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/devops-service/app/api2/handlers/stack.rb b/devops-service/app/api2/handlers/stack.rb index 9c277e8..41b8917 100644 --- a/devops-service/app/api2/handlers/stack.rb +++ b/devops-service/app/api2/handlers/stack.rb @@ -56,8 +56,8 @@ module Devops Devops::Db.connector.stack(id) end - def delete_stack id - stack = self.stack(id) + def delete_stack name + stack = self.stack(naem) stack.delete_stack_in_cloud! Devops::Db.connector.stack_servers_delete(id) Devops::Db.connector.stack_delete(id) diff --git a/devops-service/db/mongo/connectors/stack.rb b/devops-service/db/mongo/connectors/stack.rb index 241c5b8..84d4529 100644 --- a/devops-service/db/mongo/connectors/stack.rb +++ b/devops-service/db/mongo/connectors/stack.rb @@ -1,7 +1,7 @@ module Connectors class Stack < Base include Helpers::InsertCommand, - Helpers::ShowCommand, +# Helpers::ShowCommand, Helpers::ListCommand, Helpers::DeleteCommand, Helpers::UpdateCommand @@ -18,6 +18,13 @@ module Connectors collection.update({"_id" => id}, {"$set" => {"run_list" => run_list}}) end + def stack(name, options={}) + query = {'name' => name}.merge(options) + bson = collection.find(query).to_a.first + raise RecordNotFound.new("'#{id}' not found") unless bson + model_from_bson(bson) + end + private def model_from_bson(bson) diff --git a/devops-service/providers/ec2.rb b/devops-service/providers/ec2.rb index c2143cf..299a8cc 100644 --- a/devops-service/providers/ec2.rb +++ b/devops-service/providers/ec2.rb @@ -219,7 +219,7 @@ module Provider } ) body = response.body - out << "Body: #{body.inspect}" + out << "Body: #{body.inspect}\n" stack.id = body['StackId'] out << "Stack id: #{stack.id}\n" rescue Excon::Errors::Conflict => e