Feature #17608
closed[deployment][arvados-formula] run @arvados-server --config-check@ on all the roles but shell
Description
The arvados-server package should be installed in all the roles but shell, so the configuration file (/etc/arvados/config.yml) can be checked before the service is started.
#. Add arvados-server to all the roles
#. Add an only_if/unless control to the service before starting it
Updated by Javier Bértoli almost 5 years ago
- Status changed from New to In Progress
Updated by Javier Bértoli almost 5 years ago
We're already running a pre-deploy check of the configuration (commit 4bf9501a@arvados-formula).
Updated by Peter Amstutz almost 5 years ago
- Blocks Idea #17512: Release Arvados 2.2 added
Updated by Javier Bértoli almost 5 years ago
- % Done changed from 0 to 100
Changed from
/usr/bin/arvados-server config-dump -config
to
check_command: /usr/bin/arvados-server config-check -config
configurable through pillars (commit ee82273@arvados-formula)
Now, check is strict, so we make sure that configuration is arvados-compatible.
Updated by Javier Bértoli almost 5 years ago
- Status changed from In Progress to Feedback
Updated by Lucas Di Pentima almost 5 years ago
I've been reading the basics on SaltStack, so please if you detect some conceptual flaws on my questions, feel free to correct me :)
- General Q: The "Get the `tplroot` from `tpldir`" code block seem to be duped in every sls file. Could that be moved to the root init.sls file or some other shared place so it's declared once?
- General Q II: I had to clone the arvados-formula repo from github. Is it hosted also on our own repo? If not, should it be hosted there and mirrored to github?
- Typo in pillar.example comment: s/intalling/installing
- At pillar.example: shouldn't the config.check_command key have some default value? I ask because there're other keys with uncommented values, so someone using the example would need to set something on check_command for the lookup to work, right? AFAICT the arvados/config/file.sls formula doesn't have a fallback value for check_cmd if the pillar value isn't set, or would that produce a null value that will make the check_cmd primitive be disabled? If that's the case, should we try to avoid not checking the config? We even recommend checking the config in the pillar example, so maybe it's a good idea to make it a default?
Updated by Javier Bértoli almost 5 years ago
Lucas Di Pentima wrote:
- General Q: The "
get the `tplroot` from `tpldir`" code block seem to be duped in every sls file. Could that be moved to the rootinit.slsfile or some other shared place so it's declared once?
- General Q II: I had to clone the
arvados-formularepo from github. Is it hosted also on our own repo? If not, should it be hosted there and mirrored to github?
Yes, we have 3 places atm:
- our own repo,
- the github one and
- the
saltstack-formulasone. But this last one, as it tries to follow a set of different rules that we follow regarding versioning and such, I'm managing it through PRs to keep it updated. And currently, is outdated, waiting for this set of fixes to be updated.
We refer everyone to github/arvados-formula in our docs. Mirroring it from our own would be a great improvement.
- Typo in
pillar.examplecomment: s/intalling/installing
Thanks, fixed in another branch.
- At
pillar.example: shouldn't theconfig.check_commandkey have some default value? I ask because there're other keys with uncommented values, so someone using the example would need to set something oncheck_commandfor the lookup to work, right? AFAICT thearvados/config/file.slsformula doesn't have a fallback value forcheck_cmdif the pillar value isn't set, or would that produce a null value that will make thecheck_cmdprimitive be disabled? If that's the case, should we try to avoid not checking the config? We even recommend checking the config in the pillar example, so maybe it's a good idea to make it a default?
Defaults in saltstack formulas are set in <formula>/*yaml files, which are merged (through map.jinja) in certain order and finally with the pillar data, to get the configuration that will be applied to the minion.
In this case, the check_command: /usr/bin/arvados-server config-check -config set in arvados/defaults.yaml will be used if no value is set by the user.
Updated by Peter Amstutz almost 5 years ago
- Target version changed from 2021-05-12 sprint to 2021-05-26 sprint
Updated by Javier Bértoli almost 5 years ago
- Status changed from Feedback to Resolved