X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/61d3aed1cd0286c7928167a84267c225938a37ec..7c013f919b5db9336833dbe855349600449a993d:/lib/boot/supervisor.go diff --git a/lib/boot/supervisor.go b/lib/boot/supervisor.go index ddc17953d2..0f0600f181 100644 --- a/lib/boot/supervisor.go +++ b/lib/boot/supervisor.go @@ -282,7 +282,7 @@ func (super *Supervisor) runCluster() error { if err != nil { return err } - conffile, err := os.OpenFile(filepath.Join(super.wwwtempdir, "config.yml"), os.O_CREATE|os.O_WRONLY, 0644) + conffile, err := os.OpenFile(filepath.Join(super.wwwtempdir, "config.yml"), os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644) if err != nil { return err } @@ -308,6 +308,7 @@ func (super *Supervisor) runCluster() error { if super.ClusterType != "production" { super.prependEnv("PATH", super.tempdir+"/bin:") } + super.setEnv("ARVADOS_SERVER_ADDRESS", super.ListenHost) // Now that we have the config, replace the bootstrap logger // with a new one according to the logging config. @@ -355,20 +356,24 @@ func (super *Supervisor) runCluster() error { createCertificates{}, runPostgreSQL{}, runNginx{}, - runServiceCommand{name: "controller", svc: super.cluster.Services.Controller, depends: []supervisedTask{seedDatabase{}}}, + railsDatabase{}, + runServiceCommand{name: "controller", svc: super.cluster.Services.Controller, depends: []supervisedTask{railsDatabase{}}}, runServiceCommand{name: "git-httpd", svc: super.cluster.Services.GitHTTP}, runServiceCommand{name: "health", svc: super.cluster.Services.Health}, runServiceCommand{name: "keepproxy", svc: super.cluster.Services.Keepproxy, depends: []supervisedTask{runPassenger{src: "services/api"}}}, runServiceCommand{name: "keepstore", svc: super.cluster.Services.Keepstore}, runServiceCommand{name: "keep-web", svc: super.cluster.Services.WebDAV}, - runServiceCommand{name: "ws", svc: super.cluster.Services.Websocket, depends: []supervisedTask{seedDatabase{}}}, + runServiceCommand{name: "ws", svc: super.cluster.Services.Websocket, depends: []supervisedTask{railsDatabase{}}}, installPassenger{src: "services/api", varlibdir: "railsapi"}, - runPassenger{src: "services/api", varlibdir: "railsapi", svc: super.cluster.Services.RailsAPI, depends: []supervisedTask{createCertificates{}, seedDatabase{}, installPassenger{src: "services/api", varlibdir: "railsapi"}}}, - seedDatabase{}, + runPassenger{src: "services/api", varlibdir: "railsapi", svc: super.cluster.Services.RailsAPI, depends: []supervisedTask{ + createCertificates{}, + installPassenger{src: "services/api", varlibdir: "railsapi"}, + railsDatabase{}, + }}, } if !super.NoWorkbench1 { tasks = append(tasks, - installPassenger{src: "apps/workbench", varlibdir: "workbench1", depends: []supervisedTask{seedDatabase{}}}, // dependency ensures workbench doesn't delay api install/startup + installPassenger{src: "apps/workbench", varlibdir: "workbench1", depends: []supervisedTask{railsDatabase{}}}, // dependency ensures workbench doesn't delay api install/startup runPassenger{src: "apps/workbench", varlibdir: "workbench1", svc: super.cluster.Services.Workbench1, depends: []supervisedTask{installPassenger{src: "apps/workbench", varlibdir: "workbench1"}}}, ) }