diff --git a/devops-service/commands/knife_commands.rb b/devops-service/commands/knife_commands.rb index a0e3db8..8fc5699 100644 --- a/devops-service/commands/knife_commands.rb +++ b/devops-service/commands/knife_commands.rb @@ -56,7 +56,7 @@ EOH true end - def self.roles + def self.roles(chef_env=nil) o, s = knife("role list --format json") return (s ? JSON.parse(o) : nil) end diff --git a/devops-service/db/mongo/models/deploy_env/deploy_env_base.rb b/devops-service/db/mongo/models/deploy_env/deploy_env_base.rb index ecd44f2..fa6355d 100644 --- a/devops-service/db/mongo/models/deploy_env/deploy_env_base.rb +++ b/devops-service/db/mongo/models/deploy_env/deploy_env_base.rb @@ -9,7 +9,7 @@ module Devops include DeployEnvCommands - attr_accessor :identifier, :run_list, :expires, :provider, :users + attr_accessor :identifier, :run_list, :expires, :provider, :users, :chef_env def initialize d={} self.identifier = d["identifier"] diff --git a/devops-service/db/mongo/models/stack/stack_base.rb b/devops-service/db/mongo/models/stack/stack_base.rb index 9817613..dbcc6c2 100644 --- a/devops-service/db/mongo/models/stack/stack_base.rb +++ b/devops-service/db/mongo/models/stack/stack_base.rb @@ -65,7 +65,7 @@ module Devops # It is need to support presets. # TODO: refactore it. def template_body - @template_body ||= DevopsService.mongo.stack_template(stack_template).template_body + @template_body ||= Devops::Api2.settings.mongo.stack_template(stack_template).template_body end end diff --git a/devops-service/db/mongo/mongo_connector.rb b/devops-service/db/mongo/mongo_connector.rb index c095c23..93fb641 100644 --- a/devops-service/db/mongo/mongo_connector.rb +++ b/devops-service/db/mongo/mongo_connector.rb @@ -18,9 +18,8 @@ class MongoConnector [:project, :projects_all, :projects, :project_names_with_envs, :projects_by_image, :projects_by_user, :project_insert, :project_update, :project_delete, :is_project_exists?, :check_project_auth] => :projects_connector, - [:project_templates, :projects_all, :projects, :project_names_with_envs, - :projects_by_image, :projects_by_user, :project_insert, :project_update, - :project_delete, :is_project_exists?, :check_project_auth] => :projects_templates_connector, + [:project_templates, :project_template_insert, :project_template_update, + :project_template_delete] => :projects_templates_connector, [:servers_find, :servers, :servers_by_names, :server_by_instance_id, :server_by_chef_node_name, :servers_by_key, :server_insert, :server_delete, :server_update, :server_set_chef_node_name] => :servers_connector, diff --git a/devops-service/devops-service.rb b/devops-service/devops-service.rb index b04698a..8490cc8 100644 --- a/devops-service/devops-service.rb +++ b/devops-service/devops-service.rb @@ -12,6 +12,8 @@ require "fog" require "loader" require "devops_db" +require "devops_logger" + require_relative "routes/v2.0" require "hooks" @@ -46,6 +48,8 @@ class DevopsService def init # init database Devops::Db.init + DevopsLogger.create STDOUT + routes apps = Devops::Application::Application.applications apps.each do |a| diff --git a/devops-service/devops_logger.rb b/devops-service/devops_logger.rb new file mode 100644 index 0000000..10bf2b1 --- /dev/null +++ b/devops-service/devops_logger.rb @@ -0,0 +1,16 @@ +require "logger" + +class DevopsLogger + + def self.create out, level=Logger::INFO + @_logger = Logger.new out + @_logger.level = level + @_logger.datetime_format = '%a %d-%m-%Y %H%M ' + @_logger.info("Logger has been created") + @_logger + end + + def self.logger + @_logger + end +end \ No newline at end of file diff --git a/devops-service/lib/project/handler/generic_type.rb b/devops-service/lib/project/handler/generic_type.rb index 91b3db0..24c6956 100644 --- a/devops-service/lib/project/handler/generic_type.rb +++ b/devops-service/lib/project/handler/generic_type.rb @@ -20,7 +20,7 @@ module Devops return {roles: nil} if self.multi? roles = {:new => [], :error => [], :exist => []} self.deploy_envs.each do |e| - next if e.use_json_file + # next if e.use_json_file role_name = KnifeCommands.role_name(self.id, e.identifier) chef_env = e.chef_env if roles[chef_env].nil? diff --git a/devops-service/routes/v2.0/handlers/project.rb b/devops-service/routes/v2.0/handlers/project.rb index c3ae310..e6b0eb0 100644 --- a/devops-service/routes/v2.0/handlers/project.rb +++ b/devops-service/routes/v2.0/handlers/project.rb @@ -135,7 +135,6 @@ module Devops project = settings.mongo.project(params[:project]) info = if deploy_env.nil? project.delete - settings.mongo.project_delete(params[:project]) "Project '#{params[:project]}' is deleted" else project.remove_env deploy_env diff --git a/devops-service/sinatra/methods_with_headers.rb b/devops-service/sinatra/methods_with_headers.rb index aeafdf9..1a36622 100644 --- a/devops-service/sinatra/methods_with_headers.rb +++ b/devops-service/sinatra/methods_with_headers.rb @@ -101,7 +101,7 @@ module Sinatra # Can client works with JSON? def accept_json types = request.accept_media_types - unless types.include?('application/json') or types.include?("*/*") + unless types.include?('application/json')# or types.include?("*/*") response.headers['Accept'] = 'application/json' halt_response("Accept header should contains 'application/json' type", 406) end