Skip to content

Commit 482a07c

Browse files
Add Generic Openstack cloud provider (#433)
* changed the external/internal ip logic, improved scheduler settings and added comments * added tests * added OpenStackCluster tests * added openstack to test_imports * added cloud-config for openstack * added openstack to the docs * added openstack to the installation.rst * added openstacksdk to setup.py * added OpenStackCluster example * fixed some linting issues * fixed another set of linting issues * fixed yet another set of linting issues * fixed linting issues
1 parent 4753d3c commit 482a07c

File tree

11 files changed

+1812
-1
lines changed

11 files changed

+1812
-1
lines changed

ci/scripts/test_imports.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ test_import "aws" "import dask_cloudprovider.aws"
1919
test_import "azure" "import dask_cloudprovider.azure"
2020
test_import "digitalocean" "import dask_cloudprovider.digitalocean"
2121
test_import "gcp" "import dask_cloudprovider.gcp"
22+
test_import "openstack" "import dask_cloudprovider.openstack"

dask_cloudprovider/cloudprovider.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,18 @@ cloudprovider:
118118
image: "ubuntu-20.04" # Operating System image to use
119119
docker_image: "daskdev/dask:latest" # docker image to use
120120
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.
121+
122+
openstack:
123+
region: "RegionOne" # The name of the region where resources will be allocated in OpenStack. List available regions using: `openstack region list`.
124+
size: null # Openstack flavors define the compute, memory, and storage capacity of computing instances. List available flavors using: `openstack flavor list`
125+
auth_url: null # The authentication URL for the OpenStack Identity service (Keystone). Example: https://cloud.example.com:5000
126+
application_credential_id: null # The application credential id created in OpenStack. Create application credentials using: openstack application credential create
127+
application_credential_secret: null # The secret associated with the application credential ID for authentication.
128+
auth_type: "v3applicationcredential" # The type of authentication used, typically "v3applicationcredential" for using OpenStack application credentials.
129+
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`
130+
image: null # The OS image name or id to use for the VM. List available images using: `openstack image list`
131+
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`
132+
security_group: null # The security group name that defines firewall rules for instances. List available security groups using: `openstack security group list`
133+
external_network_id: null # The ID of the external network used for assigning floating IPs. List available external networks using: `openstack network list --external`
134+
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.
135+
docker_image: "daskdev/dask:latest" # docker image to use
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .instances import OpenStackCluster

0 commit comments

Comments
 (0)