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

Add hub config for geospatial workshop #508

Merged
merged 17 commits into from
Jul 21, 2021

Conversation

sgibson91
Copy link
Member

@sgibson91 sgibson91 commented Jul 12, 2021

This PR adds a config file to deploy a hub for the Geospatial Workshop being held in Ghana later this month.

Done:

  • Deploys a daskhub
  • Uses Google authentication
  • list of admins
  • user limits for dask
  • URL setup in NameCheap

Needs:

  • Review and merge

related to: #473

@sgibson91 sgibson91 marked this pull request as draft July 13, 2021 14:03
@sgibson91
Copy link
Member Author

I have pushed a commit with folks gmail account for admin access (mostly copy-pasted from configs on the 2i2c cluster). If your email is not there and you'd like it to be, please feel free to add it!

@sgibson91
Copy link
Member Author

I have tried to set some limits for singleuser and dask gateway by borrowing config from pangeo:

Would love to know if I'm on the right lines with this in terms of (i) is this correct config? (ii) will it achieve Paige's desires in #473 (comment)?

@sgibson91
Copy link
Member Author

sgibson91 commented Jul 15, 2021

In order to set the URL/DNS stuff, I tried deploying the hub with proxy.https.enabled = false using the deployer locally, but ran into the following error

auth0.v3.exceptions.Auth0Error: 403: You reached the limit of entities of this type for this tenant.

https://auth0.com/docs/policies/entity-limit-policy?_gl=1*1ulg0hl*rollup_ga*ODY5Njk2MDcyLjE2MjM4NTg3NDc.*rollup_ga_F1G3E656YZ*MTYyNjM1NjE4Ny4zLjEuMTYyNjM1NjE5OS40OA

This is a bug in creating duplicate auth0 apps. Issue filed: #519

@sgibson91
Copy link
Member Author

sgibson91 commented Jul 15, 2021

I'm having trouble with the NFS server for deployment.

  • I created a VM on pangeo-181919 like the nfs-server-01 VM under two-eye-two-see
  • On that VM, I created /etc/exports and wrote /export/home-01 10.0.0.0/8(all_squash,anonuid=1000,anongid=1000,no_subtree_check,rw,sync) to it

However, the nfs-share-creator is still in ContainerCreating mode with FailedMount events for the volume "home-base". I'm not sure what to do next 😕

@damianavila
Copy link
Contributor

damianavila commented Jul 15, 2021

Would love to know if I'm on the right lines with this in terms of (i) is this correct config? (ii) will it achieve Paige's desires in #473 (comment)?

I think you are going in the right direction, but I am not a Dask guy 😉
@yuvipanda, do you know if the options that are available here: https://github.com/2i2c-org/pilot-hubs/blob/master/hub-templates/daskhub/values.yaml#L183 are somehow "enforced/restricted" by the limits @sgibson91 wants to use in the config file?

I'm having trouble with the NFS server for deployment.

IIRC, @yuvipanda had some issues in the past related to an "insecure" flag

NFS server was again set up manually, and needed the insecure
flag - even though other hubs are setup the same way and didn't
need this. NFS situation needs to be sorted.

Not sure if that is relevant here... but I just remembered it 😛 !

@sgibson91
Copy link
Member Author

I think a lot of this is that I'm totally new to setting up NFS servers! I've just managed to work out that it helps to have the NFS packages installed on the VM! 😝

- Add top level basehub and dask-gateway keys
- Enable loadbalancer and https in proxy
@sgibson91
Copy link
Member Author

sgibson91 commented Jul 16, 2021

I have been playing around and the hub is definitely not happy. The hub is not reachable by it's external IP or the URL http://coessing.pangeo.2i2c.cloud

Main error statement from tests is below (annoyingly, including the truncation 😞 )

FAILED deployer/tests/test_hub_health.py::test_hub_healthy - aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host coessing.pangeo.2i2c.cloud:443 ssl:default [Connect call f...

@damianavila
Copy link
Contributor

The hub is not reachable by it's external IP or the URL http://coessing.pangeo.2i2c.cloud

I just tried that URL and I was able to, at least, reach it...

@sgibson91
Copy link
Member Author

Thanks @damianavila! I should be more patient with DNS things 😆 I will come back to this today

@sgibson91
Copy link
Member Author

Ha, this was 💯 me not being patient enough with DNS stuff! Hub check now passes and I can log in! 🎉

@sgibson91 sgibson91 changed the title [WIP] Add hub config for geospatial workshop Add hub config for geospatial workshop Jul 19, 2021
@sgibson91 sgibson91 marked this pull request as ready for review July 19, 2021 09:40
@sgibson91 sgibson91 requested a review from yuvipanda July 19, 2021 09:40
@damianavila
Copy link
Contributor

Quick general question, we usually have staging and prod hubs on each cluster we create, ie. https://github.com/2i2c-org/pilot-hubs/blob/master/config/hubs/meom-ige.cluster.yaml
I am only seeing one hub in this config, is that intended?

@sgibson91
Copy link
Member Author

Quick general question, we usually have staging and prod hubs on each cluster we create, ie. https://github.com/2i2c-org/pilot-hubs/blob/master/config/hubs/meom-ige.cluster.yaml
I am only seeing one hub in this config, is that intended?

Yeah. I guess because I'm envisioning both this hub being brought down after the workshop, and the cluster it's on being destroyed once the appropriate constraints have been lifted/amended on the new Pangeo account.

Copy link
Member

@choldgraf choldgraf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me! I'll defer to @damianavila to make sure that his questions are resolved!

"type": "ENC[AES256_GCM,data:mJFhTAgDkzazdN3XqSZk,iv:ZAc39oA/yaK4Fjll2113xkuP1JazR7p4zMw5NDyJa7M=,tag:IpjlDkcrQ7oxq8iNALMo8A==,type:str]",
"project_id": "ENC[AES256_GCM,data:muHRDdmA0GGj+6QL/A==,iv:BfTAtG/gBo4tSo4nB/tGnp6mfVnFRwWL/KEhWvkz6yw=,tag:gFyOTvrXPcUDnumAWEmP7Q==,type:str]",
"private_key_id": "ENC[AES256_GCM,data:U2t/nyG+vjYXsu4MkfNsPMHTCrxbn1nvhMdrWkwEhGFwNW322lJtRg==,iv:+MpwV8skwmY1I5OI/0FrAXJ2rj1XjzG0BpEhUjSiRQM=,tag:0bn6QU/JHJZr8qhiEtgZ7g==,type:str]",
"private_key": "ENC[AES256_GCM,data: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,iv:flmqreoxX3ivKFHNupXfOk+oAMRPhtrS1FSuVURMwKI=,tag:QggMaEZFUzGfUGxJCRygMw==,type:str]",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it a problem that I can see the text for all of these? Or are they properly encoded? :-)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are encoded as prefaced by the ENC part of the value. Compare, for example, with the key for the 2i2c cluster: https://github.com/2i2c-org/pilot-hubs/blob/master/secrets/2i2c.json I think what makes sops a little more clever than, say, git-crypt is that it encrypts the actual values, not just the whole file. So you can visually check the structure is as expected without also needing to see the secret part.

Copy link
Contributor

@damianavila damianavila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have one remaining question but I will open a new issue to follow up on that discussion.
AFAIK, this one is already deployed and working.
LGTM.

@sgibson91
Copy link
Member Author

Ok, this is all up-to-date now, I'm gonna merge!

@sgibson91 sgibson91 merged commit 2062a82 into 2i2c-org:master Jul 21, 2021
@choldgraf
Copy link
Member

🚀🚀🚀

@sgibson91 sgibson91 deleted the new-hub/ghana-workshop branch August 5, 2021 10:23
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

Successfully merging this pull request may close these issues.

4 participants