microsoft / microsoft/finops-toolkit

Managed exports don't work with MCA billing accounts or profiles

Open
#1,239 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Resolution: External Resolution: Support request Tool: Cost Management
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

🐛 Problem

When deploying a new FinOps hub, using an MCA billing account (Not EA), and configuring the settings.json scope correctly, exports are not created due to slashing errors. I've also been able to replicate this using a manual export. The issue is with the format of IDs that represent a billing profile.

For instance, my billing profile configured is: "/providers/Microsoft.Billing/billingAccounts/d72daa4b-365d-5b26-096a-6d60fcc2374e:b70206fd-4bbb-459a-9438-9ed9b524175f_2019-05-31"

Image

My ADF MI has been setup correctly and has the correct RBAC permissions on my MCA billing account.

The error in ADF: {"error":{"code":"BadRequest","message":"Request properties validation failed: Invalid deliveryInfo destination rootFolderPath; providers/Microsoft.Billing/billingAccounts/d72daa4b-365d-5b26-096a-6d60fcc2374e:b70206fd-4bbb-459a-9438-9ed9b524175f_2019-05-31' Value cannot contain any reserved url characters except forward slashes(/)"}}

Image

👣 Repro steps

TODO: Add repro steps below:

  1. Configure an export scope in the settings.json file.
  2. Wait for the ADF blob creation trigger to start the Export pipeline.
  3. See errors

🤔 Expected

ADF should be able to create exports.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the export scope in settings.json and the ADF blob creation trigger/export pipeline. Reproduce the failure using the MCA billing profile ID shown in the issue and trace where it becomes the deliveryInfo destination rootFolderPath. Done means an MCA export can be created without the reserved-character validation error.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.