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

Azure metadata tags (resource labels) propagation for child jobs #3248

Closed
abhi18av opened this issue Sep 27, 2022 · 10 comments · Fixed by #4178
Closed

Azure metadata tags (resource labels) propagation for child jobs #3248

abhi18av opened this issue Sep 27, 2022 · 10 comments · Fixed by #4178

Comments

@abhi18av
Copy link
Member

New feature

With the recent improvements to resource labelling d64eeff and #2853 , it'd be great if the child jobs can be tagged on Azure Batch executor as well.

Usage scenario

When submitting jobs to Azure Batch with Nextflow, the tags provided as the process level should be propagated to the generated job definitions.

Suggest implementation

We would need to implement the current labelling mechanism within the AzBatchService, by (probably) enhancing the createPool implementation.

The metadata tags would show up at the job metadata menu on the portal

image

@stale
Copy link

stale bot commented Mar 18, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Mar 18, 2023
@pditommaso pditommaso added this to the 23.10.0 milestone Mar 18, 2023
@stale stale bot removed the stale label Mar 18, 2023
@Takadonet
Copy link

Propagation tags to child resources will allow for cost tracking. Our need is to trace back all cost associated by group, project and individuals which tags enable.

@pditommaso pditommaso assigned bentsherman and unassigned abhi18av Mar 20, 2023
@pditommaso
Copy link
Member

This should be a quick win. tagging @bentsherman

@bentsherman
Copy link
Member

Looking at AzBatchService.getOrCreatePool(), it looks like Nextflow tries to create a new pool only if an identical one doesn't already exist. So if different resource labels are specified for different processes, Nextflow should create a different pool for each one. Does that mean we need to insert the resource labels as metadata in the AzVmPoolSpec class, during specFromPoolConfig and specFromAutoPool ?

@abhi18av
Copy link
Member Author

Judging from the codebase of JobOperations perhaps we should explore tagging at the job level itself and therefore, whichever pool the job gets allocated it would have that metadata 🤔

@Takadonet
Copy link

Will job level tagging appear in the Cost analysis page for the subscription? Do not believe so. If so, that would be very fine grain knowledge which be awesome.

@pditommaso
Copy link
Member

I'm wondering if the concept of metadata in Azure is the same as tags in AWS ?

@abhi18av
Copy link
Member Author

I think the Cost Analysis does allow filtering based on the tag dimension and here's the relevant information.

https://learn.microsoft.com/en-gb/azure/cost-management-billing/costs/understand-cost-mgt-data#how-tags-are-used-in-cost-and-usage-data

Perhaps @vsmalladi might be able to check/confirm this faster. But I could do some quick experimentation and circle back, I'd need to initiate a set of runs for the same.

@vsmalladi
Copy link
Contributor

@abhi18av will take a look at this issue today.

@abhi18av
Copy link
Member Author

Thanks mate - happy to collaborate via Nextflow slack.

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

Successfully merging a pull request may close this issue.

5 participants