X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6613ec1e9c705fb5b950611fd160d4a2babed251..9f35a3cf10e5d261d83556d5b33f242966101f02:/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 1fe8365121..a588c86451 100644 --- a/services/api/app/models/container_request.rb +++ b/services/api/app/models/container_request.rb @@ -23,6 +23,7 @@ class ContainerRequest < ArvadosModel api_accessible :user, extend: :common do |t| t.add :command + t.add :container_count t.add :container_count_max t.add :container_image t.add :container_uuid @@ -92,6 +93,7 @@ class ContainerRequest < ArvadosModel self.runtime_constraints ||= {} self.mounts ||= {} self.cwd ||= "." + self.container_count_max ||= Rails.configuration.container_count_max end # Create a new container (or find an existing one) to satisfy this @@ -189,6 +191,14 @@ class ContainerRequest < ArvadosModel if state_changed? and state == Committed and container_uuid.nil? resolve end + if self.container_uuid != self.container_uuid_was + if self.container_count_changed? + errors.add :container_count, "cannot be updated directly." + return false + else + self.container_count += 1 + end + end end def validate_runtime_constraints @@ -226,7 +236,7 @@ class ContainerRequest < ArvadosModel end # Can update priority, container count, name and description - permitted.push :priority, :container_count_max, :container_uuid, :name, :description + permitted.push :priority, :container_count, :container_count_max, :container_uuid, :name, :description if self.state_changed? # Allow create-and-commit in a single operation.