[ARVADOS] updated: 1.3.0-2341-ga9988d4cd

Git user git at public.arvados.org
Tue Mar 10 15:16:07 UTC 2020


Summary of changes:
 doc/api/index.html.textile.liquid                  |  4 +
 go.mod                                             |  2 +-
 go.sum                                             |  4 +-
 lib/boot/cert.go                                   |  2 +-
 lib/boot/cmd.go                                    | 17 +++--
 lib/boot/supervisor.go                             | 30 ++++----
 lib/config/export.go                               |  9 ++-
 lib/dispatchcloud/container/queue.go               |  7 +-
 lib/dispatchcloud/container/queue_test.go          |  7 ++
 sdk/cli/arvados-cli.gemspec                        |  7 +-
 sdk/cwl/arvados_cwl/__init__.py                    | 37 +++++++++
 .../sub.cwl => 16169-no-listing-hint.cwl}          | 19 +++--
 sdk/cwl/tests/arvados-tests.yml                    | 12 +++
 .../tests/wf/{listing_none.cwl => 16169-step.cwl}  |  8 +-
 sdk/go/arvados/container.go                        |  6 +-
 sdk/python/arvados/commands/keepdocker.py          |  2 +-
 sdk/ruby/arvados.gemspec                           |  6 +-
 .../app/controllers/user_sessions_controller.rb    |  3 +-
 services/api/app/models/user.rb                    |  8 +-
 services/login-sync/.gitignore                     |  1 +
 services/login-sync/Gemfile.lock                   | 89 ----------------------
 services/login-sync/arvados-login-sync.gemspec     |  7 +-
 22 files changed, 142 insertions(+), 145 deletions(-)
 copy sdk/cwl/tests/{secondary/sub.cwl => 16169-no-listing-hint.cwl} (58%)
 copy sdk/cwl/tests/wf/{listing_none.cwl => 16169-step.cwl} (70%)
 delete mode 100644 services/login-sync/Gemfile.lock

       via  a9988d4cde254df59d1790ef1e3768d14e2a812e (commit)
       via  f1c8e02eea0adcf49cba0117482a10b09d778724 (commit)
       via  592e04010f2e07d5629dd6f1a56f6e71816cc4a0 (commit)
       via  91ca68aea07185f989b4fe1b626a5a6252a51c76 (commit)
       via  d8a139b5d83fe49fa418d5b257c1412149851a9f (commit)
       via  c04ba156f832774ace933d4fc001cb18ad4164c3 (commit)
       via  c2312d54b351e57c858cedae9dd89729a8ea6cf6 (commit)
       via  82ea07fce560ce6bcddd47e01221d4ed2071afe2 (commit)
       via  6ae6c1baf4612d205bbd175a2570e836011e6f24 (commit)
       via  971223b2b9e05fb7e1839f41e58d3060623698bb (commit)
       via  26c62aa2c173b981f335580885f732a81611e89b (commit)
       via  12eec0fb0fc7cce9d012c81b44a9684ea45d6926 (commit)
       via  9c9eecd17f04b21fb63e331b3fabd617f9157b53 (commit)
       via  643b160f9af9a245607d4cbee488d08f8516df5e (commit)
       via  44bd1f56f64b6b587e13844945830717e2630e6b (commit)
       via  d11eb815d1722e50cf5308dc6e9d99e93d3228b7 (commit)
       via  5e55bbfce418bbdbd5069a4b6ba14539815e764c (commit)
       via  af5e26a900bbfa779ad325491d80f43eaf75de1d (commit)
       via  c56d04266de4e97b1b861c068309476ca562d72f (commit)
       via  1d9e4de7a4ff994cfc7a9319dcae56bb26c272b3 (commit)
       via  6bc3d81b5d6ce487356a252b9db4ad956a91c453 (commit)
       via  7b4082f90082bf9f14ba629ef455cd6e6e82c6a8 (commit)
       via  894d7e9c3adfa29f1373a96e54efb45a9a553083 (commit)
       via  01d8fcb8fa18e413660164174b0b91593109a271 (commit)
       via  1de238b16d94b8ce1e374b8e745671ef46d549c1 (commit)
      from  a15c20803fb7a1e400a028c00d1c2dd924765a3e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit a9988d4cde254df59d1790ef1e3768d14e2a812e
Merge: f1c8e02ee 971223b2b
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 11:15:49 2020 -0400

    15954: Merge branch 'master'
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>


commit f1c8e02eea0adcf49cba0117482a10b09d778724
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:51:41 2020 -0400

    15954: Turn off exec bits on temp config file mode.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/supervisor.go b/lib/boot/supervisor.go
index dc1f616e1..4a4ab4d98 100644
--- a/lib/boot/supervisor.go
+++ b/lib/boot/supervisor.go
@@ -106,7 +106,7 @@ func (super *Supervisor) run(cfg *arvados.Config) error {
 	if err != nil {
 		return err
 	}
-	conffile, err := os.OpenFile(filepath.Join(super.tempdir, "config.yml"), os.O_CREATE|os.O_WRONLY, 0755)
+	conffile, err := os.OpenFile(filepath.Join(super.tempdir, "config.yml"), os.O_CREATE|os.O_WRONLY, 0644)
 	if err != nil {
 		return err
 	}

commit 592e04010f2e07d5629dd6f1a56f6e71816cc4a0
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:48:12 2020 -0400

    15954: Add comment about stdout.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/cmd.go b/lib/boot/cmd.go
index 95f96a7ae..1abc93722 100644
--- a/lib/boot/cmd.go
+++ b/lib/boot/cmd.go
@@ -81,6 +81,9 @@ func (bootCommand) RunCommand(prog string, args []string, stdin io.Reader, stdou
 	if !ok {
 		return 1
 	}
+	// Write controller URL to stdout. Nothing else goes to
+	// stdout, so this provides an easy way for a calling script
+	// to discover the controller URL when everything is ready.
 	fmt.Fprintln(stdout, url)
 	// Wait for signal/crash + orderly shutdown
 	<-super.done

commit 91ca68aea07185f989b4fe1b626a5a6252a51c76
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:41:31 2020 -0400

    15954: Dedup find-available-port logic.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/supervisor.go b/lib/boot/supervisor.go
index 38e978cab..dc1f616e1 100644
--- a/lib/boot/supervisor.go
+++ b/lib/boot/supervisor.go
@@ -496,9 +496,9 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
 		return err
 	}
 	usedPort := map[string]bool{}
-	nextPort := func() string {
+	nextPort := func(host string) string {
 		for {
-			port, err := availablePort(super.ListenHost)
+			port, err := availablePort(host)
 			if err != nil {
 				panic(err)
 			}
@@ -518,11 +518,7 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
 			h = super.ListenHost
 		}
 		if p == "0" {
-			p, err = availablePort(h)
-			if err != nil {
-				return err
-			}
-			usedPort[p] = true
+			p = nextPort(h)
 		}
 		cluster.Services.Controller.ExternalURL = arvados.URL{Scheme: "https", Host: net.JoinHostPort(h, p)}
 	}
@@ -549,11 +545,11 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
 			svc == &cluster.Services.WebDAVDownload ||
 			svc == &cluster.Services.Websocket ||
 			svc == &cluster.Services.Workbench1) {
-			svc.ExternalURL = arvados.URL{Scheme: "https", Host: fmt.Sprintf("%s:%s", super.ListenHost, nextPort())}
+			svc.ExternalURL = arvados.URL{Scheme: "https", Host: fmt.Sprintf("%s:%s", super.ListenHost, nextPort(super.ListenHost))}
 		}
 		if len(svc.InternalURLs) == 0 {
 			svc.InternalURLs = map[arvados.URL]arvados.ServiceInstance{
-				arvados.URL{Scheme: "http", Host: fmt.Sprintf("%s:%s", super.ListenHost, nextPort())}: arvados.ServiceInstance{},
+				arvados.URL{Scheme: "http", Host: fmt.Sprintf("%s:%s", super.ListenHost, nextPort(super.ListenHost))}: arvados.ServiceInstance{},
 			}
 		}
 	}
@@ -581,7 +577,7 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
 	}
 	if super.ClusterType == "test" {
 		// Add a second keepstore process.
-		cluster.Services.Keepstore.InternalURLs[arvados.URL{Scheme: "http", Host: fmt.Sprintf("%s:%s", super.ListenHost, nextPort())}] = arvados.ServiceInstance{}
+		cluster.Services.Keepstore.InternalURLs[arvados.URL{Scheme: "http", Host: fmt.Sprintf("%s:%s", super.ListenHost, nextPort(super.ListenHost))}] = arvados.ServiceInstance{}
 
 		// Create a directory-backed volume for each keepstore
 		// process.
@@ -608,7 +604,7 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
 		cluster.PostgreSQL.Connection = arvados.PostgreSQLConnection{
 			"client_encoding": "utf8",
 			"host":            "localhost",
-			"port":            nextPort(),
+			"port":            nextPort(super.ListenHost),
 			"dbname":          "arvados_test",
 			"user":            "arvados",
 			"password":        "insecure_arvados_test",

commit d8a139b5d83fe49fa418d5b257c1412149851a9f
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:41:01 2020 -0400

    15954: Fix wrong func name in comment.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/cmd.go b/lib/boot/cmd.go
index 43b3ab673..95f96a7ae 100644
--- a/lib/boot/cmd.go
+++ b/lib/boot/cmd.go
@@ -22,7 +22,7 @@ type supervisedTask interface {
 	// done enough to satisfy a dependency relationship (e.g., the
 	// service is running and ready). If the task starts a
 	// goroutine that fails after Run returns (e.g., the service
-	// shuts down), it should call cancel.
+	// shuts down), it should call fail().
 	Run(ctx context.Context, fail func(error), super *Supervisor) error
 	String() string
 }

commit c04ba156f832774ace933d4fc001cb18ad4164c3
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:40:45 2020 -0400

    15954: Fix style, handle errors first.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/cmd.go b/lib/boot/cmd.go
index 60955dfa0..43b3ab673 100644
--- a/lib/boot/cmd.go
+++ b/lib/boot/cmd.go
@@ -77,12 +77,12 @@ func (bootCommand) RunCommand(prog string, args []string, stdin io.Reader, stdou
 
 	super.Start(ctx, cfg)
 	defer super.Stop()
-	if url, ok := super.WaitReady(); ok {
-		fmt.Fprintln(stdout, url)
-		// Wait for signal/crash + orderly shutdown
-		<-super.done
-		return 0
-	} else {
+	url, ok := super.WaitReady()
+	if !ok {
 		return 1
 	}
+	fmt.Fprintln(stdout, url)
+	// Wait for signal/crash + orderly shutdown
+	<-super.done
+	return 0
 }

commit c2312d54b351e57c858cedae9dd89729a8ea6cf6
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:40:25 2020 -0400

    15954: Remove superfluous argument to autofillConfig.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/supervisor.go b/lib/boot/supervisor.go
index c5f7f4262..38e978cab 100644
--- a/lib/boot/supervisor.go
+++ b/lib/boot/supervisor.go
@@ -102,7 +102,7 @@ func (super *Supervisor) run(cfg *arvados.Config) error {
 
 	// Fill in any missing config keys, and write the resulting
 	// config in the temp dir for child services to use.
-	err = super.autofillConfig(cfg, super.logger)
+	err = super.autofillConfig(cfg)
 	if err != nil {
 		return err
 	}
@@ -490,7 +490,7 @@ func (super *Supervisor) RunProgram(ctx context.Context, dir string, output io.W
 	return nil
 }
 
-func (super *Supervisor) autofillConfig(cfg *arvados.Config, log logrus.FieldLogger) error {
+func (super *Supervisor) autofillConfig(cfg *arvados.Config) error {
 	cluster, err := cfg.GetCluster("")
 	if err != nil {
 		return err

commit 82ea07fce560ce6bcddd47e01221d4ed2071afe2
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:40:04 2020 -0400

    15954: Use logger instead of writing to stderr.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/supervisor.go b/lib/boot/supervisor.go
index d3fbab06a..c5f7f4262 100644
--- a/lib/boot/supervisor.go
+++ b/lib/boot/supervisor.go
@@ -72,7 +72,7 @@ func (super *Supervisor) Start(ctx context.Context, cfg *arvados.Config) {
 
 		err := super.run(cfg)
 		if err != nil {
-			fmt.Fprintln(super.Stderr, err)
+			super.logger.WithError(err).Warn("supervisor shut down")
 		}
 		close(super.done)
 	}()

commit 6ae6c1baf4612d205bbd175a2570e836011e6f24
Author: Tom Clegg <tom at tomclegg.ca>
Date:   Tue Mar 10 10:39:41 2020 -0400

    15954: Turn off group/other-write bits, even if permitted by umask.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at tomclegg.ca>

diff --git a/lib/boot/cert.go b/lib/boot/cert.go
index 508605bb7..4b12c72ed 100644
--- a/lib/boot/cert.go
+++ b/lib/boot/cert.go
@@ -46,7 +46,7 @@ func (createCertificates) Run(ctx context.Context, fail func(error), super *Supe
 	err = ioutil.WriteFile(filepath.Join(super.tempdir, "server.cfg"), append(defaultconf, []byte(`
 [SAN]
 subjectAltName=DNS:localhost,DNS:localhost.localdomain
-`)...), 0777)
+`)...), 0644)
 	if err != nil {
 		return err
 	}
diff --git a/lib/boot/supervisor.go b/lib/boot/supervisor.go
index c11129f9e..d3fbab06a 100644
--- a/lib/boot/supervisor.go
+++ b/lib/boot/supervisor.go
@@ -96,7 +96,7 @@ func (super *Supervisor) run(cfg *arvados.Config) error {
 		return err
 	}
 	defer os.RemoveAll(super.tempdir)
-	if err := os.Mkdir(filepath.Join(super.tempdir, "bin"), 0777); err != nil {
+	if err := os.Mkdir(filepath.Join(super.tempdir, "bin"), 0755); err != nil {
 		return err
 	}
 
@@ -106,7 +106,7 @@ func (super *Supervisor) run(cfg *arvados.Config) error {
 	if err != nil {
 		return err
 	}
-	conffile, err := os.OpenFile(filepath.Join(super.tempdir, "config.yml"), os.O_CREATE|os.O_WRONLY, 0777)
+	conffile, err := os.OpenFile(filepath.Join(super.tempdir, "config.yml"), os.O_CREATE|os.O_WRONLY, 0755)
 	if err != nil {
 		return err
 	}
@@ -592,7 +592,7 @@ func (super *Supervisor) autofillConfig(cfg *arvados.Config, log logrus.FieldLog
 			if _, err = os.Stat(datadir + "/."); err == nil {
 			} else if !os.IsNotExist(err) {
 				return err
-			} else if err = os.Mkdir(datadir, 0777); err != nil {
+			} else if err = os.Mkdir(datadir, 0755); err != nil {
 				return err
 			}
 			cluster.Volumes[fmt.Sprintf(cluster.ClusterID+"-nyw5e-%015d", volnum)] = arvados.Volume{

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list