[ARVADOS] updated: d9f8f46ccd5a418dcf7b5f43aeb59cd2d9d424ba

git at public.curoverse.com git at public.curoverse.com
Thu Dec 3 13:28:52 EST 2015


Summary of changes:
 .../arvados/v1/container_requests_controller.rb    |  4 +++
 .../arvados/v1/containers_controller.rb            |  5 ++++
 services/api/app/models/container.rb               | 29 +++++++++++++++++-----
 services/api/app/models/container_request.rb       | 26 +++++++++++++++----
 4 files changed, 53 insertions(+), 11 deletions(-)

       via  d9f8f46ccd5a418dcf7b5f43aeb59cd2d9d424ba (commit)
      from  2858d8075d2178fa252af4e585687855e3b30dc2 (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 d9f8f46ccd5a418dcf7b5f43aeb59cd2d9d424ba
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Thu Dec 3 13:07:52 2015 -0500

    Declare serialize / accept json fields, start working on states

diff --git a/services/api/app/controllers/arvados/v1/container_requests_controller.rb b/services/api/app/controllers/arvados/v1/container_requests_controller.rb
index a92afe4..fe4696e 100644
--- a/services/api/app/controllers/arvados/v1/container_requests_controller.rb
+++ b/services/api/app/controllers/arvados/v1/container_requests_controller.rb
@@ -1,2 +1,6 @@
 class Arvados::V1::ContainerRequestsController < ApplicationController
+  accept_attribute_as_json :environment, Hash
+  accept_attribute_as_json :mounts, Hash
+  accept_attribute_as_json :runtime_constraints, Hash
+  accept_attribute_as_json :command, Array
 end
diff --git a/services/api/app/controllers/arvados/v1/containers_controller.rb b/services/api/app/controllers/arvados/v1/containers_controller.rb
index 67ec5b9..04a5ed0 100644
--- a/services/api/app/controllers/arvados/v1/containers_controller.rb
+++ b/services/api/app/controllers/arvados/v1/containers_controller.rb
@@ -1,2 +1,7 @@
 class Arvados::V1::ContainersController < ApplicationController
+  accept_attribute_as_json :environment, Hash
+  accept_attribute_as_json :mounts, Hash
+  accept_attribute_as_json :runtime_constraints, Hash
+  accept_attribute_as_json :command, Array
+
 end
diff --git a/services/api/app/models/container.rb b/services/api/app/models/container.rb
index 2e8bfff..66b33cd 100644
--- a/services/api/app/models/container.rb
+++ b/services/api/app/models/container.rb
@@ -3,6 +3,16 @@ class Container < ArvadosModel
   include KindAndEtag
   include CommonApiTemplate
 
+  serialize :properties, Hash
+  serialize :environment, Hash
+  serialize :mounts, Hash
+  serialize :runtime_constraints, Hash
+  serialize :command, Array
+
+  has_many :container_requests, :foreign_key => :container_uuid, :class_name => 'ContainerRequest', :primary_key => :uuid
+
+  before_create :set_state_before_save
+
   api_accessible :user, extend: :common do |t|
     t.add :command
     t.add :container_image
@@ -21,11 +31,18 @@ class Container < ArvadosModel
     t.add :uuid
   end
 
-  serialize :properties, Hash
-  serialize :environment, Hash
-  serialize :mounts, Hash
-  serialize :runtime_constraints, Hash
-  serialize :command, Array
+  # Supported states for a container
+  States =
+    [
+     (Queued = 'Queued'),
+     (Running = 'Running'),
+     (Complete = 'Complete'),
+     (Cancelled = 'Cancelled')
+    ]
+
+  def set_state_before_save
+    self.state ||= Queued
+  end
+
 
-  has_many :container_requests, :foreign_key => :container_uuid, :class_name => 'ContainerRequest', :primary_key => :uuid
 end
diff --git a/services/api/app/models/container_request.rb b/services/api/app/models/container_request.rb
index 352e414..9356a70 100644
--- a/services/api/app/models/container_request.rb
+++ b/services/api/app/models/container_request.rb
@@ -3,6 +3,14 @@ class ContainerRequest < ArvadosModel
   include KindAndEtag
   include CommonApiTemplate
 
+  serialize :properties, Hash
+  serialize :environment, Hash
+  serialize :mounts, Hash
+  serialize :runtime_constraints, Hash
+  serialize :command, Array
+
+  before_create :set_state_before_save
+
   api_accessible :user, extend: :common do |t|
     t.add :command
     t.add :container_count_max
@@ -23,10 +31,18 @@ class ContainerRequest < ArvadosModel
     t.add :state
   end
 
-  serialize :properties, Hash
-  serialize :environment, Hash
-  serialize :mounts, Hash
-  serialize :runtime_constraints, Hash
-  serialize :command, Array
+  # Supported states for a container request
+  States =
+    [
+     (Uncommitted = 'Uncommitted'),
+     (Committed = 'Committed'),
+     (Final = 'Final'),
+    ]
+
+  def set_state_before_save
+    self.state ||= Uncommitted
+  end
+
+
 
 end

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list