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

casahtcdaskgateway-0.2.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

casahtcdaskgateway-0.2.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file casahtcdaskgateway-0.2.0.tar.gz.

File metadata

  • Download URL: casahtcdaskgateway-0.2.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for casahtcdaskgateway-0.2.0.tar.gz
Algorithm Hash digest
SHA256 367b58797c34265e607f6df775113f48215eecdfab3639da0b3ef86a4a423610
MD5 109795d1126c712a9247d5a8c47c5bd5
BLAKE2b-256 539991f9f62f4be3e8d399c9f85f7901848b111e107e0b60b79950d683f6a0c8

See more details on using hashes here.

File details

Details for the file casahtcdaskgateway-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for casahtcdaskgateway-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cd79a5c3e5d6c8414c0740e80aad022555d40a5d4d687d6a881316e6b194e4f
MD5 a2163f96b87ad4829a876a828481116b
BLAKE2b-256 c0e510f714b91614132476b5003cae746cd2cea18428d20111d0ae24c5871f74

See more details on using hashes here.

Supported by

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