X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2c3a6a67bc01241f57e815f4f7e4678bd6eadb03..de3ced158ccf579efbe9bfe0e23e03eb9417daeb:/doc/admin/upgrading.html.textile.liquid diff --git a/doc/admin/upgrading.html.textile.liquid b/doc/admin/upgrading.html.textile.liquid index eda25d5cc6..79e1128572 100644 --- a/doc/admin/upgrading.html.textile.liquid +++ b/doc/admin/upgrading.html.textile.liquid @@ -30,7 +30,70 @@ Note to developers: Add new items at the top. Include the date, issue number, co TODO: extract this information based on git commit messages and generate changelogs / release notes automatically. {% endcomment %} -h3. current master branch +h3. v1.4.0 (2019-06-05) + +h4. Populating the new file_count and file_size_total columns on the collections table + +As part of story "#14484":https://dev.arvados.org/issues/14484, two new columns were added to the collections table in a database migration. If your installation has a large collections table, this migration may take some time. We've seen it take ~5 minutes on an installation with 250k collections, but your mileage may vary. + +The new columns are initialized with a zero value. In order to populate them, it is necessary to run a script called populate-file-info-columns-in-collections.rb from the scripts directory of the API server. This can be done out of band, ideally directly after the API server has been upgraded to v1.4.0. + +h4. Stricter collection manifest validation on the API server + +As a consequence of "#14482":https://dev.arvados.org/issues/14482, the Ruby SDK does a more rigorous collection manifest validation. Collections created after 2015-05 are unlikely to be invalid, however you may check for invalid manifests using the script below. + +You could set up a new rvm gemset and install the specific arvados gem for testing, like so: + + +
~$ rvm gemset create rubysdk-test
+~$ rvm gemset use rubysdk-test
+~$ gem install arvados -v 1.3.1.20190301212059
+
+
+ +Next, you can run the following script using admin credentials, it will scan the whole collection database and report any collection that didn't pass the check: + +{% codeblock as ruby %} +require 'arvados' +require 'arvados/keep' + +api = Arvados.new +offset = 0 +batch_size = 100 +invalid = [] + +while true + begin + req = api.collection.index( + :select => [:uuid, :created_at, :manifest_text], + :include_trash => true, :include_old_versions => true, + :limit => batch_size, :offset => offset) + rescue + invalid.each {|c| puts "#{c[:uuid]} (Created at #{c[:created_at]}): #{c[:error]}" } + raise + end + + req[:items].each do |col| + begin + Keep::Manifest.validate! col[:manifest_text] + rescue Exception => e + puts "Collection #{col[:uuid]} manifest not valid" + invalid << {uuid: col[:uuid], error: e, created_at: col[:created_at]} + end + end + puts "Checked #{offset} / #{req[:items_available]} - Invalid: #{invalid.size}" + offset += req[:limit] + break if offset > req[:items_available] +end + +if invalid.empty? + puts "No invalid collection manifests found" +else + invalid.each {|c| puts "#{c[:uuid]} (Created at #{c[:created_at]}): #{c[:error]}" } +end +{% endcodeblock %} + +The script will return a final report enumerating any invalid collection by UUID, with its creation date and error message so you can take the proper correction measures, if needed. h4. Python packaging change @@ -68,6 +131,10 @@ h4. Centos7 package for libpam-arvados depends on the python-pam package, which As part of story "#9945":https://dev.arvados.org/issues/9945, it was discovered that the Centos7 package for libpam-arvados was missing a dependency on the python-pam package, which is available from the EPEL repository. The dependency has been added to the libpam-arvados package. This means that going forward, the EPEL repository will need to be enabled to install libpam-arvados on Centos7. +h4. New configuration + +Arvados is migrating to a centralized configuration file for all components. During the migration, legacy configuration files will continue to be loaded. See "Migrating Configuration":config-migration.html for details. + h3. v1.3.0 (2018-12-05) This release includes several database migrations, which will be executed automatically as part of the API server upgrade. On large Arvados installations, these migrations will take a while. We've seen the upgrade take 30 minutes or more on installations with a lot of collections.