[ARVADOS] updated: f29e958f50a914504f971d344c93ee7297d77fbb

Git user git at public.curoverse.com
Fri Feb 17 15:16:14 EST 2017


Summary of changes:
 .../app/views/work_units/_show_child.html.erb      |  4 +-
 build/package-build-dockerfiles/Makefile           |  2 +-
 build/package-build-dockerfiles/centos7/Dockerfile |  6 +--
 build/package-build-dockerfiles/debian8/Dockerfile |  6 +--
 .../ubuntu1204/Dockerfile                          |  6 +--
 .../ubuntu1404/Dockerfile                          |  6 +--
 .../ubuntu1604/Dockerfile                          |  6 +--
 doc/_includes/_install_ruby_and_bundler.liquid     |  8 +--
 sdk/cli/arvados-cli.gemspec                        |  4 +-
 sdk/go/arvadostest/fixtures.go                     |  2 +
 sdk/go/dispatch/dispatch.go                        | 38 +++++++++++--
 sdk/go/dispatch/dispatch_test.go                   | 33 ++++++++++++
 sdk/go/dispatch/throttle_test.go                   |  6 +--
 sdk/python/arvados/commands/keepdocker.py          | 63 ++++++++++++++++++++++
 sdk/python/bin/arv-migrate-docker19                |  4 ++
 sdk/python/setup.py                                |  1 +
 sdk/python/tests/test_arv_keepdocker.py            | 17 ++++++
 sdk/ruby/arvados.gemspec                           |  4 +-
 services/api/app/models/collection.rb              | 18 +++++++
 services/api/app/models/container_request.rb       |  8 ++-
 services/api/app/models/job.rb                     | 18 +++++--
 services/api/app/models/node.rb                    |  4 +-
 services/api/app/models/workflow.rb                |  4 ++
 ..._and_workflow_def_in_full_text_search_index.rb} | 17 +++---
 services/api/db/structure.sql                      |  8 +--
 services/api/lib/crunch_dispatch.rb                |  2 +-
 services/api/test/fixtures/collections.yml         |  2 +-
 services/api/test/fixtures/links.yml               | 56 +++++++++++++++++++
 .../api/test/helpers/docker_migration_helper.rb    | 13 +++++
 services/api/test/unit/container_request_test.rb   | 19 +++++++
 services/api/test/unit/job_test.rb                 | 56 +++++++++++++++++++
 services/crunch-run/crunchrun.go                   | 14 +----
 .../arvnodeman/computenode/dispatch/__init__.py    |  2 +
 .../arvnodeman/computenode/dispatch/slurm.py       | 18 ++++++-
 services/nodemanager/arvnodeman/daemon.py          |  6 +--
 services/nodemanager/arvnodeman/jobqueue.py        | 20 ++++++-
 services/nodemanager/arvnodeman/launcher.py        |  2 +-
 services/nodemanager/arvnodeman/nodelist.py        | 42 +++++++++++++--
 .../nodemanager/tests/test_computenode_dispatch.py |  8 +--
 .../tests/test_computenode_dispatch_slurm.py       | 15 +++++-
 services/nodemanager/tests/test_jobqueue.py        | 19 ++++++-
 services/nodemanager/tests/test_nodelist.py        | 45 +++++++++++++---
 tools/arvbox/lib/arvbox/docker/Dockerfile.base     | 23 ++++----
 43 files changed, 554 insertions(+), 101 deletions(-)
 create mode 100644 sdk/go/dispatch/dispatch_test.go
 create mode 100755 sdk/python/bin/arv-migrate-docker19
 copy services/api/db/migrate/{20161213172944_full_text_search_indexes.rb => 20170216170823_no_cr_mounts_and_workflow_def_in_full_text_search_index.rb} (55%)
 create mode 100644 services/api/test/helpers/docker_migration_helper.rb

       via  f29e958f50a914504f971d344c93ee7297d77fbb (commit)
       via  f6071ef7bc7f6b7308c202e330cabd4ca111aadd (commit)
       via  3fa4a2b6138e3e9e468dd885a743ca38f08f0755 (commit)
       via  ed1acd6fd780467ba69998e76e28fda61beedc0f (commit)
       via  24b1aecb485b170c6e127251201a6bac87d7860a (commit)
       via  d5ddfd9d876a75327795793544d105051f2a306e (commit)
       via  f6bdb550ec87fd38f528f5eb67925d6bcf5af22f (commit)
       via  21598295f38998d8028aaa117f192de6b5758808 (commit)
       via  425f9a753e4390215b95b794785efd38bbc5f42d (commit)
       via  be33e85dd22b898e3a8f27ba8b42d9faef6e8516 (commit)
       via  73c2bd55dc6e13891c6d1be63fc0613728bd929a (commit)
       via  72873affa7f249faa16d5d21200e935d27aea911 (commit)
       via  dc086bed8661d0e7579df7a240f7e67c86946a59 (commit)
       via  197dd5583c13fb6cddba8d74848df20ba57ed924 (commit)
       via  2d80bb7d83bda777181542afcb0b7293cb53eefd (commit)
       via  1aa3f43606ba5e31633c063851d25b8fab4b93e2 (commit)
       via  5624fec61db977d386ce03ca333241c74ca251b5 (commit)
       via  4edf67aee4e8d4b351ee08bcb19c051a9bddeacd (commit)
       via  31d76600cdb691251d0823cc6be601d958b4e1a4 (commit)
       via  03306e210c6835c6de1c908d5afe02ba964e7dbc (commit)
       via  6873eca0bf64a2a94ea7536bbc9a5a3788695136 (commit)
       via  6b775ec45db0143c0d476cf2f0fcfb8bdd39a845 (commit)
       via  fb60dbc9b79cfa8f34a10909ea0fd2a51b600ce6 (commit)
       via  314f3c34442e0daffbea4ed62adea9e722673810 (commit)
       via  15c1329834e02814fb5b510bf13f1ea2a97ee028 (commit)
       via  0e6c1a287933d8e55508c2457b7ce31a2bb5a965 (commit)
       via  e86743ca1a4e1431d6d8417083ef1a56461b45e9 (commit)
       via  908959eafe8a9925cb2c204d6511095f702c1667 (commit)
       via  f14ce11321e919cc39b878fe9f7847e1a9bb0de3 (commit)
       via  bf9af31f49954d949317475bdcdc0694d247f82d (commit)
       via  4440f049a94bd3570271f8f0b2461d7f3f3c4582 (commit)
       via  f782a2505422ad9c853c4c416640c41f3b1e7e79 (commit)
       via  7c667d8963c7a3cf9acd04c1d938b5273b761228 (commit)
       via  925a1526383299a1ade38a18e616564ab8c38da4 (commit)
       via  49d7a1fbd42359aa0948efd0968349eaf854d6cb (commit)
       via  9cc8eb72a4d8dddd2ffe2014d085517ecd0f6a67 (commit)
       via  89ce36332958f698bc571eca770fb94e579957cd (commit)
       via  d2942208ef4bc31bc965d5f72f254b8d39a1bc9b (commit)
      from  83c8f1685d812c31d8bd568f3c2ac1edcd120aed (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 f29e958f50a914504f971d344c93ee7297d77fbb
Author: radhika <radhika at curoverse.com>
Date:   Fri Feb 17 15:15:14 2017 -0500

    10979: TrackContainer implementation and test

diff --git a/sdk/go/arvadostest/fixtures.go b/sdk/go/arvadostest/fixtures.go
index ebb5992..a7ab0fe 100644
--- a/sdk/go/arvadostest/fixtures.go
+++ b/sdk/go/arvadostest/fixtures.go
@@ -39,3 +39,5 @@ var (
 
 // BlobSigningKey used by the test servers
 const BlobSigningKey = "zfhgfenhffzltr9dixws36j1yhksjoll2grmku38mi7yxd66h5j4q9w4jzanezacp8s6q0ro3hxakfye02152hncy6zml2ed0uc"
+
+const QueuedContainerUuid = "zzzzz-dz642-queuedcontainer"
diff --git a/sdk/go/dispatch/dispatch.go b/sdk/go/dispatch/dispatch.go
index e489ac7..371cbb1 100644
--- a/sdk/go/dispatch/dispatch.go
+++ b/sdk/go/dispatch/dispatch.go
@@ -21,6 +21,7 @@ const (
 	Cancelled = arvados.ContainerStateCancelled
 )
 
+// Dispatcher struct
 type Dispatcher struct {
 	Arv *arvadosclient.ArvadosClient
 
@@ -202,6 +203,38 @@ func (d *Dispatcher) Unlock(uuid string) error {
 	return d.Arv.Call("POST", "containers", uuid, "unlock", nil, nil)
 }
 
+// TrackContainer starts a tracker for given uuid if one is not already existing, despite its state.
+func (d *Dispatcher) TrackContainer(uuid string) {
+	if d.trackers == nil {
+		d.trackers = make(map[string]*runTracker)
+	}
+
+	_, alreadyTracking := d.trackers[uuid]
+	if alreadyTracking {
+		return
+	}
+
+	d.mtx.Lock()
+	defer d.mtx.Unlock()
+
+	_, alreadyTracking = d.trackers[uuid]
+	if alreadyTracking {
+		return
+	}
+
+	var cntr arvados.Container
+	err := d.Arv.Call("GET", "containers", uuid, "", nil, &cntr)
+	if err != nil {
+		log.Printf("Error getting container %s: %s", uuid, err)
+		return
+	}
+
+	tracker := &runTracker{updates: make(chan arvados.Container, 1)}
+	tracker.updates <- cntr
+
+	d.trackers[uuid] = tracker
+}
+
 type runTracker struct {
 	closing bool
 	updates chan arvados.Container
@@ -225,8 +258,3 @@ func (tracker *runTracker) update(c arvados.Container) {
 	}
 	tracker.updates <- c
 }
-
-// Start a tracker for the given uuid if one is not already existing, despite its state.
-// its vs. it's -- episode 5 from Series 1 of Netflix' "A Series of Unfortunate Events"
-func (dispatcher *Dispatcher) TrackContainer(uuid string) {
-}
diff --git a/sdk/go/dispatch/dispatch_test.go b/sdk/go/dispatch/dispatch_test.go
new file mode 100644
index 0000000..fb827fc
--- /dev/null
+++ b/sdk/go/dispatch/dispatch_test.go
@@ -0,0 +1,33 @@
+package dispatch
+
+import (
+	"git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+	"git.curoverse.com/arvados.git/sdk/go/arvadostest"
+
+	. "gopkg.in/check.v1"
+)
+
+// Gocheck boilerplate
+var _ = Suite(&DispatchTestSuite{})
+
+type DispatchTestSuite struct{}
+
+func (s *DispatchTestSuite) SetUpSuite(c *C) {
+	arvadostest.StartAPI()
+}
+
+func (s *DispatchTestSuite) TearDownSuite(c *C) {
+	arvadostest.StopAPI()
+}
+
+func (s *DispatchTestSuite) TestTrackContainer(c *C) {
+	arv, err := arvadosclient.MakeArvadosClient()
+	c.Assert(err, Equals, nil)
+
+	d := &Dispatcher{Arv: arv}
+	d.trackers = make(map[string]*runTracker)
+
+	d.TrackContainer(arvadostest.QueuedContainerUuid)
+	_, tracking := d.trackers[arvadostest.QueuedContainerUuid]
+	c.Assert(tracking, Equals, true)
+}
diff --git a/sdk/go/dispatch/throttle_test.go b/sdk/go/dispatch/throttle_test.go
index ba65783..d91513e 100644
--- a/sdk/go/dispatch/throttle_test.go
+++ b/sdk/go/dispatch/throttle_test.go
@@ -12,11 +12,11 @@ func Test(t *testing.T) {
 	check.TestingT(t)
 }
 
-var _ = check.Suite(&Suite{})
+var _ = check.Suite(&ThrottleTestSuite{})
 
-type Suite struct{}
+type ThrottleTestSuite struct{}
 
-func (*Suite) TestThrottle(c *check.C) {
+func (*ThrottleTestSuite) TestThrottle(c *check.C) {
 	uuid := "zzzzz-zzzzz-zzzzzzzzzzzzzzz"
 
 	t := throttle{}

commit f6071ef7bc7f6b7308c202e330cabd4ca111aadd
Merge: f6bdb55 3fa4a2b
Author: radhika <radhika at curoverse.com>
Date:   Thu Feb 16 18:22:07 2017 -0500

    Merge branch 'master' into 10979-cancelled-job-nodes


commit f6bdb550ec87fd38f528f5eb67925d6bcf5af22f
Merge: 83c8f16 2159829
Author: radhika <radhika at curoverse.com>
Date:   Thu Feb 16 16:07:02 2017 -0500

    Merge branch 'master' into 10979-cancelled-job-nodes


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


hooks/post-receive
-- 




More information about the arvados-commits mailing list