Skip to content

AN-649 Remove Azure Code, Round 1#4866

Merged
jgainerdewar merged 46 commits into
developfrom
jd_AN-649_removeAzureCode
Jul 23, 2025
Merged

AN-649 Remove Azure Code, Round 1#4866
jgainerdewar merged 46 commits into
developfrom
jd_AN-649_removeAzureCode

Conversation

@jgainerdewar

@jgainerdewar jgainerdewar commented Jul 8, 2025

Copy link
Copy Markdown
Contributor

Jira ticket: https://broadworkbench.atlassian.net/browse/AN-649

Summary of changes

Round 1 of ripping out all Azure support code. The focus of this changeset is removing all the code that actually does things on Azure. In Round 2 (or maybe 3), we'll remove all the unused database tables and fully strip Azure concerns from the codebase.

Open question: should we take out app update functionality?

Testing these changes

What to test

Who tested and where

  • This change is covered by automated tests
    • NB: Rerun automation tests on this PR by commenting jenkins retest or jenkins multi-test.
  • I validated this change
  • Primary reviewer validated this change
  • I validated this change in the dev environment

@jgainerdewar jgainerdewar requested a review from a team as a code owner July 8, 2025 18:29
@jgainerdewar jgainerdewar changed the base branch from jd_AN-648_dbAzureCleanup to develop July 9, 2025 13:37
@jgainerdewar

Copy link
Copy Markdown
Contributor Author

Temporarily changing base to run tests, will need to change back to jd_AN-648_dbAzureCleanup

@codecov

codecov Bot commented Jul 9, 2025

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 70.37037% with 56 lines in your changes missing coverage. Please review.

Project coverage is 72.70%. Comparing base (76a4e5b) to head (9861291).
Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
...rdo/monitor/leoPubsubMessageSubscriberModels.scala 0.00% 26 Missing ⚠️
.../leonardo/monitor/LeoPubsubMessageSubscriber.scala 74.35% 10 Missing ⚠️
...workbench/leonardo/monitor/LeoMetricsMonitor.scala 40.00% 6 Missing ⚠️
...ute/dsde/workbench/leonardo/kubernetesModels.scala 0.00% 4 Missing ⚠️
...e/dsde/workbench/leonardo/http/api/AppRoutes.scala 95.12% 4 Missing ⚠️
...sde/workbench/leonardo/monitor/MonitorAtBoot.scala 33.33% 2 Missing ⚠️
...titute/dsde/workbench/leonardo/runtimeModels.scala 0.00% 1 Missing ⚠️
...ch/leonardo/http/BaselineDependenciesBuilder.scala 0.00% 1 Missing ⚠️
...dinstitute/dsde/workbench/leonardo/http/Boot.scala 0.00% 1 Missing ⚠️
.../workbench/leonardo/http/api/RuntimeV2Routes.scala 75.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #4866      +/-   ##
===========================================
- Coverage    74.61%   72.70%   -1.91%     
===========================================
  Files          166      142      -24     
  Lines        14624    11825    -2799     
  Branches      1160      959     -201     
===========================================
- Hits         10911     8597    -2314     
+ Misses        3713     3228     -485     
Files with missing lines Coverage Δ
...dinstitute/dsde/workbench/leonardo/JsonCodec.scala 76.65% <ø> (-0.30%) ⬇️
...nstitute/dsde/workbench/leonardo/azureModels.scala 0.00% <ø> (ø)
...stitute/dsde/workbench/leonardo/LeoPublisher.scala 60.00% <ø> (+8.93%) ⬆️
...orkbench/leonardo/config/KubernetesAppConfig.scala 100.00% <100.00%> (ø)
...orkbench/leonardo/db/RuntimeServiceDbQueries.scala 96.69% <ø> (ø)
...rkbench/leonardo/http/AppDependenciesBuilder.scala 94.91% <100.00%> (-2.99%) ⬇️
...bench/leonardo/http/AzureDependenciesBuilder.scala 96.96% <100.00%> (-0.18%) ⬇️
...rkbench/leonardo/http/GcpDependenciesBuilder.scala 72.83% <100.00%> (-0.32%) ⬇️
.../dsde/workbench/leonardo/http/api/HttpRoutes.scala 98.43% <100.00%> (-0.12%) ⬇️
...ch/leonardo/http/service/LeoAppServiceInterp.scala 85.48% <100.00%> (-1.90%) ⬇️
... and 14 more

... and 14 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 76a4e5b...9861291. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aednichols aednichols left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a cursory review of the changed files and everything seems reasonable.

I trust our compiler and tests on this one, the code was pretty modular and cleanly excised.

def tclExclusions(m: ModuleID): ModuleID = m.excludeAll(excludeSpringBoot, excludeSpringAop, excludeSpringData, excludeSpringFramework, excludeOpenCensus, excludeGoogleFindBugs, excludeBroadWorkbench, excludePostgresql, excludeSnakeyaml, excludeSlf4j, excludeCommonsText, excludeLiquibase, excludeOpenTelemetry, excludeFlagsmith)
val workspaceManager = excludeJakarta("bio.terra" % "workspace-manager-client" % workSpaceManagerV)
val bpm = excludeJakarta("bio.terra" % "billing-profile-manager-client" % bpmV)
def tclExclusions(m: ModuleID): ModuleID = m.excludeAll(excludeSpringBoot, excludeSpringAop, excludeSpringData, excludeSpringFramework, excludeOpenCensus, excludeGoogleFindBugs, excludeBroadWorkbench, excludePostgresql, excludeSnakeyaml, excludeSlf4j, excludeCommonsText, excludeLiquibase, excludeFlagsmith)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Un-excluding opentelemetry from TCL - looks like it was coming in via BPM before. This resolves the NoClassDefFound errors I saw after removing WSM and BPM client libraries.

@lucymcnatt lucymcnatt self-requested a review July 16, 2025 18:57

@lucymcnatt lucymcnatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good! Just left a few questions on what was removed vs. not

implicit val createAppDecoder: Decoder[CreateAppRequest] =
Decoder.instance { x =>
for {
c <- x.downField("kubernetesRuntimeConfig").as[Option[KubernetesRuntimeConfig]]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a nit since I know this is moved from elsewhere, I've never been a big fan of the acronym/letter vars here...

}
}

it should "list runtimes v2 with a workspace" in {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we're keeping around listRuntimeV2, should we also keep the tests?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'll double-check this - there were two listRuntime methods, one with workspace and one without, and we kept only the no-workspace one.

@jgainerdewar jgainerdewar requested a review from lucymcnatt July 22, 2025 17:29

@lucymcnatt lucymcnatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for taking on this huge cleanup

@jgainerdewar jgainerdewar merged commit 5d62883 into develop Jul 23, 2025
30 of 32 checks passed
@jgainerdewar jgainerdewar deleted the jd_AN-649_removeAzureCode branch July 23, 2025 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants