New installations of Arvados 2.0+ can skip this section
Arvados 2.0 migrates to a centralized configuration file for all components. The centralized Arvados configuration is /etc/arvados/config.yml
. Components that support the new centralized configuration are listed below. During the migration period, legacy configuration files are still loaded and take precedence over the centralized configuration file.
The legacy API server configuration is stored in config/application.yml
and config/database.yml
. After migration to /etc/arvados/config.yml
, both of these files should be moved out of the way and/or deleted.
Change to the API server directory and use the following commands:
$ RAILS_ENV=production bundle exec rake config:migrate > config.yml $ cp config.yml /etc/arvados/config.yml
This will print the contents of config.yml
after merging the legacy application.yml
and database.yml
into the existing systemwide config.yml
. It may be redirected to a file and copied to /etc/arvados/config.yml
(it is safe to copy over, all configuration items from the existing /etc/arvados/config.yml
will be included in the migrated output).
If you wish to update config.yml
configuration by hand, or check that everything has been migrated, use config:diff
to print configuration items that differ between application.yml
and the system config.yml
.
$ RAILS_ENV=production bundle exec rake config:diff
This command will also report if no migrations are required.
The legacy workbench configuration is stored in config/application.yml
. After migration to /etc/arvados/config.yml
, this file should be moved out of the way and/or deleted.
Change to the workbench server directory and use the following commands:
$ RAILS_ENV=production bundle exec rake config:migrate > config.yml $ cp config.yml /etc/arvados/config.yml
This will print the contents of config.yml
after merging the legacy application.yml
into the existing systemwide config.yml
. It may be redirected to a file and copied to /etc/arvados/config.yml
(it is safe to copy over, all configuration items from the existing /etc/arvados/config.yml
will be included in the migrated output).
If you wish to update config.yml
configuration by hand, or check that everything has been migrated, use config:diff
to print configuration items that differ between application.yml
and the system config.yml
.
$ RAILS_ENV=production bundle exec rake config:diff
This command will also report if no migrations are required.
The legacy config for each component (loaded from /etc/arvados/component/component.yml
or a different location specified via the -legacy-component-config command line argument) takes precedence over the centralized config. After you migrate everything from the legacy config to the centralized config, you should delete /etc/arvados/component/component.yml
and/or stop using the corresponding -legacy-component-config argument.
To migrate a component configuration, do this on each node that runs an Arvados service:
config.yml
is installed on the current nodearvados-server
using apt-get
or yum
.arvados-server config-check
, review and apply the recommended changes to /etc/arvados/config.yml
arvados-server config-check
again to check for additional warnings and recommendations.config.yml
file to your next node, and repeat the process there.config.yml
file that includes all volumes on all keepstores, it is important to add a ‘Rendezvous’ parameter to the InternalURLs entries to make sure the old volume identifiers line up with the new config. If you don’t do this, keep-balance
will want to shuffle all the existing data around to match the new volume order. The ‘Rendezvous’ value should be the last 15 characters of the keepstore’s UUID in the old configuration. Here’s an example:Clusters:
xxxxx:
Services:
Keepstore:
InternalURLs:
"http://keep1.xxxxx.arvadosapi.com:25107": {Rendezvous: "eim6eefaibesh3i"}
"http://keep2.xxxxx.arvadosapi.com:25107": {Rendezvous: "yequoodalai7ahg"}
"http://keep3.xxxxx.arvadosapi.com:25107": {Rendezvous: "eipheho6re1shou"}
"http://keep4.xxxxx.arvadosapi.com:25107": {Rendezvous: "ahk7chahthae3oo"}
In this example, the keepstore with the name `keep1` had the uuid `xxxxx-bi6l4-eim6eefaibesh3i` in the old configuration.
After migrating and removing all legacy config files, make sure the /etc/arvados/config.yml
file is identical across all system nodes — API server, keepstore, etc. — and restart all services to make sure they are using the latest configuration.
Node manager is deprecated and replaced by arvados-dispatch-cloud
. No automated config migration is available. Follow the instructions to install the cloud dispatcher
Only one dispatch process should be running at a time. If you are migrating a system that currently runs Node manager and crunch-dispatch-slurm
, it is safest to remove the crunch-dispatch-slurm
service entirely before installing arvados-dispatch-cloud
.
~$ sudo systemctl --now disable crunch-dispatch-slurm
~$ sudo apt-get remove crunch-dispatch-slurm
Already uses centralized config exclusively. No migration needed.
The content of this documentation is licensed under the
Creative
Commons Attribution-Share Alike 3.0 United States licence.
Code samples in this documentation are licensed under the
Apache License, Version 2.0.