projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refs #4926 Merge branch '4926-getting-started'
[arvados.git]
/
services
/
api
/
app
/
models
/
keep_disk.rb
diff --git
a/services/api/app/models/keep_disk.rb
b/services/api/app/models/keep_disk.rb
index ee285d969af0a9754cfe52f06b9417f9e8662f97..da421ebb4cb92f13369a4517ef80583642d54844 100644
(file)
--- a/
services/api/app/models/keep_disk.rb
+++ b/
services/api/app/models/keep_disk.rb
@@
-1,5
+1,5
@@
class KeepDisk < ArvadosModel
class KeepDisk < ArvadosModel
- include
Assign
Uuid
+ include
Has
Uuid
include KindAndEtag
include CommonApiTemplate
before_validation :ensure_ping_secret
include KindAndEtag
include CommonApiTemplate
before_validation :ensure_ping_secret
@@
-7,7
+7,6
@@
class KeepDisk < ArvadosModel
api_accessible :user, extend: :common do |t|
t.add :node_uuid
t.add :filesystem_uuid
api_accessible :user, extend: :common do |t|
t.add :node_uuid
t.add :filesystem_uuid
- t.add :ping_secret
t.add :bytes_total
t.add :bytes_free
t.add :is_readable
t.add :bytes_total
t.add :bytes_free
t.add :is_readable
@@
-18,6
+17,14
@@
class KeepDisk < ArvadosModel
t.add :service_host
t.add :service_port
t.add :service_ssl_flag
t.add :service_host
t.add :service_port
t.add :service_ssl_flag
+ t.add :keep_service_uuid
+ end
+ api_accessible :superuser, :extend => :user do |t|
+ t.add :ping_secret
+ end
+
+ def foreign_key_attributes
+ super.reject { |a| a == "filesystem_uuid" }
end
def ping(o)
end
def ping(o)
@@
-29,11
+36,8
@@
class KeepDisk < ArvadosModel
end
@bypass_arvados_authorization = true
end
@bypass_arvados_authorization = true
- self.update_attributes(o.select { |k,v|
- [:service_host,
- :service_port,
- :service_ssl_flag,
- :bytes_total,
+ self.update_attributes!(o.select { |k,v|
+ [:bytes_total,
:bytes_free,
:is_readable,
:is_writable,
:bytes_free,
:is_readable,
:is_writable,
@@
-43,6
+47,18
@@
class KeepDisk < ArvadosModel
}.merge(last_ping_at: Time.now))
end
}.merge(last_ping_at: Time.now))
end
+ def service_host
+ KeepService.find_by_uuid(self.keep_service_uuid).andand.service_host
+ end
+
+ def service_port
+ KeepService.find_by_uuid(self.keep_service_uuid).andand.service_port
+ end
+
+ def service_ssl_flag
+ KeepService.find_by_uuid(self.keep_service_uuid).andand.service_ssl_flag
+ end
+
protected
def ensure_ping_secret
protected
def ensure_ping_secret