some fixes

This commit is contained in:
Anton Martynov 2015-02-19 14:16:07 +03:00
parent 9439840b3c
commit 627b5ba1ee
6 changed files with 19 additions and 18 deletions

View File

@ -62,7 +62,7 @@ EOH
end
def self.role_name project_name, deploy_env
project_name + (DevopsService.config[:role_separator] || "_") + deploy_env
project_name + (DevopsConfig.config[:role_separator] || "_") + deploy_env
end
def self.knife cmd

View File

@ -4,7 +4,8 @@ require "json"
class MongoModel
def to_json
# multi_json sends argument to 'to_json' method
def to_json arg=nil
JSON.pretty_generate self.to_hash
end

View File

@ -86,7 +86,7 @@ class Project < MongoModel
self.deploy_envs.each do |d|
d.validate!
unless self.multi?
rn = "#{self.id}#{DevopsService.config[:role_separator] || "_"}#{d.identifier}"
rn = "#{self.id}#{DevopsConfig.config[:role_separator] || "_"}#{d.identifier}"
role = "role[#{rn}]"
d.run_list = d.run_list - [rn, role]
d.run_list.unshift(role)

View File

@ -5,7 +5,7 @@ module Validators
include ::ImageCommands
def valid?
images = get_images(::Devops::Db.connector, @model.provider)
images = get_available_provider_images(::Devops::Db.connector, @model.provider)
images.detect do |image|
image["id"] == @model.image
end

View File

@ -18,7 +18,7 @@ module Devops
check_privileges("project", "r")
fields = []
if params.key?("fields") and params["fields"].is_a?(Array)
Project.fields.each do |k|
::Project.fields.each do |k|
fields.push k if params["fields"].include?(k)
end
end
@ -48,7 +48,7 @@ module Devops
body = create_object_from_json_body
check_string(body["name"], "Parameter 'name' must be a not empty string")
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
p = Project.new(body)
p = ::Project.new(body)
halt_response("Project '#{p.id}' already exist") if settings.mongo.is_project_exists?(p)
p.add_authorized_user [request.env['REMOTE_USER']]
settings.mongo.project_insert p
@ -69,11 +69,11 @@ module Devops
def self.update_project
lambda {
check_privileges("project", "w")
project = Project.new(create_object_from_json_body)
project.id = params[:id]
old_project = settings.mongo.project params[:id]
project = ::Project.new(create_object_from_json_body)
project.id = params[:project]
old_project = settings.mongo.project params[:project]
settings.mongo.project_update project
roles = Project.create_new_roles(old_project, project, logger)
roles = ::Project.create_new_roles(old_project, project, logger)
info = "Project '#{project.id}' has been updated." + Project.create_roles_response(roles)
create_response(info)
}
@ -125,20 +125,20 @@ module Devops
def self.delete_project
lambda {
check_privileges("project", "w")
servers = settings.mongo.servers params[:id]
raise DependencyError.new "Deleting #{params[:id]} is forbidden: Project has servers" if !servers.empty?
servers = settings.mongo.servers params[:project]
raise DependencyError.new "Deleting #{params[:project]} is forbidden: Project has servers" if !servers.empty?
body = create_object_from_json_body(Hash, true)
deploy_env = unless body.nil?
check_string(body["deploy_env"], "Parameter 'deploy_env' should be a not empty string", true)
end
info = if deploy_env.nil?
settings.mongo.project_delete(params[:id])
"Project '#{params[:id]}' is deleted"
settings.mongo.project_delete(params[:project])
"Project '#{params[:project]}' is deleted"
else
project = settings.mongo.project(params[:id])
project = settings.mongo.project(params[:project])
project.remove_env params[:deploy_env]
settings.mongo.project_update project
"Project '#{params[:id]}'. Deploy environment '#{params[:deploy_env]}' has been deleted"
"Project '#{params[:project]}'. Deploy environment '#{params[:deploy_env]}' has been deleted"
end
create_response(info)
}
@ -248,7 +248,7 @@ module Devops
old_project.deploy_envs.each do |e|
new_project.remove_env(e.identifier)
end
Project.create_roles new_project.id, new_project.deploy_envs, logger
::Project.create_roles new_project.id, new_project.deploy_envs, logger
end
def self.create_roles_response roles

View File

@ -107,7 +107,7 @@ module Devops
# * *Returns* :
# 200 - Deleted
hash["DELETE"] = Devops::Version2_0::Handler::Project.delete_project
app.multi_routes "/project/:id", {}, hash
app.multi_routes "/project/:project", {}, hash
# Get project servers
#