projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '18562-preemptible'
[arvados.git]
/
services
/
api
/
app
/
models
/
arvados_model.rb
diff --git
a/services/api/app/models/arvados_model.rb
b/services/api/app/models/arvados_model.rb
index 54b1394ffd06245e6d7fc7c7fd97f004abbde3b4..1c842c48d6bf1d283ae08608dc242967b0cc2b56 100644
(file)
--- a/
services/api/app/models/arvados_model.rb
+++ b/
services/api/app/models/arvados_model.rb
@@
-709,7
+709,7
@@
class ArvadosModel < ApplicationRecord
false
end
false
end
- def self.where_serialized(colname, value, md5: false)
+ def self.where_serialized(colname, value, md5: false
, multivalue: false
)
colsql = colname.to_s
if md5
colsql = "md5(#{colsql})"
colsql = colname.to_s
if md5
colsql = "md5(#{colsql})"
@@
-722,7
+722,16
@@
class ArvadosModel < ApplicationRecord
sql = "#{colsql} IN (?)"
sorted = deep_sort_hash(value)
end
sql = "#{colsql} IN (?)"
sorted = deep_sort_hash(value)
end
- params = [sorted.to_yaml, SafeJSON.dump(sorted)]
+ params = []
+ if multivalue
+ sorted.each do |v|
+ params << v.to_yaml
+ params << SafeJSON.dump(v)
+ end
+ else
+ params << sorted.to_yaml
+ params << SafeJSON.dump(sorted)
+ end
if md5
params = params.map { |x| Digest::MD5.hexdigest(x) }
end
if md5
params = params.map { |x| Digest::MD5.hexdigest(x) }
end
@@
-892,6
+901,11
@@
class ArvadosModel < ApplicationRecord
def fill_container_defaults
self.runtime_constraints = {
'API' => false,
def fill_container_defaults
self.runtime_constraints = {
'API' => false,
+ 'cuda' => {
+ 'device_count' => 0,
+ 'driver_version' => '',
+ 'hardware_capability' => '',
+ },
'keep_cache_ram' => 0,
'ram' => 0,
'vcpus' => 0,
'keep_cache_ram' => 0,
'ram' => 0,
'vcpus' => 0,