[ARVADOS] updated: 2.1.0-1169-gd801f8930
Git user
git at public.arvados.org
Mon Aug 9 15:29:21 UTC 2021
Summary of changes:
doc/admin/upgrading.html.textile.liquid | 4 ++++
lib/config/config.default.yml | 3 +++
services/api/app/models/collection.rb | 2 +-
services/api/app/models/container.rb | 2 +-
services/api/app/models/container_request.rb | 2 +-
services/api/test/unit/collection_test.rb | 13 +++++++++++++
services/api/test/unit/container_request_test.rb | 22 ++++++++++++++--------
7 files changed, 37 insertions(+), 11 deletions(-)
via d801f8930c20f82fbde6cd93686572ed190e7d12 (commit)
via 13ab78a6ba36ef69007d62ffa73600defd79972d (commit)
from 2de3b2e44f2196c227c7bbd57b211d1095e59aad (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit d801f8930c20f82fbde6cd93686572ed190e7d12
Author: Tom Clegg <tom at curii.com>
Date: Mon Aug 9 11:29:10 2021 -0400
17967: Test new behavior for default storage_classes_desired.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/services/api/app/models/collection.rb b/services/api/app/models/collection.rb
index 5edca82a0..d1d5ace0c 100644
--- a/services/api/app/models/collection.rb
+++ b/services/api/app/models/collection.rb
@@ -17,7 +17,7 @@ class Collection < ArvadosModel
# Posgresql JSONB columns should NOT be declared as serialized, Rails 5
# already know how to properly treat them.
attribute :properties, :jsonbHash, default: {}
- attribute :storage_classes_desired, :jsonbArray, default: Rails.configuration.DefaultStorageClasses
+ attribute :storage_classes_desired, :jsonbArray, default: lambda { Rails.configuration.DefaultStorageClasses }
attribute :storage_classes_confirmed, :jsonbArray, default: []
before_validation :default_empty_manifest
diff --git a/services/api/app/models/container.rb b/services/api/app/models/container.rb
index a880b65ac..d6a44c802 100644
--- a/services/api/app/models/container.rb
+++ b/services/api/app/models/container.rb
@@ -22,7 +22,7 @@ class Container < ArvadosModel
attribute :secret_mounts, :jsonbHash, default: {}
attribute :runtime_status, :jsonbHash, default: {}
attribute :runtime_auth_scopes, :jsonbArray, default: []
- attribute :output_storage_classes, :jsonbArray, default: Rails.configuration.DefaultStorageClasses
+ attribute :output_storage_classes, :jsonbArray, default: lambda { Rails.configuration.DefaultStorageClasses }
serialize :environment, Hash
serialize :mounts, Hash
diff --git a/services/api/app/models/container_request.rb b/services/api/app/models/container_request.rb
index f603d4dd7..4a580816c 100644
--- a/services/api/app/models/container_request.rb
+++ b/services/api/app/models/container_request.rb
@@ -23,7 +23,7 @@ class ContainerRequest < ArvadosModel
# already know how to properly treat them.
attribute :properties, :jsonbHash, default: {}
attribute :secret_mounts, :jsonbHash, default: {}
- attribute :output_storage_classes, :jsonbArray, default: Rails.configuration.DefaultStorageClasses
+ attribute :output_storage_classes, :jsonbArray, default: lambda { Rails.configuration.DefaultStorageClasses }
serialize :environment, Hash
serialize :mounts, Hash
diff --git a/services/api/test/unit/collection_test.rb b/services/api/test/unit/collection_test.rb
index 916ca0958..e6912217d 100644
--- a/services/api/test/unit/collection_test.rb
+++ b/services/api/test/unit/collection_test.rb
@@ -693,6 +693,19 @@ class CollectionTest < ActiveSupport::TestCase
end
end
+ test "storage_classes_desired default respects config" do
+ saved = Rails.configuration.DefaultStorageClasses
+ Rails.configuration.DefaultStorageClasses = ["foo"]
+ begin
+ act_as_user users(:active) do
+ c = Collection.create!
+ assert_equal ["foo"], c.storage_classes_desired
+ end
+ ensure
+ Rails.configuration.DefaultStorageClasses = saved
+ end
+ end
+
test "storage_classes_desired cannot be empty" do
act_as_user users(:active) do
c = collections(:collection_owned_by_active)
diff --git a/services/api/test/unit/container_request_test.rb b/services/api/test/unit/container_request_test.rb
index 7686e1a14..9f412c7bb 100644
--- a/services/api/test/unit/container_request_test.rb
+++ b/services/api/test/unit/container_request_test.rb
@@ -1292,14 +1292,20 @@ class ContainerRequestTest < ActiveSupport::TestCase
end
test "default output_storage_classes" do
- act_as_user users(:active) do
- cr = create_minimal_req!(priority: 1,
- state: ContainerRequest::Committed,
- output_name: 'foo')
- run_container(cr)
- cr.reload
- output = Collection.find_by_uuid(cr.output_uuid)
- assert_equal ["default"], output.storage_classes_desired
+ saved = Rails.configuration.DefaultStorageClasses
+ Rails.configuration.DefaultStorageClasses = ["foo"]
+ begin
+ act_as_user users(:active) do
+ cr = create_minimal_req!(priority: 1,
+ state: ContainerRequest::Committed,
+ output_name: 'foo')
+ run_container(cr)
+ cr.reload
+ output = Collection.find_by_uuid(cr.output_uuid)
+ assert_equal ["foo"], output.storage_classes_desired
+ end
+ ensure
+ Rails.configuration.DefaultStorageClasses = saved
end
end
commit 13ab78a6ba36ef69007d62ffa73600defd79972d
Author: Tom Clegg <tom at curii.com>
Date: Mon Aug 9 11:11:32 2021 -0400
17967: Link to config doc page from conf file and upgrade notes.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/doc/admin/upgrading.html.textile.liquid b/doc/admin/upgrading.html.textile.liquid
index dfb6a0ad6..b40082deb 100644
--- a/doc/admin/upgrading.html.textile.liquid
+++ b/doc/admin/upgrading.html.textile.liquid
@@ -39,6 +39,10 @@ h2(#main). development main (as of 2021-07-15)
"Upgrading from 2.2.0":#v2_2_0
+h3. Storage classes must be defined explicitly
+
+If your configuration uses the StorageClasses attribute on any Keep volumes, you must add a new @StorageClasses@ section that lists all of your storage classes. Refer to the updated documentation about "configuring storage classes":{{site.baseurl}}/admin/storage-classes.html for details.
+
h3. keep-balance requires access to PostgreSQL
Make sure the keep-balance process can connect to your PostgreSQL server using the settings in your config file. (In previous versions, keep-balance accessed the database through controller instead of connecting to the database server directly.)
diff --git a/lib/config/config.default.yml b/lib/config/config.default.yml
index eb05c22fd..8640e7141 100644
--- a/lib/config/config.default.yml
+++ b/lib/config/config.default.yml
@@ -1233,6 +1233,9 @@ Clusters:
# If you use multiple storage classes, specify them here, using
# the storage class name as the key (in place of "SAMPLE" in
# this sample entry).
+ #
+ # Further info/examples:
+ # https://doc.arvados.org/admin/storage-classes.html
SAMPLE:
# Priority determines the order volumes should be searched
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list