refactored, core files

This commit is contained in:
amartynov 2015-07-16 12:54:16 +03:00
parent 863480899a
commit 32443651f6
24 changed files with 256 additions and 212 deletions

View File

@ -1,4 +1,5 @@
require 'sinatra/base'
require 'core/devops-logger'
class Client < Sinatra::Base
@ -7,6 +8,25 @@ class Client < Sinatra::Base
@@config = DevopsConfig.config
end
configure :production do
logger = DevopsLogger.create("/tmp/devops-client.log", Logger::INFO)
use Rack::CommonLogger, logger
disable :dump_errors
disable :show_exceptions
# set :logging, Logger::INFO
logger.info "Production mode"
end
configure :development do
logger = DevopsLogger.create("/tmp/devops-client.log", Logger::DEBUG)
use Rack::CommonLogger, logger
# set :logging, Logger::DEBUG
disable :raise_errors
# disable :dump_errors
set :show_exceptions, :after_handler
logger.info "Development mode"
end
# Route to download devops client
get "/devops-client.gem" do
begin

View File

@ -1,5 +1,4 @@
module Devops
module Application
class DevopsApi2Application < Application
def prepare
@ -77,5 +76,4 @@ module Devops
end
end
end

View File

@ -1,28 +0,0 @@
module Devops
module Application
class Application
@@applications = []
def self.inherited(base)
@@applications << base.new
puts "Devops application '#{base}' has been added"
end
def self.applications
@@applications
end
def prepare
end
def init
end
def routes
end
end
end
end

View File

@ -1,5 +1,4 @@
module Devops
module Application
class DevopsClientApplication < Application
def prepare
@ -11,4 +10,3 @@ module Devops
end
end
end
end

View File

@ -1,5 +1,4 @@
module Devops
module Application
class DevopsVersionApplication < Application
def prepare
@ -11,5 +10,4 @@ module Devops
end
end
end
end

View File

@ -1,5 +1,4 @@
module Devops
module Application
class SidekiqApplication < Application
@ -13,5 +12,4 @@ module Devops
end
end
end

View File

@ -2,7 +2,7 @@ require 'sinatra/base'
class DevopsVersion < Sinatra::Base
VERSION = "3.0.0"
VERSION = "2.3.0"
get "/" do
VERSION

View File

@ -0,0 +1,4 @@
require "app/sidekiq_web"
require "app/devops-client"
require "app/devops-version"
#require "app/devops-api2"

View File

@ -4,11 +4,12 @@ require "rubygems"
require "bundler/setup"
require 'byebug'
require_relative "devops-service"
require_relative "devops_config"
require_relative "devops-routes"
root = File.dirname(__FILE__)
$:.push root
require_relative "core/devops-service"
require_relative "core/devops-config"
require_relative "core/devops-routes"
# Read configuration file
DevopsConfig.read
@ -27,6 +28,10 @@ config[:report_dir_v2] = File.expand_path(File.join(config[:devops_dir], "report
DevopsService.init
puts Devops::Routes.routes
if Devops::Routes.routes.empty?
puts "No applications"
exit -1
end
Devops::Routes.routes.each do |p, c|
map(p) do
run c

View File

@ -0,0 +1,26 @@
module Devops
class Application
@@applications = []
def self.inherited(base)
@@applications << base.new
puts "Devops application '#{base}' has been added"
end
def self.applications
@@applications
end
def prepare
end
def init
end
def routes
end
end
end

View File

@ -1,3 +1,5 @@
require "db/mongo/mongo_connector"
module Devops
class Db

View File

@ -0,0 +1,16 @@
require "logger"
class DevopsLogger
def self.create out, level=Logger::INFO, format='%a %d-%m-%Y %H%M '
@_logger = Logger.new out
@_logger.level = level
@_logger.datetime_format = format
@_logger.debug("Logger has been created")
@_logger
end
def self.logger
@_logger
end
end

View File

@ -1,29 +1,29 @@
require "wisper"
$:.push File.dirname(__FILE__)
=begin
require "db/exceptions/invalid_record"
require "db/exceptions/record_not_found"
require "exceptions/dependency_error"
require "db/validators/all"
require "db/mongo/mongo_connector"
require "providers/provider_factory"
require "fog"
require "loader"
require "devops_db"
require "devops_logger"
require_relative "routes/v2.0"
require "hooks"
require "app/devops-application"
require "app/devops-client"
require "app/sidekiq_web"
require "app/devops-version"
require "app/devops-api2"
=end
require_relative "sinatra/methods_with_headers"
require_relative "devops-loader"
require_relative "devops-db"
require_relative "devops-logger"
require_relative "devops-application"
require_relative "../sinatra/methods_with_headers"
require_relative "../applications"
#root = File.expand_path("../", __FILE__)
#$:.push root
class DevopsService
@ -51,7 +51,7 @@ class DevopsService
DevopsLogger.create STDOUT
routes
apps = Devops::Application::Application.applications
apps = Devops::Application.applications
apps.each do |a|
a.prepare
end
@ -91,4 +91,4 @@ class DevopsService
end
require "wisper_fix"
require_relative "../wisper_fix"

View File

@ -1,5 +1,7 @@
require "db/exceptions/invalid_record"
require "db/mongo/models/mongo_model"
require "db/validators/image/bootstrap_template.rb"
require "db/validators/image/image_in_filter.rb"
module Devops
module Model

View File

@ -1,4 +1,5 @@
class Validators::Base
module Validators
class Base
def initialize(model, options={})
@model = model
@ -38,3 +39,4 @@ class Validators::Base
end
end
end

View File

@ -1,6 +1,9 @@
require "commands/bootstrap_templates"
require "db/validators/base"
module Validators
class Image::BootstrapTemplate < Base
module Image
class BootstrapTemplate < Base
include BootstrapTemplatesCommands
@ -18,3 +21,4 @@ module Validators
end
end
end
end

View File

@ -1,16 +0,0 @@
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

View File

@ -3,7 +3,12 @@ require "sinatra/streaming"
require "helpers/version_2"
require "json"
require "fog"
require "auth/devops_auth"
require "db/exceptions/invalid_record"
require "db/exceptions/record_not_found"
require "exceptions/dependency_error"
module Devops
class Api2 < Sinatra::Base

View File

@ -1,5 +1,5 @@
module Devops
module Version2_0
module API2_0
module Routes
module FlavorRoutes
@ -31,7 +31,13 @@ module Devops
# "disk": 20
# }
# ]
app.get_with_headers "/flavors/:provider", :headers => [:accept], &Devops::Version2_0::Handler::Flavor.get_flavors
app.get_with_headers "/flavors/:provider", :headers => [:accept] do#, &Devops::Version2_0::Handler::Flavor.get_flavors
check_privileges("flavor", "r")
provider = params[:provider]
check_provider(provider)
h = Devops::API2_0::Handler::Flavor.new(provider)
json h.flavors
end
puts "Flavor routes initialized"
end

View File

@ -19,7 +19,9 @@ module Devops
def self.delete_filter
lambda {
create_response("Deleted", {:images => settings.mongo.delete_available_images(@images, params[:provider])})
# f = FilterHandler.new(?) #request, params
# f.delete
# create_response("Deleted", {:images => f.delete})# settings.mongo.delete_available_images(@images, params[:provider])})
}
end

View File

@ -1,17 +1,19 @@
require "providers/provider_factory"
module Devops
module Version2_0
module API2_0
module Handler
class Flavor
def self.get_flavors
lambda {
check_privileges("flavor", "r")
check_provider(params[:provider])
p = ::Provider::ProviderFactory.get params[:provider]
json p.flavors
}
def initialize provider
@provider = provider
end
def flavors
p = ::Provider::ProviderFactory.get @provider
p.flavors
end
end
end
end