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 Generic Openstack cloud provider #433

Merged
merged 13 commits into from
Sep 2, 2024
Merged
1 change: 1 addition & 0 deletions ci/scripts/test_imports.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ test_import "aws" "import dask_cloudprovider.aws"
test_import "azure" "import dask_cloudprovider.azure"
test_import "digitalocean" "import dask_cloudprovider.digitalocean"
test_import "gcp" "import dask_cloudprovider.gcp"
test_import "openstack" "import dask_cloudprovider.openstack"
15 changes: 15 additions & 0 deletions dask_cloudprovider/cloudprovider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,18 @@ cloudprovider:
image: "ubuntu-20.04" # Operating System image to use
docker_image: "daskdev/dask:latest" # docker image to use
bootstrap: true # It is assumed that the OS image does not have Docker and needs bootstrapping. Set this to false if using a custom image with Docker already installed.

openstack:
region: "RegionOne" # The name of the region where resources will be allocated in OpenStack. List available regions using: `openstack region list`.
size: null # Openstack flavors define the compute, memory, and storage capacity of computing instances. List available flavors using: `openstack flavor list`
auth_url: null # The authentication URL for the OpenStack Identity service (Keystone). Example: https://cloud.example.com:5000
application_credential_id: null # The application credential id created in OpenStack. Create application credentials using: openstack application credential create
application_credential_secret: null # The secret associated with the application credential ID for authentication.
auth_type: "v3applicationcredential" # The type of authentication used, typically "v3applicationcredential" for using OpenStack application credentials.
network_id: null # The unique identifier for the internal/private network in OpenStack where the cluster VMs will be connected. List available networks using: `openstack network list`
image: null # The OS image name or id to use for the VM. List available images using: `openstack image list`
keypair_name: null # The name of the SSH keypair used for instance access. Ensure you have created a keypair or use an existing one. List available keypairs using: `openstack keypair list`
security_group: null # The security group name that defines firewall rules for instances. List available security groups using: `openstack security group list`
external_network_id: null # The ID of the external network used for assigning floating IPs. List available external networks using: `openstack network list --external`
create_floating_ip: false # Specifies whether to assign a floating IP to each instance, enabling external access. Set to `True` if external connectivity is needed.
docker_image: "daskdev/dask:latest" # docker image to use
1 change: 1 addition & 0 deletions dask_cloudprovider/openstack/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .instances import OpenStackCluster
Loading
Loading