per default wrap every environment value in quotes
This commit is contained in:
@@ -5,7 +5,7 @@ engine.procfile.entries.each do |process|
|
||||
1.upto(self.concurrency[process.name]) do |num|
|
||||
port = engine.port_for(process, num, self.port)
|
||||
name = if (conc > 1); "#{process.name}-#{num}" else process.name; end
|
||||
environment = (engine.environment.map{ |var,env| "#{var.upcase}=#{wrap_environment env}" } + ["PORT=#{port}"])
|
||||
environment = (engine.environment.map{ |var,env| "#{var.upcase}=#{wrap_environment env}" } + ["PORT=#{wrap_environment port}"])
|
||||
app_name = "#{app}-#{name}"
|
||||
app_names << app_name
|
||||
%>
|
||||
|
||||
@@ -24,11 +24,7 @@ class Foreman::Export::Supervisord < Foreman::Export::Base
|
||||
end
|
||||
|
||||
def wrap_environment env
|
||||
if env.index(',').nil?
|
||||
env
|
||||
else
|
||||
"\"#{env}\""
|
||||
end
|
||||
"\"#{env}\""
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -73,12 +73,20 @@ describe Foreman::Export::Supervisord, :fakefs do
|
||||
end
|
||||
|
||||
context "environment export" do
|
||||
it "returns the original environment if it contains no comma" do
|
||||
supervisord.wrap_environment("production").should == "production"
|
||||
it "wraps the original environment with quotes" do
|
||||
supervisord.wrap_environment("slowqueue,fastqueue").should == '"slowqueue,fastqueue"'
|
||||
end
|
||||
|
||||
it "wraps the original environment with quotes if it contains a comma" do
|
||||
supervisord.wrap_environment("slowqueue,fastqueue").should == '"slowqueue,fastqueue"'
|
||||
it "correctly translates environment when exporting" do
|
||||
File.open("/tmp/supervisord_env", "w") { |f| f.puts("QUEUE=fastqueue,slowqueue\nVERBOSE=1") }
|
||||
|
||||
engine = Foreman::Engine.new(procfile,:env => "/tmp/supervisord_env")
|
||||
supervisor = Foreman::Export::Supervisord.new("/tmp/init", engine, options)
|
||||
stub(supervisor).say
|
||||
|
||||
supervisor.export
|
||||
|
||||
File.read("/tmp/init/app.conf").should == example_export_file("supervisord/app-env-with-comma.conf")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ stdout_logfile=/var/log/app/alpha-1-out.log
|
||||
stderr_logfile=/var/log/app/alpha-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=PORT=5000
|
||||
environment=PORT="5000"
|
||||
[program:app-alpha-2]
|
||||
command=./alpha
|
||||
autostart=true
|
||||
@@ -18,7 +18,7 @@ stdout_logfile=/var/log/app/alpha-2-out.log
|
||||
stderr_logfile=/var/log/app/alpha-2-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=PORT=5001
|
||||
environment=PORT="5001"
|
||||
|
||||
[group:app]
|
||||
programs=app-alpha-1,app-alpha-2
|
||||
|
||||
24
spec/resources/export/supervisord/app-env-with-comma.conf
Normal file
24
spec/resources/export/supervisord/app-env-with-comma.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
[program:app-alpha]
|
||||
command=./alpha
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stopsignal=QUIT
|
||||
stdout_logfile=/var/log/app/alpha-1-out.log
|
||||
stderr_logfile=/var/log/app/alpha-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=QUEUE="fastqueue,slowqueue",VERBOSE="1",PORT="5000"
|
||||
[program:app-bravo]
|
||||
command=./bravo
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stopsignal=QUIT
|
||||
stdout_logfile=/var/log/app/bravo-1-out.log
|
||||
stderr_logfile=/var/log/app/bravo-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=QUEUE="fastqueue,slowqueue",VERBOSE="1",PORT="5100"
|
||||
|
||||
[group:app]
|
||||
programs=app-alpha,app-bravo
|
||||
21
spec/resources/export/supervisord/app-env.conf
Normal file
21
spec/resources/export/supervisord/app-env.conf
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
[program:app-alpha]
|
||||
command=./alpha
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stopsignal=QUIT
|
||||
stdout_logfile=/var/log/app/alpha-1-out.log
|
||||
stderr_logfile=/var/log/app/alpha-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=FOO="bar",PORT="5000"
|
||||
[program:app-bravo]
|
||||
command=./bravo
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stopsignal=QUIT
|
||||
stdout_logfile=/var/log/app/bravo-1-out.log
|
||||
stderr_logfile=/var/log/app/bravo-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=FOO="bar",PORT="5100"
|
||||
@@ -8,7 +8,7 @@ stdout_logfile=/var/log/app/alpha-1-out.log
|
||||
stderr_logfile=/var/log/app/alpha-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=PORT=5000
|
||||
environment=PORT="5000"
|
||||
[program:app-bravo]
|
||||
command=./bravo
|
||||
autostart=true
|
||||
@@ -18,7 +18,7 @@ stdout_logfile=/var/log/app/bravo-1-out.log
|
||||
stderr_logfile=/var/log/app/bravo-1-err.log
|
||||
user=app
|
||||
directory=/tmp/app
|
||||
environment=PORT=5100
|
||||
environment=PORT="5100"
|
||||
|
||||
[group:app]
|
||||
programs=app-alpha,app-bravo
|
||||
|
||||
Reference in New Issue
Block a user