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

💡 Feature Request - Make all modules compatible with WhatIf mode #249

Open
olljanat opened this issue May 26, 2022 · 6 comments
Open
Labels
Area: Bicep Registry 🗄️ Issues / PR's related to Bicep Registry Area: Logging & Automation 📷 Issues / PR's related to Logging & Automation Area: Management Groups 🍻 Issues / PR's related to Management Groups Area: Networking 🌐 Issues / PR's related to Networking Area: Non-Resource Specific 🏷️ Things like tags, location etc. Area: Orchestration Modules ♻️ Modules that wrap/orchestrate other modules Area: Policy 📝 Issues / PR's related to Policy Area: RBAC 🛂 Issues / PR's related to RBAC Needs: External Changes ⚙️ When an issue/PR requires changes that are outside of the control of this repo Status: Long Term ⌛ We will do it, but will take a longer amount of time due to complexity/priorities Type: Enhancement ✨ New feature or request Type: Hygiene 🧹 Things related to testing, issue triage etc. Type: Upstream Dependency ⬆️ something must happen before start something else

Comments

@olljanat
Copy link
Contributor

olljanat commented May 26, 2022

Describe the solution you'd like

Picked up from https://github.com//issues/244#issuecomment-1137199634

I see that ability to be able to run pull requests with WhatIf mode against of production is very critical as other why it is not possible to have GIT repo with CI to production and multiple persons contributing to code without high risk to break things.

That why pull request validation here should contains following steps for all modules:

  1. Deploy
  2. Deploy again with WhatIf mode
  3. Check output from WhatIf to make sure that it does not find differences between code and environment.

Tricky part is long list of known issues listed on https://aka.ms/WhatIfIssues which can be only fixed by Microsoft.

Status per module:

Ready Order Module e2e WhatIf enabled on PR Known issues preventing WhatIf
1 Management Groups #250 #276 -
2 Custom Policy Definitions
3 Custom Role Definitions
4 Logging & Sentinel
5 Hub Networking
6 Role Assignments
7 Subscription Placement
8 Built-In and Custom Policy Assignments
9 Corp Connected Spoke Network

Describe alternatives you've considered

I really don't see good alternatives for this.

Additional context

I did drop cleaned copy of my draft solution about how to use ALZ-Bicep with Azure DevOps CI to https://github.com/olljanat/alz-bicep-ci and it already contains WhatIf verification for pull requests on those parts which I have got working.

@ghost ghost added the Needs: Triage 🔍 Needs triaging by the team label May 26, 2022
@jtracey93 jtracey93 added Area: Policy and removed Needs: Triage 🔍 Needs triaging by the team labels May 26, 2022
@jtracey93
Copy link
Contributor

Thanks for raising this @olljanat we will triage properly once #227 is merged

@olljanat
Copy link
Contributor Author

FYI. I did figure out that if you run az deployment group what-if with flag --no-pretty-print then API will return JSON which can be easily parsed with PowerShell (included example to my )

@jtracey93
Copy link
Contributor

Ado sync

@olljanat
Copy link
Contributor Author

olljanat commented Oct 6, 2022

FYI. As result of my ticket 2208010050001440 I ended up to creating this post https://feedback.azure.com/d365community/idea/2adb098a-4845-ed11-a81b-000d3a7b5d8c which was requested by Microsoft Support which they hoped to be able to use to raise this idea for wider awareness.

@4pplied 4pplied self-assigned this Jan 10, 2023
@4pplied 4pplied removed their assignment Jan 11, 2023
@gaoyarui
Copy link

You can make somethings leave,such as learning lecture, besides nature labor.

@FallenHoot
Copy link
Contributor

It should be noted that What-If is currently having issues with ARM/Bicep as stated here issue 157. This should be added to the overall list.

@oZakari oZakari moved this from Backlog to Blocked in Azure Landing Zones - Bicep - Public Roadmap Feb 5, 2024
@oZakari oZakari added Status: Long Term ⌛ We will do it, but will take a longer amount of time due to complexity/priorities Type: Upstream Dependency ⬆️ something must happen before start something else Type: Hygiene 🧹 Things related to testing, issue triage etc. Area: Bicep Registry 🗄️ Issues / PR's related to Bicep Registry Area: Policy 📝 Issues / PR's related to Policy Area: Logging & Automation 📷 Issues / PR's related to Logging & Automation Area: Management Groups 🍻 Issues / PR's related to Management Groups Area: Networking 🌐 Issues / PR's related to Networking Area: Non-Resource Specific 🏷️ Things like tags, location etc. Area: Orchestration Modules ♻️ Modules that wrap/orchestrate other modules Area: RBAC 🛂 Issues / PR's related to RBAC Type: Enhancement ✨ New feature or request Needs: External Changes ⚙️ When an issue/PR requires changes that are outside of the control of this repo and removed long-term labels Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Bicep Registry 🗄️ Issues / PR's related to Bicep Registry Area: Logging & Automation 📷 Issues / PR's related to Logging & Automation Area: Management Groups 🍻 Issues / PR's related to Management Groups Area: Networking 🌐 Issues / PR's related to Networking Area: Non-Resource Specific 🏷️ Things like tags, location etc. Area: Orchestration Modules ♻️ Modules that wrap/orchestrate other modules Area: Policy 📝 Issues / PR's related to Policy Area: RBAC 🛂 Issues / PR's related to RBAC Needs: External Changes ⚙️ When an issue/PR requires changes that are outside of the control of this repo Status: Long Term ⌛ We will do it, but will take a longer amount of time due to complexity/priorities Type: Enhancement ✨ New feature or request Type: Hygiene 🧹 Things related to testing, issue triage etc. Type: Upstream Dependency ⬆️ something must happen before start something else
Development

No branches or pull requests

6 participants