remove unneeded code
This commit is contained in:
1 parent
5a258b8dc3
commit
426241d461
5 files changed
+1
-122
No files matched your search
@@ -1,5 +1,4 @@
|
|||||||
require "foreman"
|
require "foreman"
|
||||||
require "foreman/configuration"
|
|
||||||
require "foreman/engine"
|
require "foreman/engine"
|
||||||
require "foreman/export"
|
require "foreman/export"
|
||||||
require "thor"
|
require "thor"
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
require "foreman"
|
|
||||||
|
|
||||||
class Foreman::Configuration
|
|
||||||
|
|
||||||
attr_reader :app
|
|
||||||
attr_reader :processes
|
|
||||||
|
|
||||||
def initialize(app)
|
|
||||||
@app = app
|
|
||||||
@processes = {}
|
|
||||||
read_initial_config
|
|
||||||
end
|
|
||||||
|
|
||||||
def scale(process, amount)
|
|
||||||
old_amount = processes[process].to_i
|
|
||||||
processes[process] = amount.to_i
|
|
||||||
amount = amount.to_i
|
|
||||||
|
|
||||||
if (old_amount < amount)
|
|
||||||
((old_amount + 1) .. amount).each { |num| system "start #{app}-#{process} NUM=#{num}" }
|
|
||||||
elsif (amount < old_amount)
|
|
||||||
((amount + 1) .. old_amount).each { |num| system "stop #{app}-#{process} NUM=#{num}" }
|
|
||||||
end
|
|
||||||
|
|
||||||
write
|
|
||||||
end
|
|
||||||
|
|
||||||
def write
|
|
||||||
write_file "/etc/foreman/#{app}.conf", <<-UPSTART_CONFIG
|
|
||||||
#{app}_processes="#{processes.keys.sort.join(' ')}"
|
|
||||||
#{processes.keys.sort.map { |k| "#{app}_#{k}=\"#{processes[k]}\"" }.join("\n")}
|
|
||||||
UPSTART_CONFIG
|
|
||||||
end
|
|
||||||
|
|
||||||
private ######################################################################
|
|
||||||
|
|
||||||
def read_initial_config
|
|
||||||
config = File.read("/etc/foreman/#{app}.conf").split("\n").inject({}) do |accum, line|
|
|
||||||
key, value = line.match(/^(.+?)\s*=\s*"(.+?)"\s*$/).captures
|
|
||||||
#accum.update(parts(1) => parts(2))
|
|
||||||
accum.update(key => value)
|
|
||||||
end
|
|
||||||
config["#{app}_processes"].split(" ").each do |process|
|
|
||||||
processes[process] = config["#{app}_#{process}"].to_i
|
|
||||||
end
|
|
||||||
rescue Errno::ENOENT
|
|
||||||
end
|
|
||||||
|
|
||||||
def write_file(filename, contents)
|
|
||||||
File.open(filename, "w") do |file|
|
|
||||||
file.puts contents
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
require "foreman/configuration"
|
|
||||||
require "foreman/export"
|
require "foreman/export"
|
||||||
|
|
||||||
class Foreman::Export::Base
|
class Foreman::Export::Base
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
require "erb"
|
require "erb"
|
||||||
require "foreman/configuration"
|
|
||||||
require "foreman/export/base"
|
require "foreman/export/base"
|
||||||
|
|
||||||
class Foreman::Export::Upstart < Foreman::Export::Base
|
class Foreman::Export::Upstart < Foreman::Export::Base
|
||||||
@@ -23,27 +22,13 @@ class Foreman::Export::Upstart < Foreman::Export::Base
|
|||||||
write_file "#{location}/#{app}.conf", master_config
|
write_file "#{location}/#{app}.conf", master_config
|
||||||
|
|
||||||
process_template = export_template("upstart/process.conf.erb")
|
process_template = export_template("upstart/process.conf.erb")
|
||||||
|
|
||||||
engine.processes.values.each do |process|
|
engine.processes.values.each do |process|
|
||||||
1.upto(concurrency[process.name]) do |num|
|
1.upto(concurrency[process.name]) do |num|
|
||||||
process_config = ERB.new(process_template).result(binding)
|
process_config = ERB.new(process_template).result(binding)
|
||||||
write_file "#{location}/#{app}-#{process.name}-#{num}.conf", process_config
|
write_file "#{location}/#{app}-#{process.name}-#{num}.conf", process_config
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return
|
|
||||||
write_file "#{location}/#{app}.conf", <<-UPSTART_MASTER
|
|
||||||
UPSTART_MASTER
|
|
||||||
|
|
||||||
engine.processes.each do |process|
|
|
||||||
write_file process_conf, <<-UPSTART_CHILD
|
|
||||||
UPSTART_CHILD
|
|
||||||
end
|
|
||||||
|
|
||||||
engine.processes.each do |name, process|
|
|
||||||
config.processes[name] ||= 1
|
|
||||||
end
|
|
||||||
config.write
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
require "spec_helper"
|
|
||||||
require "foreman/configuration"
|
|
||||||
|
|
||||||
describe "Foreman::Configuration" do
|
|
||||||
subject { Foreman::Configuration.new("testapp") }
|
|
||||||
|
|
||||||
describe "initialize" do
|
|
||||||
describe "without an existing config" do
|
|
||||||
it "has no processes" do
|
|
||||||
subject.processes.length.should == 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "with an existing config" do
|
|
||||||
it "has processes" do
|
|
||||||
write_foreman_config("testapp")
|
|
||||||
subject.processes["alpha"].should == 1
|
|
||||||
subject.processes["bravo"].should == 2
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "scale" do
|
|
||||||
before(:each) { write_foreman_config("testapp") }
|
|
||||||
|
|
||||||
it "can scale up" do
|
|
||||||
mock(subject).system("start testapp-alpha NUM=2")
|
|
||||||
mock(subject).system("start testapp-alpha NUM=3")
|
|
||||||
subject.scale("alpha", 3)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "can scale down" do
|
|
||||||
mock(subject).system("stop testapp-bravo NUM=2")
|
|
||||||
subject.scale("bravo", 1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "wite" do
|
|
||||||
it "can write a configuration file" do
|
|
||||||
subject.scale("charlie", 3)
|
|
||||||
subject.scale("delta", 4)
|
|
||||||
File.read("/etc/foreman/testapp.conf").should == <<-FOREMAN_CONFIG
|
|
||||||
testapp_processes="charlie delta"
|
|
||||||
testapp_charlie="3"
|
|
||||||
testapp_delta="4"
|
|
||||||
FOREMAN_CONFIG
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Reference in new issue
Block a user