Skip to main content

Launches a Dask Gateway cluster in K8s and joins HTCondor workers to it

Project description

HTCdaskGateway

  • A Dask Gateway client extension for heterogeneous cluster mode combining the Kubernetes backend for pain-free scheduler networking, with COFFEA-powered HTCondor workers and/or OKD [coming soon].
  • Latest PyPI version is installed by default and deployed to the COFFEA-DASK notebook on EAF (https://analytics-hub.fnal.gov). A few lines will get you going!
  • The current image for workers/schedulers is: coffeateam/coffea-dask-cc7-gateway:0.7.12-fastjet-3.3.4.0rc9-g8a990fa

Basic usage @ Fermilab EAF

  • Make sure the notebook launched supports this functionality (COFFEA-DASK notebook)
from htcdaskgateway import HTCGateway

gateway = HTCGateway()
cluster = gateway.new_cluster()
cluster

# Scale my cluster to 5 HTCondor workers
cluster.scale(5)

# Obtain a client for connecting to your cluster scheduler
# Your cluster should be ready to take requests
client = cluster.get_client()
client

# When computations are finished, shutdown the cluster
cluster.shutdown()

Other functions worth checking out

  • This is a multi-tenant environment, and you are authenticated via JupyterHub Oauth which means that you can create as many* clusters as you wish
  • To list your clusters:
# Verify that the gateway is responding to requests by asking to list all its clusters
clusters = gateway.list_clusters()
clusters
  • To connect to a specific cluster from the list:
cluster = gateway.connect(cluster_name)
cluster
cluster.shutdown()
  • To gracefully close the cluster and remove HTCondor worker jobs associated to it:
cluster.shutdown()
  • There are widgets implemented by Dask Gateway. Make sure to give them a try from your EAF COFFEA notebook, just execute the the client and cluster commands (after properly initializing them) in a cell like:
-------------
cluster = gateway.new_cluster()
cluster
< Widget will appear after this step>
-------------
client = cluster.get_client()
client
< Widget will apear after this step >
-------------
cluster
< Widget will appear after this step >

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

htcdaskgateway-0.1.7.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

htcdaskgateway-0.1.7-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file htcdaskgateway-0.1.7.tar.gz.

File metadata

  • Download URL: htcdaskgateway-0.1.7.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for htcdaskgateway-0.1.7.tar.gz
Algorithm Hash digest
SHA256 55a45be7ed7cb90b5ba364d0bb224422f73ba97ec0779cc8b681e99143fa5834
MD5 c3f0f54fed0cce12febf30638a3cd86a
BLAKE2b-256 5f4558446b28fc71573d7149cea07e96b9c650b3e3060b449325a085becc94e8

See more details on using hashes here.

File details

Details for the file htcdaskgateway-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for htcdaskgateway-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a66ac009c6d7e8f9fdb369b797e9b05c4a9c612b8a830a8e8893f753bb941a37
MD5 7d7b05648a2a1083f222e5ca6c26ca9f
BLAKE2b-256 acadfe0c1329b555abe4d3aa83b14ef3daafe8ef7c8a522f8d9f2b38a995f96e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page