X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ebb166d65eb37f89edeccfc5be97014f3f2a73e2..bf521e2fd9fae16bf5738f988496a3dbb1e32833:/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 deleted file mode 100644 index da421ebb4c..0000000000 --- a/services/api/app/models/keep_disk.rb +++ /dev/null @@ -1,75 +0,0 @@ -class KeepDisk < ArvadosModel - include HasUuid - include KindAndEtag - include CommonApiTemplate - before_validation :ensure_ping_secret - - api_accessible :user, extend: :common do |t| - t.add :node_uuid - t.add :filesystem_uuid - t.add :bytes_total - t.add :bytes_free - t.add :is_readable - t.add :is_writable - t.add :last_read_at - t.add :last_write_at - t.add :last_ping_at - 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) - raise "must have :service_host and :ping_secret" unless o[:service_host] and o[:ping_secret] - - if o[:ping_secret] != self.ping_secret - logger.info "Ping: secret mismatch: received \"#{o[:ping_secret]}\" != \"#{self.ping_secret}\"" - return nil - end - - @bypass_arvados_authorization = true - self.update_attributes!(o.select { |k,v| - [:bytes_total, - :bytes_free, - :is_readable, - :is_writable, - :last_read_at, - :last_write_at - ].collect(&:to_s).index k - }.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 - self.ping_secret ||= rand(2**256).to_s(36) - end - - def permission_to_update - @bypass_arvados_authorization or super - end - - def permission_to_create - current_user and current_user.is_admin - end -end