๐ช โจ Azure Container Instance push pool infrastructure provisioning via the CLI
We're introducing an enhancement to the Azure Container Instance push pool experience. You can now conveniently provision necessary Azure infrastructure with the --provision-infra
flag during work pool creation, automating the provisioning of various Azure resources essential for ACI push pools, including resource groups, app registrations, service accounts, and more.
To provision Azure resources when creating an ACI push pool:
โฏ prefect work-pool create my-work-pool --provision-infra --type azure-container-instance:push
? Please select which Azure subscription to use: [Use arrows to move; enter to select]
โโโโโโณโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Name โ Subscription ID โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ โ Engineering โ 123 โ
โ > โ Azure subscription 1 โ 234 โ
โโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Provisioning infrastructure for your work pool my-work-pool will require: โ
โ โ
โ Updates in subscription Azure subscription 1 โ
โ โ
โ - Create a resource group in location eastus โ
โ - Create an app registration in Azure AD โ
โ - Create a service principal for app registration โ
โ - Generate a secret for app registration โ
โ - Assign Contributor role to service account โ
โ - Create Azure Container Instance โ
โ โ
โ Updates in Prefect workspace โ
โ โ
โ - Create Azure Container Instance credentials block aci-push-pool-credentials โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Proceed with infrastructure provisioning? [y/n]: y
Creating resource group
Provisioning infrastructure... โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 0% -:--:--Resource group 'prefect-aci-push-pool-rg' created in location 'eastus'
Creating app registration
Provisioning infrastructure... โโโโโโโโโบโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 20% -:--:--App registration 'prefect-aci-push-pool-app' created successfully
Generating secret for app registration
Provisioning infrastructure... โโโโโโโโโโโโโโโโโบโโโโโโโโโโโโโโโโโโโโโโโ 40% 0:00:06Secret generated for app registration with client ID 'abc'
ACI credentials block 'aci-push-pool-credentials' created
Assigning Contributor role to service account...
Provisioning infrastructure... โโโโโโโโโโโโโโโโโโโโโโโโโบโโโโโโโโโโโโโโโ 60% 0:00:06Contributor role assigned to service principal with object ID 'xyz'
Creating Azure Container Instance
Provisioning infrastructure... โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบโโโโโโโ 80% 0:00:04Container instance 'prefect-acipool-container' created successfully
Creating Azure Container Instance credentials block
Provisioning infrastructure... โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% 0:00:00
Infrastructure successfully provisioned for 'my-work-pool' work pool!
Created work pool 'my-work-pool'!
This marks a step forward in Prefect's Azure capabilities, offering you an efficient and streamlined process for leveraging Azure Container Instances to execute their workflows.
See the following pull request for implementation details:
โ #11275
๐ช ๐ฉ ๐ฐ Introducing the provision-infra
sub-command for enhanced push work pool management
This enhancement allows you to directly provision infrastructure for existing push work pools. Rather than recreating a work pool, you can provision necessary infrastructure and
update the existing work pool base job template with the following command:
โฏ prefect work-pool provision-infra my-work-pool
? Please select which Azure subscription to use: [Use arrows to move; enter to select]
โโโโโโณโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Name โ Subscription ID โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ โ Engineering โ 13d โ
โ > โ Azure subscription 1 โ 6h4 โ
โโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Provisioning infrastructure for your work pool my-work-pool will require: โ
โ โ
โ Updates in subscription Azure subscription 1 โ
โ โ
โ - Create a resource group in location eastus โ
โ - Create an app registration in Azure AD prefect-aci-push-pool-app โ
โ - Create/use a service principal for app registration โ
โ - Generate a secret for app registration โ
โ - Assign Contributor role to service account โ
โ - Create Azure Container Instance 'aci-push-pool-container' in resource group prefect-aci-push-pool-rg โ
โ โ
โ Updates in Prefect workspace โ
โ โ
โ - Create Azure Container Instance credentials block aci-push-pool-credentials โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Proceed with infrastructure provisioning? [y/n]: y
...
This PR bolsters support for efficient work pool management across diverse cloud environments, delivering a tool for seamless infrastructure setup.
See the following pull request for implementation details:
๐ฅ Enhancements
- Add a
suspend_flow_run
method to suspend a flow run โ #11291 - Limit the displayed work pool types when
--provision-infra
is used to only show supported work pool types - #11350 - Add the ability to publish
Infrastructure
blocks as work pools โ #11180 - Add the ability to publish
Process
blocks as work pools โ #11346 - Add a Prefect Cloud event stream subscriber โ #11332
- Enable storage of key/value information associated with a flow run โ #11342
- Delete flow run inputs when the corresponding flow run is delete โ #11352
๐งฐ Fixes
- Fix the
read_logs
return type to beList[Log]
โ #11303 - Fix an issue causing paused flow runs to become stuck in the
Paused
state โ #11284
๐ง Documentation
- Combine troubleshooting pages โ #11288
- Add Google Cloud Run V2 option to Serverless guide โ #11304
- Add
suspend_flow_run
to flows documentation โ #11300 - Add
work queues
tag to work pools concept page โ #11320 - Add missing Python SDK CLI items to the docs โ #11289
- Clarify SCIM + service accounts handling โ #11343
- Update the work pool concept document โ #11331