diff --git a/devops-service/Gemfile b/devops-service/Gemfile index 7bbef51..eb749a4 100644 --- a/devops-service/Gemfile +++ b/devops-service/Gemfile @@ -26,3 +26,7 @@ group :test do gem 'test-unit' gem 'httpclient' end + +group :devepoment do + gem 'byebug' +end diff --git a/devops-service/Gemfile.lock b/devops-service/Gemfile.lock index acd3219..69001ab 100644 --- a/devops-service/Gemfile.lock +++ b/devops-service/Gemfile.lock @@ -13,6 +13,10 @@ GEM bson_ext (1.11.1) bson (~> 1.11.1) builder (3.2.2) + byebug (3.5.1) + columnize (~> 0.8) + debugger-linecache (~> 1.2) + slop (~> 3.6) celluloid (0.15.2) timers (~> 1.1.0) chef (11.6.0) @@ -29,6 +33,7 @@ GEM ohai (>= 0.6.0) rest-client (>= 1.0.4, < 1.7.0) yajl-ruby (~> 1.1) + columnize (0.9.0) connection_pool (2.1.1) cucumber (1.3.18) builder (>= 2.1.2) @@ -37,6 +42,7 @@ GEM multi_json (>= 1.7.5, < 2.0) multi_test (>= 0.1.1) daemons (1.1.9) + debugger-linecache (1.2.0) diff-lcs (1.2.5) em-websocket (0.3.8) addressable (>= 2.1.1) @@ -197,6 +203,7 @@ GEM em-websocket (~> 0.3.6) eventmachine thin (>= 1.3.1, < 2.0.0) + slop (3.6.0) systemu (2.5.2) test-unit (3.0.9) power_assert @@ -217,6 +224,7 @@ PLATFORMS DEPENDENCIES bson_ext + byebug chef (>= 11) cucumber devops-nibr! diff --git a/devops-service/config.rb b/devops-service/config.rb index 7aa891d..5e1061c 100644 --- a/devops-service/config.rb +++ b/devops-service/config.rb @@ -38,3 +38,5 @@ config[:aws_availability_zone] = "aws_zone" # static settings config[:static_ssh_key] = "ssh_key" # or nil config[:static_certificate] = "/path/to/.ssh/static.pem" + +config[:debug] = true diff --git a/devops-service/config.ru b/devops-service/config.ru index 0f436a9..d2f4065 100644 --- a/devops-service/config.ru +++ b/devops-service/config.ru @@ -2,6 +2,7 @@ # `bundle exec thin -R $devops_home/config.ru -e $env -d -p $port -t 600 -u $user --pid $pid_file --log $log_file start` require "rubygems" require "bundler/setup" +require 'byebug' require_relative "devops-service" require_relative "devops_config" diff --git a/devops-service/db/mongo/models/deploy_env/deploy_env_openstack.rb b/devops-service/db/mongo/models/deploy_env/deploy_env_openstack.rb index 0fc4f51..25ee42d 100644 --- a/devops-service/db/mongo/models/deploy_env/deploy_env_openstack.rb +++ b/devops-service/db/mongo/models/deploy_env/deploy_env_openstack.rb @@ -1,4 +1,4 @@ -require "db/mongo/models/deploy_env_base" +require "db/mongo/models/deploy_env/deploy_env_base" require "providers/provider_factory" class DeployEnvOpenstack < DeployEnvBase diff --git a/devops-service/db/mongo/models/deploy_env/deploy_env_static.rb b/devops-service/db/mongo/models/deploy_env/deploy_env_static.rb index c6fc843..2aa1858 100644 --- a/devops-service/db/mongo/models/deploy_env/deploy_env_static.rb +++ b/devops-service/db/mongo/models/deploy_env/deploy_env_static.rb @@ -1,4 +1,4 @@ -require "db/mongo/models/deploy_env_base" +require "db/mongo/models/deploy_env/deploy_env_base" class DeployEnvStatic < DeployEnvBase diff --git a/devops-service/devops-service.rb b/devops-service/devops-service.rb index e2249d8..abc1074 100644 --- a/devops-service/devops-service.rb +++ b/devops-service/devops-service.rb @@ -12,6 +12,7 @@ require "loader" require "devops_db" require "sidekiq/web" +require "fog" require "test_subscriber" require "test_subscriber_2" @@ -50,12 +51,37 @@ class DevopsService # add plugins routes Devops::Loader.routes end + + def debug? + DevopsConfig.config[:debug] + end + + # you could check env via + # DevopsService.env.development? or + # DevopsService.env.test? or + # DevopsService.env.production? + def self.env + unless @env + @env = DevopsConfig.config[:env].dup + def @env.test? + self == 'test' + end + def @env.development? + self == 'development' + end + def @env.production? + self == 'production' + end + end + @env + end end def self.create_method name, &block send(:generate_method, name, &block) end + end require "wisper_fix" diff --git a/devops-service/routes/v2.0.rb b/devops-service/routes/v2.0.rb index 1e71e42..50b6e8a 100644 --- a/devops-service/routes/v2.0.rb +++ b/devops-service/routes/v2.0.rb @@ -157,7 +157,8 @@ module Devops halt_response(e.message, 401) end - error Excon::Errors::Unauthorized do +=begin + error ::Excon::Errors::Unauthorized do e = env["sinatra.error"] resp = e.response ct = resp.headers["Content-Type"] @@ -174,6 +175,7 @@ module Devops end halt_response(msg, 500) end +=end error Fog::Compute::AWS::Error do e = env["sinatra.error"] diff --git a/devops-service/routes/v2.0/handlers/project.rb b/devops-service/routes/v2.0/handlers/project.rb index b9e6a82..8dcbac1 100644 --- a/devops-service/routes/v2.0/handlers/project.rb +++ b/devops-service/routes/v2.0/handlers/project.rb @@ -2,7 +2,6 @@ require "commands/deploy" require "commands/status" require "commands/server" require "db/mongo/models/project" -require "db/mongo/models/deploy_env" require "workers/project_test_worker" module Devops diff --git a/devops-service/routes/v2.0/handlers/server.rb b/devops-service/routes/v2.0/handlers/server.rb index 190acb0..2f912ce 100644 --- a/devops-service/routes/v2.0/handlers/server.rb +++ b/devops-service/routes/v2.0/handlers/server.rb @@ -8,7 +8,6 @@ require "commands/knife_commands" require "providers/provider_factory" -require "db/mongo/models/deploy_env" require "db/mongo/models/server" require "workers/create_server_worker"