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 support for Azure low-priority VMs #4527

Merged
merged 2 commits into from
Nov 21, 2023
Merged

Add support for Azure low-priority VMs #4527

merged 2 commits into from
Nov 21, 2023

Conversation

pditommaso
Copy link
Member

This PR adds initial support for Azure Low-priority VMs by adding a new lowPriority boolean option to the azure pool settings

Copy link

netlify bot commented Nov 20, 2023

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit a2c69f3
🔍 Latest deploy log https://app.netlify.com/sites/nextflow-docs-staging/deploys/655ca99d64d5800008288e6a

@pditommaso pditommaso linked an issue Nov 20, 2023 that may be closed by this pull request
@pditommaso pditommaso marked this pull request as draft November 20, 2023 20:02
@pditommaso pditommaso marked this pull request as ready for review November 21, 2023 12:59
@pditommaso
Copy link
Member Author

@adamrtalbot should be ok now

@adamrtalbot
Copy link
Collaborator

Just had a go with the following and I span up a low-priority set pool. Thanks @pditommaso!

workDir = "$AZURE_BATCH_WORK_DIR"

process {
    executor = 'azurebatch'

}

azure {
    storage {
        accountName   = "$AZURE_STORAGE_ACCOUNT_NAME"
        accountKey    = "$AZURE_STORAGE_ACCOUNT_KEY"
    }
    batch {
        location      = "$AZURE_BATCH_ACCOUNT_REGION"
        accountName   = "$AZURE_BATCH_ACCOUNT_NAME"
        accountKey    = "$AZURE_BATCH_ACCOUNT_KEY"
        autoPoolMode  = true
        pools {
            auto {
                vmType      = 'Standard_E2d_v4'
                lowPriority = true
            }
        }
    }
}

Command:

nextflow-dev run hello

Result:
image

@adamrtalbot
Copy link
Collaborator

And an autopool version:

workDir = "$AZURE_BATCH_WORK_DIR"

process {
    executor = 'azurebatch'

}

azure {
    storage {
        accountName   = "$AZURE_STORAGE_ACCOUNT_NAME"
        accountKey    = "$AZURE_STORAGE_ACCOUNT_KEY"
    }
    batch {
        location      = "$AZURE_BATCH_ACCOUNT_REGION"
        accountName   = "$AZURE_BATCH_ACCOUNT_NAME"
        accountKey    = "$AZURE_BATCH_ACCOUNT_KEY"
        autoPoolMode  = true
        pools {
            auto {
                vmType      = 'Standard_E2d_v4'
                lowPriority = true
                autoScale = true
            }
        }
    }
}

image

@pditommaso
Copy link
Member Author

Nice, let's merge

@pditommaso pditommaso merged commit 8320ea1 into master Nov 21, 2023
22 checks passed
@pditommaso pditommaso deleted the azure-low-pri branch November 21, 2023 15:54
@abhi18av
Copy link
Member

Great work guys - I believe this one is definitely worth having in the LTS version!

We can make use of the Low priority VMs as part of Azure megatests on the nf-core side.

@pditommaso
Copy link
Member Author

We can give it a try

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Native configuration supports Azure low-priority or spot VMs
4 participants