Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"arvados" meta-state should complain if pre-requisites are not available #3

Open
mr-c opened this issue Apr 29, 2020 · 12 comments
Open

Comments

@mr-c
Copy link
Collaborator

mr-c commented Apr 29, 2020

No description provided.

@javierbertoli
Copy link
Contributor

Hi, @mr-c You mean 'postgresql' and/or 'nginx' and/or 'letsencrypt'?

The point with those is that you have many choices available to satisfy these dependencies, and depend on how you setup your infrastructure, for example, you can have:

  1. Database
  • have a dedicated database server in another VM/host than the one you're setting up Arvados, or
  • an AWS RDS postgresql server, with replication, or.
  • a cluster of postgresql servers with a pool balancer in front of it, or
  • other alternatives?
  1. Web proxy
  • use a separated nginx server to redirect to all the internal arvados components, or
  • have multiple, individual nginx on each host, or
  • use haproxy (didn't test it, but I'm almost sure it should work), or
  • use AWS balancers (same as above)
  • other alternatives?
  1. Certificates
  • use letsencrypt to get your certificates on each host, or
  • use a central letsencrypt host to get wildcard certificates, or
  • have some certificates from some other party, or
  • use AWS acm to manage certificates, or
  • other alternatives?

As those situations are more 'infrastructure orchestration' related than 'host/server' management (as this formula tries to achieve), I think it's outside of the scope of this formula to check/complain of those situations.

I added this section in the formula's readme file to make sure people know of these requirements beforehand, so the formula is suitable for a member of an Ops team managing a big infrastructure or to the person that wants to try Arvados in her basement infrastructure of two PCs or even in a vagrant or beefy docker instance. You just need to satisfy the deps as they suit your case.

There are also examples for these configurations that you people can use, if needed.

I'm guessing this is what you're asking for, right? Perhaps this all needs to be better documented?
Is there anything else you thought of?

@mr-c
Copy link
Collaborator Author

mr-c commented Apr 29, 2020

Hello @javierbertoli , thanks for the nice reply

The point with those is that you have many choices available to satisfy these dependencies, and depend on how you setup your infrastructure

Sure, but if I did any of that I would provide a pillar to specify those configurations.

If you're completely new to Salt like I am, it would be nice to get more feedback if no pillar was provided

@mr-c
Copy link
Collaborator Author

mr-c commented Apr 29, 2020

I think it would be super useful to see a working configuration for an "all in one" based upon Debian Buster or a recent Ubuntu LTS base.

@javierbertoli
Copy link
Contributor

I can add an example file/script for that 😄

tl;rl is 'take a look in the kitchen.yml file, pick the states and pillars in there, put them all together and that would be it'.

Let me take a chance on it and I'll add it to the examples. I'll ping you when I have it, hopefully in a few hours.

@mr-c
Copy link
Collaborator Author

mr-c commented May 11, 2020

I can add an example file/script for that

Any updates on that, @javierbertoli ?

@javierbertoli
Copy link
Contributor

Sorry for not responding before, but those 'few hours' turned to be 'A FEW' 😋

We added a provision script to make it easier to deploy a single-host Arvados cluster. The script uses the arvados-formula and sets some variables to make it easier to get a cluster up and running.

@mr-c
Copy link
Collaborator Author

mr-c commented Nov 24, 2020

@javierbertoli 😂 Thanks for the update! Can that script be linked to from https://github.com/saltstack-formulas/arvados-formula#id4 ?

@javierbertoli
Copy link
Contributor

Sure! I'll add a reference to it under the Special Notes section

@mr-c
Copy link
Collaborator Author

mr-c commented Nov 24, 2020

@javierbertoli FYI, there is a broken link in the readme for the provision script: https://doc.arvados.org/v2.1/install/install-using-salt.html

@mr-c
Copy link
Collaborator Author

mr-c commented Nov 24, 2020

Does the single node install presume that one is using AWS? Or does it include SLURM as well?

@javierbertoli
Copy link
Contributor

The single-node install does not include SLURM: it is intended for an all-in-one-host installation, so it uses crunch-dispatch-local to run containers in the same instance.

The provision script can be run anywhere, so you can run it in an AWS instance and you'll get a single-node Arvados cluster there.

The Arvados formula allows you to install any dispatcher available, provided you configure the pillars the way you need them.

Arvados currently has three dispatchers:

  • crunch-dispatch-local (for single node installations),
  • arvados-dispatch-cloud (for dynamic compute on AWS or Azure) and
  • crunch-dispatch-slurm (for SLURM integration).

Adding support for other environments is possible. Pull requests are always welcome. Additionally, the Arvados team is happy to discuss adding support for specific environments.

@mr-c
Copy link
Collaborator Author

mr-c commented Nov 24, 2020

Thanks @javierbertoli ; can you also add that explanation to https://github.com/saltstack-formulas/arvados-formula ?

I hope @SasSwart and I can contribute a PR for for SLURM integration soon

arvados-bot pushed a commit to arvados/arvados that referenced this issue Dec 2, 2020
reported on [github](arvados/arvados-formula#3 (comment))

No issue #

Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants