some fixes
This commit is contained in:
parent
9439840b3c
commit
627b5ba1ee
@ -62,7 +62,7 @@ EOH
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.role_name project_name, deploy_env
|
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
|
end
|
||||||
|
|
||||||
def self.knife cmd
|
def self.knife cmd
|
||||||
|
|||||||
@ -4,7 +4,8 @@ require "json"
|
|||||||
|
|
||||||
class MongoModel
|
class MongoModel
|
||||||
|
|
||||||
def to_json
|
# multi_json sends argument to 'to_json' method
|
||||||
|
def to_json arg=nil
|
||||||
JSON.pretty_generate self.to_hash
|
JSON.pretty_generate self.to_hash
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -86,7 +86,7 @@ class Project < MongoModel
|
|||||||
self.deploy_envs.each do |d|
|
self.deploy_envs.each do |d|
|
||||||
d.validate!
|
d.validate!
|
||||||
unless self.multi?
|
unless self.multi?
|
||||||
rn = "#{self.id}#{DevopsService.config[:role_separator] || "_"}#{d.identifier}"
|
rn = "#{self.id}#{DevopsConfig.config[:role_separator] || "_"}#{d.identifier}"
|
||||||
role = "role[#{rn}]"
|
role = "role[#{rn}]"
|
||||||
d.run_list = d.run_list - [rn, role]
|
d.run_list = d.run_list - [rn, role]
|
||||||
d.run_list.unshift(role)
|
d.run_list.unshift(role)
|
||||||
|
|||||||
@ -5,7 +5,7 @@ module Validators
|
|||||||
include ::ImageCommands
|
include ::ImageCommands
|
||||||
|
|
||||||
def valid?
|
def valid?
|
||||||
images = get_images(::Devops::Db.connector, @model.provider)
|
images = get_available_provider_images(::Devops::Db.connector, @model.provider)
|
||||||
images.detect do |image|
|
images.detect do |image|
|
||||||
image["id"] == @model.image
|
image["id"] == @model.image
|
||||||
end
|
end
|
||||||
|
|||||||
@ -18,7 +18,7 @@ module Devops
|
|||||||
check_privileges("project", "r")
|
check_privileges("project", "r")
|
||||||
fields = []
|
fields = []
|
||||||
if params.key?("fields") and params["fields"].is_a?(Array)
|
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)
|
fields.push k if params["fields"].include?(k)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -48,7 +48,7 @@ module Devops
|
|||||||
body = create_object_from_json_body
|
body = create_object_from_json_body
|
||||||
check_string(body["name"], "Parameter 'name' must be a not empty string")
|
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)
|
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)
|
halt_response("Project '#{p.id}' already exist") if settings.mongo.is_project_exists?(p)
|
||||||
p.add_authorized_user [request.env['REMOTE_USER']]
|
p.add_authorized_user [request.env['REMOTE_USER']]
|
||||||
settings.mongo.project_insert p
|
settings.mongo.project_insert p
|
||||||
@ -69,11 +69,11 @@ module Devops
|
|||||||
def self.update_project
|
def self.update_project
|
||||||
lambda {
|
lambda {
|
||||||
check_privileges("project", "w")
|
check_privileges("project", "w")
|
||||||
project = Project.new(create_object_from_json_body)
|
project = ::Project.new(create_object_from_json_body)
|
||||||
project.id = params[:id]
|
project.id = params[:project]
|
||||||
old_project = settings.mongo.project params[:id]
|
old_project = settings.mongo.project params[:project]
|
||||||
settings.mongo.project_update 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)
|
info = "Project '#{project.id}' has been updated." + Project.create_roles_response(roles)
|
||||||
create_response(info)
|
create_response(info)
|
||||||
}
|
}
|
||||||
@ -125,20 +125,20 @@ module Devops
|
|||||||
def self.delete_project
|
def self.delete_project
|
||||||
lambda {
|
lambda {
|
||||||
check_privileges("project", "w")
|
check_privileges("project", "w")
|
||||||
servers = settings.mongo.servers params[:id]
|
servers = settings.mongo.servers params[:project]
|
||||||
raise DependencyError.new "Deleting #{params[:id]} is forbidden: Project has servers" if !servers.empty?
|
raise DependencyError.new "Deleting #{params[:project]} is forbidden: Project has servers" if !servers.empty?
|
||||||
body = create_object_from_json_body(Hash, true)
|
body = create_object_from_json_body(Hash, true)
|
||||||
deploy_env = unless body.nil?
|
deploy_env = unless body.nil?
|
||||||
check_string(body["deploy_env"], "Parameter 'deploy_env' should be a not empty string", true)
|
check_string(body["deploy_env"], "Parameter 'deploy_env' should be a not empty string", true)
|
||||||
end
|
end
|
||||||
info = if deploy_env.nil?
|
info = if deploy_env.nil?
|
||||||
settings.mongo.project_delete(params[:id])
|
settings.mongo.project_delete(params[:project])
|
||||||
"Project '#{params[:id]}' is deleted"
|
"Project '#{params[:project]}' is deleted"
|
||||||
else
|
else
|
||||||
project = settings.mongo.project(params[:id])
|
project = settings.mongo.project(params[:project])
|
||||||
project.remove_env params[:deploy_env]
|
project.remove_env params[:deploy_env]
|
||||||
settings.mongo.project_update project
|
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
|
end
|
||||||
create_response(info)
|
create_response(info)
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ module Devops
|
|||||||
old_project.deploy_envs.each do |e|
|
old_project.deploy_envs.each do |e|
|
||||||
new_project.remove_env(e.identifier)
|
new_project.remove_env(e.identifier)
|
||||||
end
|
end
|
||||||
Project.create_roles new_project.id, new_project.deploy_envs, logger
|
::Project.create_roles new_project.id, new_project.deploy_envs, logger
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.create_roles_response roles
|
def self.create_roles_response roles
|
||||||
|
|||||||
@ -107,7 +107,7 @@ module Devops
|
|||||||
# * *Returns* :
|
# * *Returns* :
|
||||||
# 200 - Deleted
|
# 200 - Deleted
|
||||||
hash["DELETE"] = Devops::Version2_0::Handler::Project.delete_project
|
hash["DELETE"] = Devops::Version2_0::Handler::Project.delete_project
|
||||||
app.multi_routes "/project/:id", {}, hash
|
app.multi_routes "/project/:project", {}, hash
|
||||||
|
|
||||||
# Get project servers
|
# Get project servers
|
||||||
#
|
#
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user