projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add 'tools/arvbox/' from commit 'd3d368758db1f4a9fa5b89f77b5ee61d68ef5b72'
[arvados.git]
/
services
/
api
/
app
/
models
/
container_request.rb
diff --git
a/services/api/app/models/container_request.rb
b/services/api/app/models/container_request.rb
index 4e76a0e08aa00ecb974026caa279248d2fd68ed5..acb751c89401424e04d03b950d5acc675dceaca8 100644
(file)
--- a/
services/api/app/models/container_request.rb
+++ b/
services/api/app/models/container_request.rb
@@
-62,6
+62,12
@@
class ContainerRequest < ArvadosModel
%w(modified_by_client_uuid container_uuid requesting_container_uuid)
end
%w(modified_by_client_uuid container_uuid requesting_container_uuid)
end
+ def container_completed!
+ # may implement retry logic here in the future.
+ self.state = ContainerRequest::Final
+ self.save!
+ end
+
protected
def fill_field_defaults
protected
def fill_field_defaults
@@
-70,7
+76,6
@@
class ContainerRequest < ArvadosModel
self.runtime_constraints ||= {}
self.mounts ||= {}
self.cwd ||= "."
self.runtime_constraints ||= {}
self.mounts ||= {}
self.cwd ||= "."
- self.priority ||= 1
end
# Turn a container request into a container.
end
# Turn a container request into a container.
@@
-119,6
+124,10
@@
class ContainerRequest < ArvadosModel
errors.add :container_uuid, "has not been resolved to a container."
end
errors.add :container_uuid, "has not been resolved to a container."
end
+ if priority.nil?
+ errors.add :priority, "cannot be nil"
+ end
+
# Can update priority, container count.
permitted.push :priority, :container_count_max, :container_uuid
# Can update priority, container count.
permitted.push :priority, :container_count_max, :container_uuid
@@
-131,6
+140,10
@@
class ContainerRequest < ArvadosModel
end
when Final
end
when Final
+ if not current_user.andand.is_admin
+ errors.add :state, "of container request can only be set to Final by system."
+ end
+
if self.state_changed?
permitted.push :state
else
if self.state_changed?
permitted.push :state
else